Unity 制作指南针

来源:互联网 发布:第三代火影 知乎 编辑:程序博客网 时间:2024/06/05 19:31

这个指南针是unity环境中测试运行的,因为没有加陀螺仪参数,故不能在真机测试

using System.Collections;
using System.Collections.Generic;
using UnityEngine;


public class ComPass : MonoBehaviour {


    public Vector3 NorthDirection;
    public Transform Player;
    public Quaternion MissionDirection;


    public RectTransform Northlayer;
    public RectTransform MissionLayer;


    public Transform missionplace;


// Update is called once per frame
void Update () {
        ChangeMisstionDirection();
        ChangeNorthDirection();


}


    public void  ChangeNorthDirection()
    {
        NorthDirection.z = Player.eulerAngles.y;
        Northlayer.localEulerAngles = NorthDirection;   


    }


    public void ChangeMisstionDirection()
    {
        Vector3 dir = transform.position - missionplace.position ;


        MissionDirection = Quaternion.LookRotation(dir);


        MissionDirection.z = -MissionDirection.y;
        MissionDirection.x = 0;
        MissionDirection.y = 0;


        MissionLayer.localRotation = MissionDirection * Quaternion.Euler(NorthDirection);
    }




}

原创粉丝点击