unity开发之四:摄像机渲染纹理RenderTexture的使用

来源:互联网 发布:淘宝网电影票 编辑:程序博客网 时间:2024/05/16 06:52

一.首先我们得拿到渲染纹理
我们在project面板creat一个RenderTexture,然后把这个渲染纹理给相机的Rendertexture,如下图所示:
这里写图片描述
然后如下面代码:

RenderTexture renderTexture = _mainCamera.targetTexture;//拿到目标渲染纹理RenderTexture.active = renderTexture;Texture2D tex = new Texture2D(renderTexture.width, renderTexture.height);//新建纹理存储渲染纹理tex.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0);//把渲染纹理的像素给Texture2D,才能在项目里面使用tex.Apply();//记得应用一下,不然很蛋疼byte[] bytes = tex.EncodeToPNG();//拿到图片的byteFile.WriteAllBytes(Application.dataPath + "/Resources/ScreenShort/" + _index .ToString()+ ".png", bytes);//写入本地

二.把拿到的渲染纹理,加入滑动列表,成为子项

    /// <summary>    /// 往面料滑动列表刷数据    /// </summary>    private void UpadteClothData()    {        ClearPrintData(_iteCloths);        for (int i = 0; i < _CustomDatas.Count; i++)        {            //根据数据个数实例化滑动列表子项            Button item = Instantiate(_item);            item.name = _CustomDatas[i].id.ToString();            CustomData clothdata = _CustomDatas[i];            Image[]  _ClothImags = item.GetComponentsInChildren<Image>();            for (int j = 0; j < _ClothImags.Length; j++)            {                if (_ClothImags[j].name == "sprite")                {                    Sprite spr = Sprite.Create(_CustomDatas[i].spr, new Rect(0, 0, _CustomDatas[i].spr.width, _CustomDatas[i].spr.height), Vector2.zero);                    spr.name = j.ToString();                    _ClothImags[j].sprite = spr;                }                item.transform.SetParent(_ScreenshotScrollView.transform);                item.transform.localPosition = new Vector3(item.transform.localPosition.x, item.transform.localPosition.y, _ScreenshotScrollView.transform.position.z);                item.transform.localScale = new Vector3(2, 2, 2);                _iteCloths.Add(item);            }        }    }

关于ugui滑动列表的使用,最关键的是子项的创建和销毁,但是当我们不停的创建销毁子项的时候,会产生很多内存碎片,很不好,然后我们产生了对象池这个概念,但是我们还有另外一种做法,就是不进行子项的创建和销毁,而是替换子项的数据,不停的去刷新子项数据!下一节主要讲ugui滑动列表,并且实现这种功能!

原创粉丝点击