unity3d脚本rederTexture 旋转

将新摄像机中的模型 渲染到主摄像机上  并且鼠标移动 旋转摄像机中的模型

第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步

    public GameObject obj;   // 第2步

    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 上


    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值