渲染物体到一张UITexture上

把这个脚本挂到一个Camera上

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(Camera))]
public class UIModelCamera : MonoBehaviour {

    //Render Texture属性
    public int Width=256;
    public int Height = 256;
    public int Depth = 16;

    //所要观看的模型
    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 = 1<<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
}
时间: 2025-01-10 02:21:39

渲染物体到一张UITexture上的相关文章

MATLAB在一张图上画出多条曲线

在matlab中,经常遇到画图问题,甚至,有时候需要把其他软件中的数据,导出来,用matlab处理. 此处给出,用matlab处理数据的一些简单方法. 参考资料: MATLAB多条曲画到一张图上 MATLAB plot画出多条不同颜色的曲线 原文地址:https://www.cnblogs.com/Aaron12/p/9938695.html

如何制作一张符合上传的照片

很多人在网上报名或者填写信息时被要求上传一定要求(如下要求)的照片,可是很多人根本不知道该如何处理一张已经照好的照片,已达到网上所要求的的那样.接下来,我给大家分享一下自己的经验: 要求:jpg,白底,9-20K之间,358*441px 方法:ps,截图,mop(Microsoft Office Picture Manager)制图,系统画图 目的:符合要求的照片 1.用ps打开原图,右击鼠标在弹出的菜单中选择"打开方式",使用ps打开,菜单栏中找到"图像",选择&

无法在同一张表上查询和更新的问题解决方法

一.问题引入 要在一张已存在并且有数据的表上建一个唯一索引,由于建索引的这列有很多重复的数据,导致无法建unique索引!要一条条数据手工删除吗?不!我是工程师,我要用技术的手段删除重复数据.写了一个删除重复数据的sql,如下: delete from entity_tag where id not in (select max(id) from entity_tag group by code ) 写完了,十分兴奋的跑一下这个sql,结果大跌眼镜 [语句1]: delete from enti

给你一张登上SaaS巨轮的船票

云计算极速发展,SaaS的巨轮乘风破浪.急驶而来,传统软件商和SaaS厂商面临一个严峻的问题--不想被时代抛弃,如何才能快速构建SaaS业务.建立可行的商业模式,坐上这艘巨轮呢?传统软件商和SaaS厂商想获得坐上巨轮的船票,就必须解决一系列问题: 1.软件的单租户架构到多租户架构的调整要跨越很高的技术门槛:2.代码重构的周期长会增加机会成本:3.商业模式的探索过程也要耗费很大的时间和财务成本:-- 寄云科技为传统软件商和SaaS厂商提供了这张宝贵的"船票"--寄云SaaS服务平台,能够

unity中判断渲染物体是否在摄像机内渲染

1.先声明我们的变量: <span style="font-size:14px;">/// <summary> /// isRender 为true则表示在摄像机内,为false则相反 /// </summary> private bool isRender; private float lastTime; private float currentTime; /// <summary> /// controlUpdate 控制updat

Office 如何复印身份证正反面到一张纸上

先把身份证任意一面放到打印机扫描的一侧(不要放到正中间) ? 正面扫描复印好之后,身份证翻面,还放在原来的位置 ? 纸张拿出来之后,把已经有图案的放在上面,空白的留在下面,接着扫描 ? 最后效果如下 ? ? ? ?

matlab 将多个盒图放在一张图上

x1 = normrnd(5,1,100,1)';x2 = normrnd(6,1,200,1)';X = [x1 x2];G = [zeros(size(x1)) ones(size(x2))];boxplot(X, G); %如果组别非常多,建议用compact格式: boxplot(X, G,'plotstyle','compact');

空间矢量7段法画在一张图上

百度网盘 原文地址:https://www.cnblogs.com/bailongwei654321/p/12543504.html

源码推荐 VVebo剥离的TableView绘制

源码推荐 VVebo剥离的TableView绘制 https://github.com/johnil/VVeboTableViewDemo 此项目由VVebo剥离,希望你能通过这个demo看到我是如何进行TableView流畅度优化的. 主要思路如下: 1.异步渲染内容到图片. 2.按照滑动速度按需加载内容. 3.重写处理网络图片加载. 实际上做完前两点就可以很流畅了.我把内容都异步渲染到了一张图上,尽可能减少Cell层级. 项目中我用的是SDWebImageManager.在我变态级要求下,网