Uniryのアニメーションを使ったドア開閉のプログラムの質問です。
Unityでアニメーションを使ったドアの開閉プログラムを書いているのですが上手くいかないところがあります。
プレイヤーがドア付近(IsTriggerを使った当たり判定)でキーボードのmを押すとドアが開く、というプログラムです。
C#
1using UnityEngine; 2using System.Collections; 3 4public class Hitarea : MonoBehaviour { 5 6 public Animator anim; 7 private bool near; 8 9 void Start () { 10 11 anim = GetComponent<Animator> (); 12 near = false; 13 } 14 15 void Update () { 16 if (Input.GetKeyDown ("m") && near) { 17 anim.SetBool ("open", true); 18 Debug.Log ("Hit m"); 19 } 20 if (Input.GetKeyDown ("k")) { 21 anim.SetBool ("open", false); 22 Debug.Log ("Hit k"); 23 } 24 } 25 26 void OnTriggerEnter(Collider collider){ 27 if (collider.gameObject.tag == "Player") { 28 near = true; 29 Debug.Log ("hoge01"); 30 } 31 } 32 33 void OnTriggerExit(Collider collider){ 34 near = false; 35 Debug.Log ("hoge02"); 36 } 37}
このコードですと、hoge01、hoge02のログはでて、当たり判定はされているようなのですが、当たり判定内でmを押しても反応せず。
Void Start()のnear=falseをtrueにするとHitmログが出てくるようになり、ドアも開きます(当たり判定関係ないのでどこでも開いてしまいます)
void Update()にOntriggerEnterのnear=trueが反映されていないのでしょうか。
アドバイスなどいただければありがたいです、、、
よろしくお願い致します。
回答1件
あなたの回答
tips
プレビュー