【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输入电流值。仅当相应的输入端口未连接时才可见。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Flashbit空投

空投要点 明牌空投交互简单,仅需3步,零gas费要求加密钱包在eth链有过交易需要有x和discord账号 空投简介 是一个社区驱动的项目,专门针对Blast生态,项目方提出了空投计划,参与过该生态其他项目空投的都清楚&#xf…

探索什么是模糊测试 Fuzzing Test

什么是 "模糊测试"? Fuzzing 是一种发现软件缺陷的方法,它通过向程序提供随机输入来寻找导致程序崩溃的测试场景(原理有点类似Monkey Test)。可以帮助你快速了解程序整体的健壮性,并帮助你发现和修复关键的缺…

【Python常用包】pathlib

目录 简介Pathlib 库实现Path 创建路径对象检查路径类型创建和删除路径(目录与文件)读写文件路径匹配路径拼接和解析路径属性路径迭代和列出目录内容 小结 简介 Pathlib 是一个用于处理文件路径的 Python 库,提供了许多实用的函数和方法来处…

windows安装编译的python包

有时windows无法直接通过网络安装python包,需要从一个地方先下载好,再去安装,下载的一些编译好的python包,安装时发现提示“is not a supported wheel on this platform”,那可能就是下载编译好的版本不对。 可以通过…

代码随想录第二十四天 39.组合总和 40.组合总和II 131.分割回文串

LeetCode 39 组合总和 题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个…

电表(3)EC600N 4G模块通过mqtt向服务器发送数据

工具 1、ec600 2、stm32f030c8 3、keil5 4、腾讯云服务器(ubutu20.04) mqtt服务器 sudo apt install mosquitto mosquitto-clients sudo systemctl start mosquitto sudo vim /etc/mosquitto/mosquitto.conf sudo systemctl status mosquittolistene…

Aspose.Words For JAVA 动态制作多维度表格(涵2024最新无水印包)

全网最全Aspose.Words For JAVA 高级使用教程: CSDNhttps://blog.csdn.net/LiHaoHang6/article/details/133989664?spm1001.2014.3001.5501 运行截图: 所谓多维度表格通常包含多个维度, 每个维度都代表一种数据属性,多维度表格可以用于数据分析,通过不…

ArcgisForJS如何使用ArcGIS Server发布的切片地图服务?

文章目录 0.引言1.准备海量地理数据2.ArcGIS Server发布切片地图服务3.ArcgisForJS使用ArcGIS Server发布的切片地图服务 0.引言 ArcGIS Server是一个由Esri开发的地理信息系统(GIS)服务器软件,它提供了许多功能,包括发布切片地图…

Python实战:统计字符串中的英文字母、空格、数字及其他字符出现的个数

Python实战:统计字符串中的英文字母、空格、数字及其他字符出现的个数 🌈 个人主页:高斯小哥 🔥 高质量专栏:Matplotlib之旅:零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程 &…

Servlet使用过程中常见问题总结

💕"Echo"💕 作者:Mylvzi 文章主要内容:Servlet使用过程中常见问题总结 前言:笔者在学习Servlet的过程中遇到了很多问题,这里总结一下 1.乱码问题 如果我们在响应报文中传输中文"你好",那么在浏览器之中显示…

Redis中的AOF重写到底是怎么一回事

首先我们知道AOF和RDB都是Redis持久化的方法。RDB是Redis DB,一种二进制数据格式,这样就是相当于全量保存数据快照了。AOF则是保存命令,然后恢复的时候重放命令。 AOF随着时间推移,会越来越大,因为不断往里追加命令。…

Java基于SpringBoot+Vue的图书馆管理系统,附源码,数据库

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

一款跳转警告HTML单页模板源码

一款跳转警告HTML单页模板,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改&#xff0c;双击html文件可以本地运行效果&#xff0c;也可以上传到服务器里面&#xff0c;重定向这个界面 代码如下 <!DOCTYPE html> <html> <!--QQ沐编程 www.q…

HarmonyOS—使用预览器查看应用/服务效果

DevEco Studio为开发者提供了UI界面预览功能&#xff0c;可以查看应用/服务的UI界面效果&#xff0c;方便开发者随时调整界面UI布局。预览器支持布局代码的实时预览&#xff0c;只需要将开发的源代码进行保存&#xff0c;就可以通过预览器实时查看应用/服务运行效果&#xff0c…

统计图玫瑰图绘制方法

统计图玫瑰图绘制方法 常用的统计图有条形图、柱形图、折线图、曲线图、饼图、环形图、扇形图。 前几类图比较容易绘制&#xff0c;饼图环形图绘制较难。 还有一种玫瑰图的绘制也较难&#xff0c;今提供玫瑰图的绘制方法供参考。 本方法采用C语言的最基本功能&#xff1a; &am…

axure9.0 工具使用思考

原型设计软件【AxureRP】快速原型设计工具原型设计软件【AxureRP】快速原型设计工具原型设计软件【AxureRP】快速原型设计工具原型设计软件【AxureRP】快速原型设计工具原型设计软件【AxureRP】快速原型设计工具原型设计软件【AxureRP】快速原型设计工具原型设计软件【AxureRP】…

Kafka3.x进阶

来源&#xff1a;B站 目录 Kafka生产者生产经验——生产者如何提高吞吐量生产经验——数据可靠性生产经验——数据去重数据传递语义幂等性生产者事务 生产经验——数据有序生产经验——数据乱序 Kafka BrokerKafka Broker 工作流程Zookeeper 存储的 Kafka 信息Kafka Broker 总…

预告 | 飞凌嵌入式即将亮相第八届瑞芯微开发者大会(RKDC2024)

2024年3月7~8日&#xff0c;第八届瑞芯微开发者大会&#xff08;RKDC2024&#xff09;将在福州举办&#xff0c;本届大会以“AI芯片AI应用AloT”为主题&#xff0c;邀请各行业的开发者共启数智化未来。 本届大会亮点颇多&#xff0c;不仅有13大芯片应用展示、9场产品和技术论坛…

洛谷 【算法1-2】排序

【算法1-2】排序 - 题单 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 鄙人不才&#xff0c;刷洛谷&#xff0c;迎蓝桥&#xff0c;【算法1-2】排序 已刷&#xff0c;现将 AC 代码献上&#xff0c;望有助于各位 P1271 选举学生会 【深基9.例1】选举学生会 - 洛谷 题目 解答…

YOLOv9 | 利用YOLOv9训练自己的数据集 -> 推理、验证(源码解读 + 手撕结构图)

一、本文介绍 本文给大家带来的是全新的SOTA模型YOLOv9的基础使用教程&#xff0c;需要注意的是YOLOv9发布时间为2024年2月21日&#xff0c;截至最近的日期也没有过去几天&#xff0c;从其实验结果上来看&#xff0c;其效果无论是精度和参数量都要大于过去的一些实时检测模型&…