zoukankan      html  css  js  c++  java
  • Unity物理引擎—角色控制器

    Unity已经帮我们实现了“上,下,左,右,跳跃”等相对复杂的逻辑操作,并且将他们封装成了角色控制器组件。角色控制器组件和刚体组件均具备物理引擎功能,只是角色控制器组件的物理效果没有刚体组件精确。调用角色控制器需先添加Character Controller资源包,然后选中游戏对象,在导航菜单中选择“Component”——“Physics”——Character Controller即可。我们通过调用角色控制器组件的

    SimpleMove()或者是Move()方法可实现Player的移动,但是需要说明的是SimpleMove()方法只适合平面移动,及在X轴和Z轴上移动,而Move()则适用于X,Y,Z三个空间轴上的移动,所以实际开发中尽量选择Move()方法。下面贴出脚本:

     

    using UnityEngine;

    using System.Collections;

    public class controller_move_test : MonoBehaviour {

    private CharacterController controler=null;//定义角色控制器对象

    private float movespeed=5.0f;//每一帧移动速度

    private float rotatespeed=3.0f;//每一帧旋转速度

    // Use this for initialization

    void Start () {

       controler=GetComponent<CharacterController>();//获取角色控制器组件

    }

    // Update is called once per frame

    void Update () {

    }

     

    void OnGUI(){

        //左转

      if(GUILayout.RepeatButton("rotate left")){

        transform.Rotate(0,-rotatespeed,0);

    }

      //右转

      if(GUILayout.RepeatButton("rotate right")){

        transform.Rotate(0,rotatespeed,0);

    }

      //前移

      if(GUILayout.RepeatButton("forward")){

        Vector3 forward=transform.TransformDirection(Vector3.forward);

        controler.Move(forward*movespeed);

     

    }

        //后移

      if(GUILayout.RepeatButton("back")){

        Vector3 forward=transform.TransformDirection(Vector3.forward);

        controler.Move(forward*-movespeed);

    }

      //上移

      if(GUILayout.RepeatButton("up")){

        transform.Translate(0,1,0);

    }

        下移

      if(GUILayout.RepeatButton("down")){

     

        transform.Translate(0,-1,0);

     

    }

     

    }

     

    }

  • 相关阅读:
    基本类型数组与包装类型数组相互转换
    (转载)JVM中的内存模型与垃圾回收
    Python之threading多线程
    Python之基于socket和select模块实现IO多路复用
    Python之利用socketserver实现并发
    Python的网络编程socket模块
    Python设计模式之一(单例模式)
    Python异常处理
    Python面向对象之常用的特殊方法(5)
    Python面向对象之私有方法(4)
  • 原文地址:https://www.cnblogs.com/niguang/p/niguangnishi.html
Copyright © 2011-2022 走看看