在加速想象力的教学视频多模型旋转互换的课程中,使用脚本的方式对模型进行互换。采用的方式类似给类的增加了一个成员变量即targetobject,然后在点击鼠标的时候设置不同的旋转对象即可实现,非常值得珍藏应用。
RoteBtn.cs作为canvas中的plane的组件,changCube.cs作为ImageTarget的组件。
RoteBtn.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.EventSystems;
public class RoteBtn : MonoBehaviour,IDragHandler {
public static RoteBtn instance;
public Transform target;
float speed = .3f;
void Awake(){
RoteBtn.instance = this;
}
public void OnDrag(PointerEventData eventData){
Vector3 Vec3rote = new Vector3 (0, -eventData.delta.x);
target.Rotate (Vec3rote * speed, Space.Self);
}
}
changeCube.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class changeCube : MonoBehaviour {
public Transform CubeRed;
public Transform CubeBlue;
public void ChangeCubeRed(){
CubeRed.gameObject.SetActive (true);
CubeBlue.gameObject.SetActive (false);
RoteBtn.instance.target = CubeRed;
}
public void ChangeCubeBlue(){
CubeRed.gameObject.SetActive (false);
CubeBlue.gameObject.SetActive (true);
RoteBtn.instance.target = CubeBlue;
}
}