中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

unity3D中使角色朝著鼠標的方向

發布時間:2020-07-07 20:36:15 來源:網絡 閱讀:1594 作者:遺失美好COL 欄目:游戲開發

    思路:首先要獲得鼠標的世界坐標(鼠標的位置坐標默認的是屏幕坐標),當鼠標點擊時,角色朝著鼠標的方向移動;

input.mousePosition獲得的是鼠標的屏幕坐標;


Vector3 world;
public float speed;
void Update()
{
    if(Input.GetMouseButtonDown(0))
    {
        Vector3 m_pos=Input.mousePosition;
        Vector3 player_pos=Camera.main.WorldToScreenPoint(transform.position);
        m_pos.z=player_pos.z;
        world=Camera.main.ScreenToWorldPoint(m_pos);
        speed=8.0f;
        transform.LookAt(world);
        transform.translate(Vector3.forward*speed*Time.deltaTime);
      }
    
}

注:以上方法只適用于垂直平面,即攝像頭垂直于x—z面,一般游戲是不會垂直的,平面不是垂直的,角色就會出現穿透地面的現象,所以需要改一下代碼;

把world=Camera.main.ScreenToWorldPoint(m_pos);換成下面的就可以了;

world.x=Camera.main.ScreenToWorldPoint(m_pos).x;

world.z=Camera.main.ScreenToWorldPoint(m_pos).z;

world.y=transform.position.y;

也就是說角色的y軸坐標保持不變就可以了。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

富蕴县| 吉木萨尔县| 水富县| 剑川县| 神农架林区| 咸丰县| 舟山市| 岑溪市| 大厂| 抚州市| 电白县| 岚皋县| 开封市| 江永县| 子长县| 拉萨市| 曲靖市| 西宁市| 新宁县| 兰西县| 京山县| 岐山县| 溧阳市| 蓬莱市| 沁源县| 正镶白旗| 万盛区| 台北县| 友谊县| 武宣县| 怀来县| 阳原县| 湘阴县| 万安县| 龙游县| 宝丰县| 平乐县| 虎林市| 尤溪县| 金堂县| 恩平市|