设置步长
Edit - Grid and Snap Settings中的Move
设置步长
Edit - Grid and Snap Settings中的Move
每秒执行update()的时间,即FPS每秒执行帧数:
1/Time.deltaTime
每一帧时间平均差不多,但由于cpu的所处环境不同,会有一些偏差
给刚体施加力
.AddForce(方向*力);
缺点:通过力无法直观转成相应速度
直接设置速度
.velocity=方向*速度;
Translate. 变换
距离=速度*时间
1帧移动的距离=速度*1帧的时间
期望速度为h米/秒
因此translation=h*deltatime
准确来说,new Vector3(h, 0, 0)本身不是速度,而是我们期望的速度的值
按住CTRL可以按照给定的步长移动
Fixed FPS,默认50,可在edit-project setting time调整
编辑(Edit)>网格和捕捉设置(Grid and Sanp)>移动(Move)
Instantiate
Translate变换位置和方向
步移
按CTRL拖动鼠标按每次0.25进行复制,新版本可在edit中SNAP SETTING中设置
rollbaball
FPS越高,计算机性能越好。
gameobject是通过给刚体施加一个里来移动
float fh = Input.GetAxis("Horizontal");
rd.AddForce(new Vector3(fh,0,Input.GetAxis("Vertical")));
摄像机没有刚体可以使用transform组件
输入是从-1到1的变化;是一个变化过程,而不是直接改变,这是模拟现实中的加速度
如何控制物体的移动速度
Time.deltaTime获取上一帧消耗的时间
这个时候是时机的执行时间,这个时间不是固定和cpu,gpu的运行效率有关
update每秒执行的次数是不确定的;
fixUpdate每秒执行的次数是固定的(时间是自己设置的)
创建子弹:
实例化Prefbab(本质上也是一个gameobject)
GameObject.Instantiate(path,位置,旋转)
tansform.position;tansfrom.rotation
输入:Input
鼠标:GetMouseButtionDown
0:左键
刚体可以直接设置速度:
rd.velocity = Vector3..forward