unity 创建Cubemap的两种方式

Cubemap是一个由六个独立的正方形纹理组成的集合。通常被用来作为具有反射属性物体的反射源。类似与MAX里的HDR属性。

创建Cubemap的第一种方式

在这里插入图片描述

利用编辑器扩展功能进行快速创建。
首先新建一个Editor文件夹,在里面创建一个C#脚本,我们可以命名为RenderCubeMap.cs,然后进行编辑,代码如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

public class RenderCubeMap : ScriptableWizard
{
    public Transform renderTrans;
    public Cubemap cubemap;

    [MenuItem("Tools/CreateCubemap")]
    static void CreateCubemap()
    {
        //"Create Cubemap"是打开的窗口名,"Create"是按钮名,点击时调用OnWizardCreate()方法
        ScriptableWizard.DisplayWizard<RenderCubeMap>("Create Cubemap", "Create");//打开向导
    }

    private void OnWizardUpdate()//打开向导或者在向导中更改了其他内容的时候调用
    {
        helpString = "选择渲染位置并且确定需要设置的cubemap";
        isValid = renderTrans != null && cubemap != null;//isValid为true的时候,“Create”按钮才能点击
    }

    private void OnWizardCreate()//点击创建按钮时调用
    {
        GameObject go = new GameObject();
        go.transform.position = renderTrans.position;
        Camera camera = go.AddComponent<Camera>();
        camera.RenderToCubemap(cubemap);//用户提供的Cubemap传递给RenderToCubemap函数,生成六张图片
        DestroyImmediate(go);//立即摧毁go
    }
}

保存后回到unity,这时Unity菜单栏多出了Tools工具,我们点击CreateCubemap后出现一个窗口,我们将需要创建Cubemap的观测点的位置赋值上去,再将事先新建的cubemap拖进去(Readable要打勾),点击Create后,我们原本新建的cubemap就已经贴好6张图片了,cubemap就创建完成了。

创建Cubemap的第二种方式

在这里插入图片描述
我们可以在网上找一些天空盒类型的材质赋值给天空盒,在Lighting中进行替换,也可以在某些场景中制作cubemap。

首先我们需要创建一个反射探针,即右键—>Light—>Reflection Probe,创建出来后,选中需要被绘制到Cubemap的物体,Inspector面板中右上角的Static选择Reflection Probe Static(如果不选择这个,那么只绘制天空盒),在反射探针的Inspector下点击Bake就出现一个cubemap了,(如果没有Bake的按钮,我们要先打开Lighting面板,将Auto Generate取消勾选之后就出现Bake按钮了)

Cubemap的使用

我们可以创建一个材质球,shader选择Skybox/Cubemap,然后将这个材质球赋值到Lighting面板中的Skybox Material就可以了。

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值