Unity物体移动

2019-06-11 10:56:45 浏览数 (2)

FixedUpdate和Update的区别

FixedUpdate是固定秒数更新,Update是每帧更新一次。 Debug.Log(Time.deltaTime)输出两帧的间隔时间,在FixedUpdate里是固定值,默认为0.02s,在Update里是一个不断变化的值。 对于物理性质的移动,要用FixedUpdate,这是为了保证在不同设备和不同GPU状态下,真正的移动速度都是一样的,物理反应是同步的。

shader的选择

不同的shader类型,物体表面的纹理呈现不同的效果。

light设置
  • main light or key light
  • fill light
  • rim light(rim轮缘)
物体移动方法
代码语言:javascript复制
float horizontal = Input.GetAxis("Horizontal");
float vertical = Input.GetAxis("Vertical");
Vector3 movement = new Vector3(vertical,horizontal,0f);
GetComponent<Rigidbody>().velocity = speed * movement;
GetComponent<Rigidbody>().positon = new Vector3(
Mathf.Clamp(GetComponent<Rigidbody>().positon.x,xmin,xmax),
Mathf.Clamp(GetComponent<Rigidbody>().positon,y,ymin,ymax),
GetComponent<Rigidbody>().positon.z);
倾斜小技巧

根据左右移动的速度(velocity)给物体该方向上的一个小rotation,有一种物体快速往左移动时向左倾斜的感觉。

bloom post effect

带来霓虹灯、灯牌那种晕染出来的效果。

0 人点赞