unity部分文章为学习记录,理解不是很深刻,主要用于自我学习总结,如果有纰漏请大佬轻喷。
一、通过position属性实现物体的运动
1、update循环中调用Vector3.movetowards,直接设置物体的position
输入的参数 | 终点位置、速度 |
使用场景 | 知道终点坐标 |
运动类型 | 匀速运动 |
示例代码:
//target [Vector3] 终点的position
//Speed [float] 匀速移动的速度,可以设为5.0f
void Update(){
transform.position = Vector3.MoveTowards(transform.position, target, Time.deltaTime * Speed);
}
2、update 循环中调用Vector.Lerp,直接设置物体的position
输入的参数 | 终点位置、速度 |
使用场景 | 知道终点坐标 |
运动类型 | 运动会越来越慢 |
//target [Vector3] 终点的position
//Speed [float] 匀速移动的速度,可以设为5.0f
void Update(){
transform.position = Vector3.Lerp(transform.position, target, Time.deltaTime * Speed);
}
3、transform的translate方法
输入的参数 | 运动的方向向量、速度 |
使用场景 | 不知道终点坐标,会一直运动下去 |
运动类型 | 匀速运动 |
//direction [Vector3] 运动的方向,可以设为(0,0,1)
//Speed [float] 匀速移动的速度,可以设为5.0f
void Update(){
transform.Translate(direction * Speed * Time.deltaTime);
}
二、基于刚体,通过力、加速度实现物体的运动
正在学习中
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。