Unity實現(xiàn)鼠標點2D轉(zhuǎn)3D進行旋轉(zhuǎn)
更新時間:2020年04月17日 11:53:20 作者:木小星
這篇文章主要為大家詳細介紹了Unity實現(xiàn)鼠標點2D轉(zhuǎn)3D進行旋轉(zhuǎn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了Unity實現(xiàn)鼠標點2D轉(zhuǎn)3D進行旋轉(zhuǎn)的具體代碼,供大家參考,具體內(nèi)容如下
代碼如下:
using UnityEngine; public class GunFollowMouse : MonoBehaviour { public RectTransform UGUICanvas; public Camera mainCamera; //攝像機旋轉(zhuǎn)的緩動速率 private float rotateSpeed = 5; void Start () { } void Update () { //定義一個世界坐標的鼠標點 Vector3 mousePos; //獲取當前canvas下鼠標的二維坐標點 轉(zhuǎn)化為三維 out出來 RectTransformUtility.ScreenPointToWorldPointInRectangle(UGUICanvas, new Vector2(Input.mousePosition.x, Input.mousePosition.y), mainCamera, out mousePos ); //炮臺的旋轉(zhuǎn)角度 float angle; //向量dirMouse為鼠標的向量減去槍的起始向量得到槍到鼠標位置的方向向量 Vector3 dirMouse = mousePos - transform.position; angle = Vector3.Angle(dirMouse, Vector3.up);//直接得到兩個向量之間的夾角,這個角度是沒有正負的 if (mousePos.x > transform.position.x) { angle = - angle; } transform.localRotation = Quaternion.Lerp(transform.localRotation, Quaternion.Euler(0, 0, angle) , Time.deltaTime * rotateSpeed); } }
旋轉(zhuǎn)效果如下圖:
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
VS2015為console.readkey添加代碼片段的方法
這篇文章主要介紹了VS2015為console.readkey添加代碼片段的方法,需要的朋友可以參考下2016-12-12C#用Parallel.Invoke方法盡可能并行執(zhí)行提供的每個線程
本文主要介紹了C#用Parallel.Invoke方法盡可能并行執(zhí)行提供的每個線程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-01-01C#連接Oracle數(shù)據(jù)庫字符串(引入DLL)的方式
這篇文章主要給大家介紹了關(guān)于C#連接Oracle數(shù)據(jù)庫字符串(引入DLL)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧2019-08-08C#下實現(xiàn)創(chuàng)建和刪除目錄的實例代碼
這篇文章主要介紹了C#下實現(xiàn)創(chuàng)建和刪除目錄的方法,功能非常實用,需要的朋友可以參考下2014-08-08C#獲取計算機硬件與操作系統(tǒng)的相關(guān)信息
這篇文章介紹了C#獲取計算機硬件與操作系統(tǒng)相關(guān)信息的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-04-04關(guān)于Flyweight模式應用實踐的相關(guān)介紹
本篇文章,小編將為大家介紹Flyweight模式應用實踐,有需要的朋友可以參考一下2013-04-04