把这个脚本挂到一个Camera上

using UnityEngine;
using System.Collections; [RequireComponent(typeof(Camera))]
public class UIModelCamera : MonoBehaviour { //Render Texture属性
public int Width=;
public int Height = ;
public int Depth = ; //所要观看的模型
public GameObject Model; //距离模型所在位置的偏移
public Vector3 Offset; //观看模型所在位置的偏移
public Vector3 LookAtOffset; //哪个UITexture要使用这个相机所渲染的Render Texture
public UITexture Texture; private RenderTexture mRenderTexture;
private Camera mCamera; void Awake()
{
mCamera = gameObject.GetComponent<Camera>();
mRenderTexture = new RenderTexture(Width, Height, Depth);
mCamera.targetTexture = mRenderTexture;
}
// Use this for initialization
void Start () { SetModel(Model);
SetTexture(Texture);
} void OnDestroy()
{
Destroy(mRenderTexture);
} //设置所有观看的模型
public void SetModel(GameObject obj)
{
Model = obj;
if(null!=Model)
{
gameObject.transform.position = Model.transform.position + Offset;
gameObject.transform.forward = Model.transform.position + LookAtOffset - gameObject.transform.position;
mCamera.cullingMask = <<Model.layer;
}
} //
public void SetTexture(UITexture texture)
{
Texture = texture;
if (null != Texture)
{
Texture.mainTexture = GetRenderTexture();
}
} public RenderTexture GetRenderTexture()
{
return mRenderTexture;
} #if UNITY_EDITOR
void Update()
{
SetModel(Model);
SetTexture(Texture);
}
#endif
}
05-06 19:21