控制人物移动两种简单方法:
方法一:通过对人物添加刚体组件实现移动;
原理:刚体的移动主要是通过对刚体一个向量力从而实现移动的!
代码如下:
public class Move:MonoBehaviour
{
//定义一个float类型变量
public float speed=5.0f;
void FixedUpdate()
{
// float类型变量 moveHorizontal用来得到水平输入的值;
float moveHorizontal=Input.GetAxis("Horizontal");
// float类型变量 moveHorizontal用来得到垂直输入的值;
float moveVertical=Input.GetAxis("Vertical ");
//用上面的水平和垂直输入的值创建一个Vector3变量,作为刚体的速度;
Vector3 movement=new Vector3(moveHorizontal,0.0f,moveVertical);
//获取组件刚体的移动速度并为其赋值;
GetComponent<Rigidbody>().velocity=movement*speed;
}
}
方法二:通过对人物添加characterController组件来控制;
原理:主要通过一个simpleMove方法来实现的!
代码如下:
public class CharacterControllerMove:MonoBehaviour{
//
public CharacterController controller;
//定义一个int类型变量;
private int speed=10;
void Start()
{
//获取到人物控制器组件;
controller=GetComponent<CharacterController>();
}
void Update()
{
//使用simplemove方法进行人物的移动;
controller.SimpleMove(new Vector3(Input.GetAxis("Horizontal")*speed,0,Input.GetAxis("Vertical")*speed));
}
}
好了,以上就是简单的移动方法了,写的不好的地方请多多指教吧!!!
哦!还有一点,很多人或许不太明白CharacterController与Rigidbody的区别;这里就简单说一下吧!
CharacterController是自带胶囊碰撞器,里面包含刚体属性;
Rigidbody就是刚体,使物体带有刚体的特征。
方法一:通过对人物添加刚体组件实现移动;
原理:刚体的移动主要是通过对刚体一个向量力从而实现移动的!
代码如下:
public class Move:MonoBehaviour
{
//定义一个float类型变量
public float speed=5.0f;
void FixedUpdate()
{
// float类型变量 moveHorizontal用来得到水平输入的值;
float moveHorizontal=Input.GetAxis("Horizontal");
// float类型变量 moveHorizontal用来得到垂直输入的值;
float moveVertical=Input.GetAxis("Vertical ");
//用上面的水平和垂直输入的值创建一个Vector3变量,作为刚体的速度;
Vector3 movement=new Vector3(moveHorizontal,0.0f,moveVertical);
//获取组件刚体的移动速度并为其赋值;
GetComponent<Rigidbody>().velocity=movement*speed;
}
}
方法二:通过对人物添加characterController组件来控制;
原理:主要通过一个simpleMove方法来实现的!
代码如下:
public class CharacterControllerMove:MonoBehaviour{
//
public CharacterController controller;
//定义一个int类型变量;
private int speed=10;
void Start()
{
//获取到人物控制器组件;
controller=GetComponent<CharacterController>();
}
void Update()
{
//使用simplemove方法进行人物的移动;
controller.SimpleMove(new Vector3(Input.GetAxis("Horizontal")*speed,0,Input.GetAxis("Vertical")*speed));
}
}
好了,以上就是简单的移动方法了,写的不好的地方请多多指教吧!!!
哦!还有一点,很多人或许不太明白CharacterController与Rigidbody的区别;这里就简单说一下吧!
CharacterController是自带胶囊碰撞器,里面包含刚体属性;
Rigidbody就是刚体,使物体带有刚体的特征。