一、項(xiàng)目資源的導(dǎo)入##
二、項(xiàng)目流程##
1.導(dǎo)入地形制妄。
2.SteamVR導(dǎo)入。
3.弓箭的模型的導(dǎo)入與在手柄位置調(diào)節(jié)泵三。
左手拿弓耕捞,右手拿箭,調(diào)節(jié)合適的位子.調(diào)節(jié)左右手柄的位置烫幕,拿起弓箭自然.
public class GameManagerPer : MonoBehaviour {
public static GameManagerPer _instance;//單列模式
public GameObject currentArrow;
public GameObject prefabArrow;//箭的預(yù)支物
public SteamVR_TrackedObject trackObject;//獲取輸入設(shè)備
// 拿到弓弦在弓位置信息
public GameObject ArrowStartPoint;
// 復(fù)制的弓弦位置
public GameObject StringStartPoint;
// 真正意義上的弓弦
public GameObject StringWithpoint;
private void Awake()
{
_instance = this;
}
void Start () {
trackObject = GetComponent<SteamVR_TrackedObject>();
}
void Update () {
CreateArrow();
}
public void CreateArrow()//創(chuàng)建箭的方法
{
if (currentArrow==null)
{
currentArrow = Instantiate(prefabArrow);
currentArrow.transform.parent = trackObject.transform;
currentArrow.transform.localPosition = new Vector3(0, 0, 0.3f);//箭在右手柄的合適位置俺抽,調(diào)節(jié)結(jié)果
currentArrow.transform.localRotation = Quaternion.identity;
}
}
//調(diào)整箭頭
public void StartArraw()
{
currentArrow.transform.parent = ArrowStartPoint.transform;
currentArrow.transform.localPosition = Vector3.zero;
currentArrow.transform.localRotation = Quaternion.identity;
}
}
4.弓的位置調(diào)節(jié)。
public class ArrowPerson : MonoBehaviour {
void Start () {
}
void Update () {
}
private void OnTriggerStay(Collider other)//觸發(fā)事件
{
print("123");
StartTrigglerArrow();
}
public void StartTrigglerArrow()//一觸發(fā)就調(diào)用纬霞,把在右手柄的箭的位置放在一個(gè)我們想要的位置
{
var device = SteamVR_Controller.Input((int)GameManagerPer._instance.trackObject.index);
if (device.GetTouchDown(SteamVR_Controller.ButtonMask.Trigger))
{
GameManagerPer._instance.StartArraw();
}
}
}