马上注册,加入CGJOY,让你轻松玩转CGJOY。
您需要 登录 才可以下载或查看,没有帐号?立即注册
×
顾名思义,第一人称就是摄像机的主人是自己,可以看到别人,但是看不到自己。而我们经常玩的游戏可以看到自己,也可以看到别人,和地图上的物件,是以观众的角度来看,称之为第三人称摄像机
选中Hierarchy面板的摄像机对象,为摄像机增加角色控制
对角色进行适当的设置
Slope Limit : 最大爬坡角度
Step offset : 移动距离主意单位为米
u3d里面的所有单位都为米,比如坐标的位置,旋转的角度等
Skin width : 皮肤宽,据说设置这个穿越树林的时候能碰撞树枝摇摆,具体怎么样我还不知道
增加控制脚本
先打开Project面板,创建一个C# 代码文件,回到Hierarchy面板,选中MainCamera
选中菜单->Component -> scripts - >你刚才建立的脚本文件
用外部编辑器打开这个脚本文件,可以用mono或者visual studio 打开,什么意思呢,就是说u3d的项目文件可以用mono和vs打开
在Update方法里面粘贴下面的代码
// Update is called once per frame
void Update()
{
float speed = 3.0f;
float rotateSpeed = 3.0f;
//获取人称控制器组件
CharacterController controller = (CharacterController)base.GetComponent(typeof(CharacterController));
//水平方向旋转摄像头(方向键← → 或者 w s 键) , 玩游戏的人都知道
transform.Rotate(0, Input.GetAxis("Horizontal") * rotateSpeed, 0);
// 翻译当前坐标到世界坐标方向,就是说现在人物的前后左右到底在那个轴上面
// Vector3.forward 前
// Vector3.back 后
// Vector3.down 下
Vector3 forward = transform.TransformDirection(Vector3.forward);
// 获取当前垂直方向的输入(方向键↑↓ 或者 a d 键),玩游戏的人都知道
float curSpeed = speed * Input.GetAxis("Vertical");
// 移动,因为刚才翻译坐标的时候其他几个轴都设置成了0,所以只有有数值的那根轴会发生变化
controller.SimpleMove(forward * curSpeed);
}
|