3d 键盘控制位移:解释
来源:互联网 发布:求生之路2 mac 编辑:程序博客网 时间:2024/06/06 02:38
using System.Collections.Generic;using UnityEngine;[RequireComponent(typeof(CharacterController))][AddComponentMenu("Control Script/FPS Input")]//确保脚本加载了其他需要的组件public class FPSInput : MonoBehaviour { public float speed = 3.0f; public float gravity = -9.8f; //设置重力,让物体在路上走,设为0可以飞行 //角色控制器让你在受制于碰撞的情况下很容易的进行运动,而不用处理刚体。 private CharacterController _charController; void Start () { _charController = GetComponent<CharacterController> (); } void Update () { //由键盘按键,控制坐标速度 float deltaX = Input.GetAxis ("Horizontal") * speed; float deltaZ = Input.GetAxis ("Vertical") * speed; // transform.Translate (deltaX, 0, deltaZ); //(一)--------------不好用,会由计算机的性能产生差异 //transform.Translate(deltaX * Time.deltaTime, 0, deltaZ * Time.deltaTime); //(二)----------两帧的时间:Time.deltaTime //时间*速度=每调用一次update产生的位移,解决法(一)的缺点 //------------------------综合调用------------------------ Vector3 movement = new Vector3 (deltaX, 0, deltaZ); movement = Vector3.ClampMagnitude(movement,speed); movement.y = gravity; movement *= Time.deltaTime; //让移动独立于帧率 movement = transform.TransformDirection (movement); _charController.Move (movement) /*Vector3.ClampMagnitude:返回原向量的拷贝, 并且模最大不超过第二个参数所指示的长度。 功能:限制向量长度到一个特定的长度。 tranform.TransformDirection:变换方向从局部坐标转换到世界坐标。 说明是以世界为坐标轴左移,而不是以玩家的面向,两者可能截然不同 characterController:角色控制器不受力的影响, 仅当你调用Move函数时才运动。它执行的运动受制于碰撞。*/ }}
阅读全文
0 0
- 3d 键盘控制位移:解释
- 3d [FPS]键盘控制物体移动:纯代码
- 3D中的方位与角位移
- 3D Transformation 3D物体位移函数
- CSS3中的3D旋转 rotate、3D位移 translate
- led的位移控制
- 动画位移的控制
- 2、LED位移控制
- 控制物体位移
- 3D中的方位和角位移(3)
- 3D中的方位和角位移(8)
- 3D中的方位和角位移(7)
- 3D中的方位和角位移(6)
- 3D中的方位和角位移(5)
- 3D中的方位和角位移(4)
- 3D中的方位和角位移(2)
- 3D中的方位和角位移(1)
- 3D数学 方向、方位和角位移
- HMM隐马尔可夫模型(HMM)攻略
- centos6.9 oracle安装需注意的问题
- opencv---相机标定
- 利用二叉树求解表达式的值
- HMM一文搞懂HMM(隐马尔可夫模型)
- 3d 键盘控制位移:解释
- poj 1251 Jungle Roads
- RTMP协议
- PHP编码规范
- 关于死锁的一些知识点总结
- linux mysql5.7设置root密码
- jquery.cookie用法详细解析
- GBDT(MART) 迭代决策树入门教程
- 有限状态机