Android TV Vuforia不支持
DefaultTrackableEventHandler脚本下
- 动画跟随物体生成
public GameObject aiXiPrefab;
//找到了需要识别的物体
protected virtual void OnTrackingFound()
{
GameObject aiXi = GameObject.Instantiate(aiXiPrefab);
aiXi.transform.position = this.transform.position;
aiXi.transform.parent = this.transform;
}
- 物体销毁
//丢失了需要识别的物体
protected virtual void OnTrackingLost()
{
Destroy(GameObject.Find("AiXi(Clone)"));
}
- 特效生成以及销毁(10秒后销毁和辨识物消失销毁),e1e2分别为两个特效
public GameObject bloodPrefab; public GameObject tonadoPrefab; //找到了需要识别的物体 protected virtual void OnTrackingFound() { GameObject aiXi = GameObject.Instantiate(aiXiPrefab); aiXi.transform.position = this.transform.position; aiXi.transform.parent = this.transform; GameObject e1 = GameObject.Instantiate(bloodPrefab, transform.position, Quaternion.identity); e1.transform.parent = this.transform; Destroy(e1, 10.0f); //10秒后销毁 GameObject e2 = GameObject.Instantiate(tonadoPrefab, transform.position, Quaternion.identity); e2.transform.parent = this.transform; Destroy(e2, 10.0f); } //丢失了需要识别的物体 protected virtual void OnTrackingLost() { Destroy(GameObject.Find("aiXi(Clone)")); Destroy(GameObject.Find("RFX_Blood_Puddle(Clone)")); Destroy(GameObject.Find("RFX_Tonado_Flame(Clone)")); }
-
物体上升
public class Player : MonoBehaviour { void Update () { if (transform.localPosition.y>0) //达到目标位置 { return; } //物体上升 transform.Translate(new Vector3(0, 1, 0) * Time.deltaTime); } } protected virtual void OnTrackingFound() { GameObject aiXi = GameObject.Instantiate(aiXiPrefab,transform.position-new Vector3(0,1.6f,0),transform.rotation);//跟着这个脚本的物体旋转 aiXi.transform.position = this.transform.position; aiXi.transform.parent = this.transform;
-
阴影制作(透明材质)
创建一个Render Texture 指定给Camera的Rebdering Texture