将新摄像机中的模型 渲染到主摄像机上 并且鼠标移动 旋转摄像机中的模型
第1步.新建一个摄像机 拖入模型到场景中 调整好位置 使模型在该摄像机的视野范围内
第2步.创建一个gameobject 添加一个rawimage 组件
第3步.将以下脚本挂到 模型添加到模型组件 脚本中两个选项 一个是新摄像机 (步骤1) 另一个是(带有raw iamge 的)gameobject (步骤2)
using System.Collections;
using System.Collections.Generic;using UnityEngine;
using UnityEngine.UI;
public class NewBehaviourScript : MonoBehaviour
{
private RenderTexture render;
public Camera cab; // 第1步
Vector2 renge2dmax;
Vector2 renge2dmin;
void Start()
{
renge2dmin.x = obj.transform.position.x + obj.GetComponent<RectTransform>().rect.xMin;
renge2dmax.x = obj.transform.position.x + obj.GetComponent<RectTransform>().rect.xMax;
renge2dmin.y = obj.transform.position.y + obj.GetComponent<RectTransform>().rect.yMin;
renge2dmax.y = obj.transform.position.y + obj.GetComponent<RectTransform>().rect.yMax;
}
// Update is called once per frame
private void Update()
{
float v = Input.GetAxis("Mouse X");
Vector3 mousePos = Input.mousePosition;
if (mousePos.x > +renge2dmin.x && mousePos.x < +renge2dmax.x && mousePos.y > +renge2dmin.y && mousePos.y < +renge2dmax.y)
{
transform.Rotate(0, 20 * v, 0);//旋转
}
render = new RenderTexture(256, 256, (int)RenderTextureFormat.ARGB32);
render.name = "MyRenDer";
obj.GetComponent<RawImage>().texture = render; //将贴图挂到新摄像机的targettexture 上
cab.targetTexture = render; //将贴图挂在gameobject 的rawiamge 上
}
}