前提・実現したいこと
下記のプログラムに自分で作成したログを取るプログラムを入れて実行してもLog自体が取れません。
また、ifの部分を変えて何回も取り組みましたができません
発生している問題・エラーメッセージ
Objectは光るがLogは取れていない
該当のソースコード
C#
1using UnityEngine; 2 3public class FOVELookSample : MonoBehaviour 4{ 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 { 14 my_collider = GetComponent<Collider>(); 15 16 if (attachedLight == null) 17 attachedLight = transform.GetComponentInChildren<Light>(); 18 19 if (attachedLight) 20 { 21 light_attached = true; 22 attachedLight.enabled = false; 23 } 24 material = gameObject.GetComponent<Renderer>().material; 25 26 if (material == null) 27 gameObject.SetActive(false); 28 } 29 30 void Update() 31 { 32 if (foveInterface.Gazecast(my_collider)) 33 { 34 material.EnableKeyword("_EMISSION"); 35 36 if (light_attached) 37 { 38 material.SetColor("_EmissionColor", attachedLight.color); 39 attachedLight.enabled = true; 40 DynamicGI.SetEmissive(GetComponent<Renderer>(), attachedLight.color); 41 } 42 } 43 else 44 { 45 gameObject.GetComponent<Renderer>().material.color = Color.white; 46 material.DisableKeyword("_EMISSION"); 47 48 if (light_attached) 49 { 50 attachedLight.enabled = false; 51 DynamicGI.SetEmissive(GetComponent<Renderer>(), Color.black); 52 } 53 } 54 } 55} 56
Logを入れた方のコードを追加出来ますか?
using UnityEngine;
public class hannnteiLog : MonoBehaviour
{
public Light attachedLight;
public FoveInterfaceBase foveInterface;
private Collider my_collider;
private Material material;
private bool light_attached = false;
//private string datetimeStr;
void Start()
{
my_collider = GetComponent<Collider>();
if (attachedLight == null)
attachedLight = transform.GetComponentInChildren<Light>();
if (attachedLight)
{
light_attached = true;
attachedLight.enabled = false;
}
material = gameObject.GetComponent<Renderer>().material;
if (material == null)
gameObject.SetActive(false);
}
void Update()
{
//StreamWriter sw;
//FileInfo fi;
//fi = new FileInfo(Application.dataPath + "/Log/hannteiLog/hanntei00.csv");
//sw = fi.AppendText();
if (foveInterface.Gazecast(my_collider))
{
material.EnableKeyword("_EMISSION");
if (light_attached)
{
material.SetColor("_EmissionColor", attachedLight.color);
attachedLight.enabled = true;
DynamicGI.SetEmissive(GetComponent<Renderer>(), attachedLight.color);
/* datetimeStr = System.DateTime.Now.Year.ToString() + "." +
System.DateTime.Now.Month.ToString() + "." +
System.DateTime.Now.Day.ToString() + "." +
System.DateTime.Now.Hour.ToString() + "." +
System.DateTime.Now.Minute.ToString() + "." +
System.DateTime.Now.Second.ToString() + "." +
System.DateTime.Now.Millisecond.ToString();
sw.WriteLine(datetimeStr);*/
}
//sw.Flush();
//sw.Close();
}
else
{
gameObject.GetComponent<Renderer>().material.color = Color.white;
material.DisableKeyword("_EMISSION");
if (light_attached)
{
attachedLight.enabled = false;
DynamicGI.SetEmissive(GetComponent<Renderer>(), Color.black);
}
}
}
}
//入れときました、追加のところには
光るところに光れば時間のLogを残すプログラムを入れればいけるかなとおもったものです。
回答1件
あなたの回答
tips
プレビュー