Returns an clockwise angle, which can be used to rotate a polygon so camera contents are shown in correct orientation.
// Starts a camera and assigns the texture to the current renderer. // Updates polygon's orientation according to camera's given angle. var webcamTexture : WebCamTexture; var baseRotation : Quaternion; function Start () { webcamTexture = WebCamTexture(); renderer.material.mainTexture = webcamTexture; baseRotation = transform.rotation; webcamTexture.Play(); } function Update () { transform.rotation = baseRotation * Quaternion.AngleAxis(webcamTexture.videoRotationAngle, Vector3.up); }
using UnityEngine; using System.Collections; public class Example : MonoBehaviour { public WebCamTexture webcamTexture; public Quaternion baseRotation; void Start() { webcamTexture = new WebCamTexture(); renderer.material.mainTexture = webcamTexture; baseRotation = transform.rotation; webcamTexture.Play(); } void Update() { transform.rotation = baseRotation * Quaternion.AngleAxis(webcamTexture.videoRotationAngle, Vector3.up); } }
import UnityEngine import System.Collections public class Example(MonoBehaviour): public webcamTexture as WebCamTexture public baseRotation as Quaternion def Start() as void: webcamTexture = WebCamTexture() renderer.material.mainTexture = webcamTexture baseRotation = transform.rotation webcamTexture.Play() def Update() as void: transform.rotation = (baseRotation * Quaternion.AngleAxis(webcamTexture.videoRotationAngle, Vector3.up))