我怎么能改变这个代码来访问前凸轮,目前它显示我后凸轮。我尝试了一些不同的东西,但似乎并没有起作用。
if (isLocalPlayer)
{
if (this.gameObject.name == "Player 1") {
WebCamTexture webcamTexture = new WebCamTexture ();
Player1Image.GetComponent<RawImage> ().texture = webcamTexture;
Player1Image.GetComponent<RawImage> ().texture = webcamTexture;
Player1Image.GetComponent<RawImage> ().material.mainTexture = webcamTexture;
webcamTexture.Play ();
} else if (this.gameObject.name == "Player 2") {
WebCamTexture webcamTexture = new WebCamTexture ();
Player2Image.GetComponent<RawImage> ().texture = webcamTexture;
Player2Image.GetComponent<RawImage> ().texture = webcamTexture;
Player2Image.GetComponent<RawImage> ().material.mainTexture = webcamTexture;
webcamTexture.Play ();
} else if (this.gameObject.name == "Player 3") {
WebCamTexture webcamTexture = new WebCamTexture ();
Player3Image.GetComponent<RawImage> ().texture = webcamTexture;
Player3Image.GetComponent<RawImage> ().texture = webcamTexture;
Player3Image.GetComponent<RawImage> ().material.mainTexture = webcamTexture;
webcamTexture.Play ();
} else if (this.gameObject.name == "Player 4") {
WebCamTexture webcamTexture = new WebCamTexture ();
Player4Image.GetComponent<RawImage> ().texture = webcamTexture;
Player4Image.GetComponent<RawImage> ().texture = webcamTexture;
Player4Image.GetComponent<RawImage> ().material.mainTexture = webcamTexture;
webcamTexture.Play ();
} else {
Debug.Log ("All slots full!");
GameObject.Destroy (this);
Network.Disconnect ();
}
}
答案 0 :(得分:2)
您目前使用默认设备创建WebcamTexture的代码,因为您使用的构造函数没有任何参数传递 deviceName 的空字符串。
如果您选中WebCamTexture documentation,则会列出一个可以提供 deviceName 的构造函数。现在,您所要做的就是:
您可以按如下方式查询可用摄像机的设备名称:
$.get( "http://cimailer.dev/templates/listfiles", function( data ) {
var images =JSON.parse(data);
});
此外,WebCamDevice的isFrontFacing属性还有助于查询您使用的摄像头是否是前置摄像头。因此,一种天真的方法是确保找到的第一个前置摄像头将用于您的情况:
var webCamDevices = WebCamTexture.devices;
foreach(var camDevice in webCamDevices){
Debug.Log(camDevice.name);
}
请注意,通过删除中断语句,您将使用最后列出的前置摄像头。此外,将 frontCamName 设为私有属性并在Start()函数中初始化它是一种很好的做法。