現在Unityで3Dゲームを作成しているUnity初心者です。
Colliderをもったオブジェクトをメインカメラを使ったRayCastで探索し、オブジェクトにRayが衝突した場合、あらかじめ非表示にしておいたcanvasのテキストを表示するという処理を行いたいのですが、
毎フレームごとに判定しているからなのか、オブジェクトと衝突した際、テキストが高速に表示を非表示を繰り返してしまいます。
理想は一度衝突した場合、衝突が検知されなくなるまで、テキストを常に表示させておきたいです。
なにかスマートな方法があればご教授お願い致します。
拙い質問で申し訳ありません。
C#
1void Update() 2 { 3 CastRay(); 4 } 5 6void CastRay() 7 { 8 Ray ray = mainCamera.ScreenPointToRay(pos); 9 if (Physics.Raycast(ray.origin, ray.direction, out hit, 1.0f, layerMask)) 10 { 11 UIText.SetActive(true); 12 } 13 else 14 { 15 UIText.SetActive(false); 16 } 17 }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。