【Unity3D】ASE制作天空盒

找到官方shader并分析

  1. 下载对应资源包
  2. 找到\DefaultResourcesExtra\Skybox-Cubed.shader
  3. 找到\CGIncludes\UnityCG.cginc
  4. 观察变量, 观察tag, 观察代码

需要注意的内容

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

ASE要处理的内容

在这里插入图片描述

在这里插入图片描述

核心修改

添加一个Custom Expression节点

code内容为:

return DecodeHDR(In0, In1);

output type 设置为 float3

input 设置为两个float4

操作

把cube的采样的节点输入进来,即可,使用hdri的天空盒子了

解释

使用了UnityCG.cginc文件中的decodehdr函数, 从而可以使用, 官方也是使用了这个函数才可以使用的.但是这个函数不在官方api中, 所以只能通过自定义的方式来处理.

关于ASE节点 Amplify Shader Editor/Custom Expression的说明

Node Parameter描述
Name自定义表达式名称。它将用于在内部命名生成的变量或函数。
Mode确定如何使用放置在“代码”文本区域上的代码。
Create: 放置在编码区域上方并连接到输入的结果将直接分配给输出端口
Call: 放置在代码区域上的指令内联放置在着色器主体上,并且不会分配给任何内容。这对于调用在着色器的另一部分或包含的 cginc 上声明的函数特别有用。
在呼叫模式处于活动状态时,将添加一个特殊的输入端口 In,该端口充当中继器,将连接到它的内容直接传递到节点输出端口。
文件:可以将.cginc/.hlsl 文件拖放到新的“源”字段中,并自动将其作为 #include包含在着色器中。函数调用使用在 Name 上设置的值,后跟在创建的输入端口上设置的值。
Available only on File Mode
Source要包含的库文本文件
Precision Suffix如果打开,它会自动向函数调用添加精度后缀。( 将_float或_half添加到函数调用 p.e MyFunctionCall_float())
Default Parameters
Precision声明节点内部变量时使用的精度。
定义变量可以容纳的字节数,从而有效地定义值的精确度。它的用处是由必要的硬件规格绑定的。最低精度稍快,但可能会产生错误和伪影。
Float: 最高精度,适用于值可能非常高或非常低的值(即:位置、坐标等)
Half: 在大多数情况下,中等精度与 Float 一样好,但精度只有其一半
Inherit: 对主节点属性使用全局精度集
Code写入自定义表达式或函数的文本区域。创建函数或自定义表达式,具体取决于其正文是否包含 return 语句。
Set Unique如果打开,则会在函数/变量名称后附加一个唯一 ID。这允许不同的自定义表达式具有相同的名称。
例如,如果用户希望通过自定义表达式生成函数并由其他人使用,则应将其关闭以保持原始名称。
Auto-Register即使与输出节点不存在连接,也可以注册由自定义表达式生成的函数。
Output Type新创建的表达式的变量类型或新创建的函数的返回类型。仅当呼叫模式关闭时可见。
Dependencies允许用户选择它所依赖的其他自定义表达式,以确保首先写入它们。
Inputs允许添加 (+)或删除 (-) 输入端口。输入端口可以通过直接调用其名称在代码区域内使用。
Qualifier指定函数模式下当前输入参数的类型限定符。在此模式下,将创建一个函数,并使用其分配的限定符将每个输入端口设置为函数输入参数。
In - 调用函数时,分配给参数的值将被复制到参数中。它可以在功能内部进行修改,因为它不会影响原始功能。
Out - 函数调用方未初始化的值。该函数负责初始化此参数,所有更改都在上面完成,如果它也会被复制到函数调用时设置的原始变量中。
InOut - 结合以前的限定符,值将设置为函数调用传递的限定符,但在函数体中对它所做的所有更改都将复制到原始限定符中。
Precision用于为此输入端口创建的局部变量的精度。
定义变量可以容纳的字节数,从而有效地定义值的精确度。它的用处是由必要的硬件规格绑定的。最低精度稍快,但可能会产生错误和伪影。
Float: 最高精度,适用于值可能非常高或非常低的值(即:位置、坐标等)
Half: 在大多数情况下,中等精度与 Float 一样好,但精度只有其一半
Inherit Local: 对节点属性使用全局精度集
TypeData Type for the input port
int - Int data type
float - Float data type
float2 - Vector2 data type
float3 - Vector3 data type
float4 - Vector4 data type
float3x3 - Matrix3x3 data type
float4x4 - Matrix4x4 data type
sampler1D - Sampler1D data type
sampler2D - Sampler2D data type
sampler3D - Sampler3D data type
samplerCUBE - SamplerCUBE data type
Name输入名称,在内部也用作变量或函数参数名称。
Value输入电流值。仅当相应的输入端口未连接时才可见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/693486.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Win系统部署WampServer并实现公网访问本地服务【内网穿透】

目录 推荐 前言 1.WampServer下载安装 2.WampServer启动 3.安装cpolar内网穿透 3.1 注册账号 3.2 下载cpolar客户端 3.3 登录cpolar web ui管理界面 3.4 创建公网地址 4.固定公网地址访问 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂&#xff0…

企业资产|企业资产管理系统|基于springboot企业资产管理系统设计与实现(源码+数据库+文档)

企业资产管理系统目录 目录 基于springboot企业资产管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户信息管理 2、用户审核管理 3、资产分类管理 4、资产信息管理 5、资产信息添加 6、资产借出统计 7、资产归还审核 8、资产维修管理 9、资产维修…

c++笔记理解

1.封装 (1)构造函数不是必须在的 可以通过行为修改属性 (2)private和protected区别在于继承那里要学 (3)类默认是私有,struct是共有 私有的好处:控制数据的有效性,意…

MySQL 8.0.36 WorkBench安装

一、下载安装包 百度网盘链接:点击此处下载安装文件 提取码:hhwz 二、安装,跟着图片来 选择Custom,然后点Next 顺着左边框每一项的加号打开到每一个项的最底层,点击选中最底层的项目,再点击传过去右边的绿色箭头&a…

Codeforces Round 530 (Div. 2)

CF1099A Snowball 题目 有一个重量为 w 的雪球正在高度为 h 的地方向下滚动。每秒它的高度会减少 1。同时在高度 i 的位置它的重量会增加 i(包括初始位置) 同时在滚动的路线上有 2 块石头,第 i 块石头的高度为 hi​,即雪球会在 hi…

【论文阅读|基于 YOLO 的红外小目标检测的逆向范例】

基于 YOLO 的红外小目标检测的逆向范例 摘要1 引言2 相关工作2.1 逆向推理2.2 物体检测方法 3 方法3.1 总体架构3.2 逆向标准的可微分积分 4 实验4.1 数据集和指标4.2 实验环境4.4 OL-NFA 为少样本环境带来稳健性 5 结论 论文题目: A Contrario Paradigm for YOLO-b…

详解 leetcode_078. 合并K个升序链表.小顶堆实现

/*** 构造单链表节点*/ class ListNode{int value;//节点值ListNode next;//指向后继节点的引用public ListNode(){}public ListNode(int value){this.valuevalue;}public ListNode(int value,ListNode next){this.valuevalue;this.nextnext;} }package com.ag; import java.ut…

[树形DP] 最长乘积链

题目 1.最长乘积链 - 蓝桥云课 (lanqiao.cn) 初始思路 对问题进行分析,对每个点dfs去求走不同路的最远距离与次远距离求乘积,时间复杂度为O(n^2) 看了答案怎么弄的优化 解题思路 总的来说 预处理(对每个结点的信息进行统计&#xff09…

AWS无服务器直播解决方案

随着媒体系统的发展,越来越多的直播客户想要一个即开即用的平台,在不需要管理和运维底层资源的同时使用一站式的媒体平台。九河云对多家云厂商有所了解及有一定合作,下面将按客户的需求介绍aws的无服务器直播解决方案。 架构概述&#xff1a…

Flutter插件开发指南02: 事件订阅 EventChannel

Flutter插件开发指南02: 事件订阅 EventChannel 视频 https://www.bilibili.com/video/BV1zj411d7k4/ 前言 上一节我们讲了 Channel 通道,但是如果你是卫星定位业务,原生端主动推消息给 Flutter 这时候就要用到 EventChannel 通道了。 本节会写一个 1~…

Unity编辑器扩展之是否勾选Text组件BestFit选项工具(此篇教程也可以操作其他组件的属性)

想要批量化是否勾选项目预制体资源中Text组件BestFit属性(此篇教程也可以操作其他组件的属性,只不过需要修改其中对应的代码),可以采用以下步骤。 1、在项目的Editor文件中,新建一个名为TextBestFitBatchProcessor的…

Linux篇:指令

一 基本常识: 1. 文件文件内容文件的属性 2. 文件的操作对文件内容的操作对文件属性的操作 3. 文件的类型: d:目录文件 -:普通文件 4. 指令是可执行程序,指令的代码文件在系统的某一个位置存在的。/u…

Linux---进程间通讯(上)

一、进程间通讯的目的 数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件&#xff0…

分享10款自媒体人常用ai写作工具,总有一款适合你 #其他#AI写作

你是否因为写作困顿而感到沮丧?是不是希望能够找到一个能给你提供无限灵感和提高创作效率的利器?AI写作助手就是你的绝佳选择!现在我向大家推荐几款好用的AI写作助手,它们将让你的创作之旅更加流畅、富有创意。 1.七燕写作 这是一…

十二、通过色彩空间转换进行更换图片背景

项目功能实现&#xff1a;对一张白色背景的图片进行更换成蓝色背景&#xff0c;类似抠图更换背景操作 按照之前的博文结构来&#xff0c;这里就不在赘述了 一、头文件 inrange.h #pragma once#include<opencv2/opencv.hpp>using namespace cv;class INRANGE{ public:v…

华为OD机试真题-围棋的气-2023年OD统一考试(C卷)---python代码

题目&#xff1a; 代码&#xff1a; """ # 输入&#xff1a;2的倍数 第一个为行号 0-18 第二个为列号 0-18第一行为黑色 第二行为白色思路&#xff1a;先求黑色&#xff0c;进行去重棋子的位置&#xff0c;再求白色 逐个棋子求坐标。 """ d…

OpenLayers6入门,如何销毁已经创建好的OpenLayers地图容器

专栏目录: OpenLayers入门教程汇总目录 前言 本章介绍如何销毁已经创建好的OpenLayers地图容器。 在某些场景下,可能会需要销毁之前的地图,重新创建新的地图的需要,因此本章介绍一下在开始创建地图前如何先销毁之前的地图的功能。 二、依赖和使用 "ol": &qu…

用CSS3画一个三角形

<style> .up{width:0;height:0;border: 100px solid transparent;border-top: 100px solid red;/*红色*/ } .down{width:0;height:0;border: 100px solid transparent;border-bottom: 100px solid blue;/*蓝色*/ } .left{width:0;height:0;border: 100px solid transpare…

【爬虫JS逆向-工具篇】浏览器内存漫游加密参数Hook实战教程

文章目录 1. 写在前面2. 环境搭建2. 加密定位实战 【作者主页】&#xff1a;吴秋霖 【作者介绍】&#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作&#xff01; 【作者推荐】&#xff1a;对JS逆向感兴趣的朋友可以关…

JWT 重点讲解

JWT 重点讲解 文章目录 JWT 重点讲解1. JWT 是什么2. JWT 的组成2.1 第一部分 HEADER2.2 第二部分 PAYLOAD2.3 第三部分 SIGNATURE 3. JWT 在线生成与解析4. JWT 的特点4.1 无状态4.2 可自定义4.3 扩展性强4.4 调试性好4.5 安全性取决于密钥管理4.6 无法撤销4.7 需要缓存到客户…