Unity导出模型透明底图片,用于UI制作

      最近在制作一个钓鱼的游戏需要对钓到的不同种类的鱼进行统计,但是没有找到合适的2D图片素材,找了蛮久下载了一个3D模型素材包,只有模型和材质没有对应的贴图,当场裂开!尝试过使用快捷键截图来截取模型图片但是会被背景图片影响,只能使用PS来修改,数量太多太麻烦。不过查询到了大佬的文章,直接可以利用摄像机导出透明底的模型图片,转载记录学习一下吧!
using System;
using UnityEngine;
using System.IO;

public class CropPicture : MonoBehaviour
{
    public Camera cropCamera; //待截图的目标摄像机
    RenderTexture renderTexture;
    Texture2D texture2D;

    void Start()
    {
        renderTexture = new RenderTexture(256, 256, 32);//尺寸可调节
        texture2D = new Texture2D(256, 256, TextureFormat.ARGB32, false);
        cropCamera.targetTexture = renderTexture;
    }

    void Update()
    {
        if (Input.GetKeyDown(KeyCode.Space))
        {
            RenderTexture.active = renderTexture;
            texture2D.ReadPixels(new Rect(0, 0, renderTexture.width, renderTexture.height), 0, 0);
            texture2D.Apply();
            RenderTexture.active = null;
            byte[] bytes = texture2D.EncodeToPNG();
            //DataTime.UtcNow获取的是世界标准时区的当前时间不受电脑配置影响
            //DateTime.Now获取的是电脑上的当前时间是可以自己进行调整的
            File.WriteAllBytes(Application.dataPath + "//pic//" + (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0)).TotalMilliseconds + ".png", bytes);
        }
    }
}


配置操作
1.把脚本拖拽到主摄像机上。
2.创建一个新的摄像机用于获取这个摄像机视野中的模型图片。
3.设置新创建的摄像机的Clear Flags为Solider Color并且将background的透明度设置为0即可。
在这里插入图片描述
3.在Assets文件夹下创建一个pic文件夹用于存放截取好的图片。
4.运行按下空格键即可获得模型图片。
在这里插入图片描述

转载 【Unity3D】Unity3D 摄像机带透明截图 - 静茹♂鱼 - 博客园

      最近在制作一个钓鱼的游戏需要对钓到的不同种类的鱼进行统计,但是没有找到合适的2D图片素材,找了蛮久下载了一个3D模型素材包,只有模型和材质没有对应的贴图,当场裂开!尝试过使用快捷键截图来截取模型图片但是会被背景图片影响,只能使用PS来修改,数量太多太麻烦。不过查询到了大佬的文章,直接可以利用摄像机导出透明底的模型图片,转载记录学习一下吧!

猜你喜欢

转载自blog.csdn.net/Wu_0526/article/details/127285716