オブジェクトを見た時間で反応させるには?
今FOVE0を用いて視線追跡をしています。
今はこのオブジェクトを一瞬でも見たら反応するようになっています。
したいことは、その中であるオブジェクトを1秒見たら反応するように設定したいです。
ただ視線でそのオブジェクトを通るだけで反応させず、1秒以上見ることで反応させられるプログラムを作りたいです。。
以下のスクリプトで見られた点が光るというものです。
C#
1 2using UnityEngine; 3 4public class FOVELookSample : MonoBehaviour { 5 public Light attachedLight; 6 public FoveInterfaceBase foveInterface; 7 8 private Collider my_collider; 9 private Material material; 10 private bool light_attached = false; 11 12 void Start() { 13 my_collider = GetComponent<Collider>(); 14 15 16 if (attachedLight) 17 { 18 light_attached = true; 19 attachedLight.enabled = false; 20 } 21 material = gameObject.GetComponent<Renderer>().material; 22 23 if (material == null) 24 gameObject.SetActive(false); 25 } 26 27 void Update () { 28 if (foveInterface.Gazecast(my_collider)) 29 { 30 material.EnableKeyword("_EMISSION"); 31 32 if (light_attached) 33 { 34 material.SetColor("_EmissionColor", attachedLight.color); 35 attachedLight.enabled = false; //ライトが点く 36 DynamicGI.SetEmissive(GetComponent<Renderer>(), attachedLight.color); 37 } 38 } 39 } 40} 41
よろしくお願いします。
自分はC#もUnityも初心者です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/31 04:03