閱讀建議
閱讀時長: 10分鐘
閱讀難度: 初級
閱讀收獲: 可以在unity自由的完成點對點的移動過程
例子地址: https://gitee.com/asiworld/unity3d-basic-function-code
方式1:[通過直接賦值的方式進行進行模型移動]
原理
- 直接修改gameobject的position內(nèi)容,當(dāng)然物體實際存在的有l(wèi)ocalposition和worldposition,具體要使用哪個要看需求是怎么樣的
步驟
- 在hierarchy視圖中創(chuàng)建物體(本例子中使用cube)
- 創(chuàng)建控制腳本并進行代碼編寫
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視圖中創(chuàng)建物體(本例子中使用cube)
- 創(chuàng)建控制腳本并進行代碼編寫
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視圖中創(chuàng)建物體(本例子中使用cube)
- 創(chuàng)建控制腳本并進行代碼編寫
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視圖中的對應(yīng)目錄下創(chuàng)建animator
-
在project視圖中的對應(yīng)目錄下創(chuàng)建animation
-
在Hierarchy視圖中創(chuàng)建物體
-
關(guān)聯(lián)animation和animator
-
關(guān)聯(lián)animator和物體
-
點擊ctrl/command+6打開animation視圖
-
在第n針上創(chuàng)建關(guān)鍵幀內(nèi)容為對應(yīng)物體的位置
-
點擊play按鍵文章來源:http://www.zghlxwxcb.cn/news/detail-423155.html
效果展示
9月9日4文章來源地址http://www.zghlxwxcb.cn/news/detail-423155.html
總結(jié)
??求求老爺給個一鍵三連吧
- git主頁 : https://gitee.com/asiworld
- 博客主頁:https://blog.csdn.net/JianShengShuaiest
- bilibili主頁:https://space.bilibili.com/15766978
到了這里,關(guān)于[unity3d][通過代碼]讓模型移動,動態(tài)改變模型位置,點對點移動的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!