阅读建议
阅读时长: 10分钟
阅读难度: 初级
阅读收获: 可以在unity自由的完成点对点的移动过程
例子地址: https://gitee.com/asiworld/unity3d-basic-function-code
方式1:[通过直接赋值的方式进行进行模型移动]
原理
- 直接修改gameobject的position内容,当然物体实际存在的有localposition和worldposition,具体要使用哪个要看需求是怎么样的
步骤
- 在hierarchy视图中创建物体(本例子中使用cube)
- 创建控制脚本并进行代码编写
using System.Collections;
using UnityEngine;
public class movement_1 : MonoBehaviour
{
// Start is called before the first frame update
IEnumerator Start()
{
yield return new WaitForSeconds(1.0f);
transform.position = new Vector3(transform.position.x + 10, transform.position.y, transform.position.z);
}
// Update is called once per frame
void Update()
{
}
}
- 把脚本挂在到物体上
- 点击play查看效果
效果展示
9月9日1
方式2:[通过在updata中赋值,平滑的让物体移动]
原理
- 由第一种方式的从一个点到另一个点的直接移动,我们在updata中对整个过程进行拆分,让整个过程更加平滑
步骤
- 在hierarchy视图中创建物体(本例子中使用cube)
- 创建控制脚本并进行代码编写
using UnityEngine;
public class movement_2 : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
transform.position = Vector3.Lerp(transform.position, new Vector3(5, transform.position.y, transform.position.z), Time.deltaTime);
}
}
- 把脚本挂在到物体上
- 点击play查看效果
效果展示
9月9日2
方式3:[通过dotween让物体平滑的移动]
原理
- 使用比较U3D比较常用的动画插件让我们在很简单的代码下就可以让物体进行移动
步骤
- 引入dotween并配置完成
- 在hierarchy视图中创建物体(本例子中使用cube)
- 创建控制脚本并进行代码编写
using DG.Tweening;
using UnityEngine;
public class movement_3 : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
transform.DOMove(new Vector3(transform.position.x + 10, transform.position.y, transform.position.z), 2.0f);
}
// Update is called once per frame
void Update()
{
}
}
- 挂在脚本在物体上
- 点击play按钮
效果展示
9月9日3
方式4:[通过animator让物体平滑的移动]
原理
- 使用unity3d中自带的帧动画控制器,在帧动画文件中录入起始位置和终止位置
步骤
-
在project视图中的对应目录下创建animator
-
在project视图中的对应目录下创建animation
-
在Hierarchy视图中创建物体
-
关联animation和animator
-
关联animator和物体
-
点击ctrl/command+6打开animation视图
-
在第n针上创建关键帧内容为对应物体的位置
-
点击play按键文章来源:https://www.toymoban.com/news/detail-423155.html
效果展示
9月9日4文章来源地址https://www.toymoban.com/news/detail-423155.html
总结
😘求求老爷给个一键三连吧
- git主页 : https://gitee.com/asiworld
- 博客主页:https://blog.csdn.net/JianShengShuaiest
- bilibili主页:https://space.bilibili.com/15766978
到了这里,关于[unity3d][通过代码]让模型移动,动态改变模型位置,点对点移动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!