第一章【萌新】关于Unity中2D物体移动
XmugBlog » Devlog
今天研究了研究Unity中2D物体的移动问题,大抵分为两类
一类是使用Transform.position, 强行修改物体位置,并根据Time.DeltaTime 进行渐进式移动。代码:
transform.position += target.transform.position-transform.position * speedScale * Time.deltaTime; // 非匀速运动
或者调用Unity库, MoveTowards
transform.position = Vector3.MoveTowards(transform.position, target.transform.position, speedScale * Time.deltaTime); //匀速运动
缺点是:可能导致人物穿模
另一类是使用刚体速度,代码:
rb.velocity = (Vector2)(target.position - transform.position).normalized * speedScale * Time.deltaTime; //匀速运动
刚体是处在Unity物理引擎之下的,所以并不会导致穿模。
缺点是normalized过后的vector距离很小,需要将speedScale调的很大
XmugBlog
My Blog
Status | In development |
Category | Book |
Author | xmug |
More posts
- 2021/03/07 - 抽象类与有限状态机(持续研究中)Mar 07, 2021
- 第一章【萌新】游戏设计模式Mar 06, 2021
- 第一章【萌新】开坑Mar 05, 2021
- 第一章【萌新】2D射线检测,Unity场景控制Mar 05, 2021
- 第一章【萌新】单例SingletonMar 04, 2021
Leave a comment
Log in with itch.io to leave a comment.