VR模拟枪支打靶,消灭鬼怪,换弹以及上弦等等硬核枪支操作。 使用HTCVive设备,开启SteamVR进行游玩。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

49 lines
1.3 KiB

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CaculateEularEngle : MonoBehaviour {
public GameObject self_;
public GameObject otherHand;
private Vector3 eularEngle;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
eularEngle = caculateEularEngle();
otherHand.transform.localEulerAngles = eularEngle;
}
Vector3 caculateEularEngle()
{
float x = self_.transform.position.x - otherHand.transform.position.x;
float y = self_.transform.position.y - otherHand.transform.position.y;
float z = self_.transform.position.z - otherHand.transform.position.z;
float engleX = 0.0f;
float engleY = 0.0f;
//float engleZ = 0.0f;
if (x >= 0f)
{
engleY = -Mathf.Atan(z / x) * 180f / Mathf.PI - 90f;
}
else
{
engleY = 180.0f - Mathf.Atan(z / x) * 180f / Mathf.PI - 90f;
}
if (z >= 0f)
{
engleX = Mathf.Atan(y / z) * 180f / Mathf.PI;
}
else
{
engleX = -Mathf.Atan(y / z) * 180f / Mathf.PI;
}
//engleZ = leftHand.transform.eulerAngles.z;
Vector3 eularEngle = new Vector3(-engleX, engleY + 180f, 0.0f);
return eularEngle;
}
}