如何获取 Unity 着色器属性的完整列表

2023-11-23

我对着色器还很陌生,一直在寻找 Unity 着色器属性的完整列表。我还没有找到任何这样的文档。我发现的是SL-属性。在哪里可以找到属性及其功能的完整列表?

UPDATE

给出了一个例子SL-属性显示水着色器的属性列表,即_WaveScale, _Fresnel, _BumpMap等等。了解这些特定属性可以更轻松地找到解决方案。在我发现以下属性之前,我最近尝试编写类似于笔划的内容。

fixed _Stroke;
half4 _StrokeColor;  

Unity 有自己的着色器语法,称为着色实验室.

有关它的所有必要信息都可以在此找到website.
至于属性,看看这个link.

正如英伟达不支持CG不再了,最新的unity版本实际上使用编译着色器HLSL编译器并将生成的字节码转换为 GLSL。 CG 着色器代码继续工作,基本保持不变。现在,您可以使用 HLSL 语法来利用 CG 不支持的现代着色器功能,例如计算着色器和曲面细分。

例如这些着色器属性:

_MyColor ("Some Color", Color) = (1,1,1,1) 
_MyVector ("Some Vector", Vector) = (0,0,0,0)
_MyRange ("My Range", Range (0, 1)) = 1
_MyFloat ("My float", Float) = 0.5 
_MyInt ("My Int", int) = 1 
_MyTexture2D ("Texture2D", 2D) = "white" {} 
_MyTexture3D ("Texture3D", 3D) = "white" {}
_MyCubemap ("Cubemap", CUBE) = "" {}

将在 Cg/HLSL 代码中声明为访问:

fixed4 _MyColor;
float4 _MyVector;
float _MyRange;
float _MyFloat; 
int _MyInt;
sampler2D _MyTexture2D;
sampler3D _MyTexture3D;
samplerCUBE _MyCubemap;


ShaderLab 中的属性类型以这种方式映射到 Cg/HLSL 变量类型:

• 颜色和矢量属性映射到float4, half4 or fixed4变量。
• Range 和Float 属性映射到float, half or fixed变量。
• 纹理属性映射到二维采样器常规(2D)纹理的变量。
• 立方体贴图映射到采样器CUBE.
• 3D 纹理映射到采样器3D.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取 Unity 着色器属性的完整列表 的相关文章

  • 统一的阿拉伯语输入字段

    有没有办法将输入字段的语言统一更改为阿拉伯语 我尝试了ArabicSupport 它正确显示了阿拉伯语 但将其与输入字段一起使用却不起作用 因为 GameObject Find input field GetComponent
  • GLSL 中统一浮点行为和常量浮点行为的不同

    我正在尝试在 GLSL 中实现模拟双精度 并且观察到一种奇怪的行为差异 导致 GLSL 中出现细微的浮点错误 考虑以下片段着色器 写入 4 浮点纹理以打印输出 layout location 0 out vec4 Output unifor
  • 在 Unity 4.6 中构建的游戏中,插页式广告未在实时 Android 设备上显示

    我使用的是Unity版本 gt 4 6 0Admob版本 gt Google 移动广告 Unity 插件 v3 1 3 https github com googleads googleads mobile unity releases t
  • 在 Unity 中平滑动态生成的网格?

    给定 Unity 和 C 中的网格 其本身是通过合并更简单的基础网格实时创建的 我们如何在运行时 将其变成平滑的 几乎像包裹在布中的网格版本一样 不是完全凸出的版本 而是更圆润 软化锋利的边缘 桥接深间隙等 理想情况下 表面也将像 平滑角度
  • 空合并运算符分配给 self

    我目前在 Unity 中设置了两个脚本来处理一些 UI 音频 一个是管理器 另一个是为特定 UI 元素播放声音 我所拥有的简化版本是这样的 public class AudioUIManager MonoBehaviour Only one
  • TextMeshPro 中不显示西里尔字母

    TextMeshPro 中不显示西里尔字母 显示方块而不是俄语字母 我在网上寻找其他人对同一问题的分析 但我什么也不明白 也没有帮助 在 Asset Creator 中 十六进制似乎被正确指示 但仍然没有 谁能帮我找出问题所在 在此输入图像
  • Unity IAP 无法在 Apple Testflight 中工作

    过去几天尝试让 IAP 在我的第一个游戏应用程序的 TestFlight 上运行时遇到问题 IAP 在 Unity Editor 假商店 和 Google Play 内部测试轨道 上运行良好 我没有从苹果商店收到任何产品价格 并且购买按钮没
  • Unity C# 嵌套 IEnumerator

    在我的代码中 我嵌套了 IEnumerator 方法 如下所示 private IEnumerator PerformRequest string url Doing stuff UnityWebRequest request UnityW
  • 通过脚本隐藏/取消隐藏 Unity3D 中的对象

    我想在一切开始之前将场景的一部分设置为隐藏 所以可以说我有一些isHidden 我试图找到 我设置的属性true在我的场景的第一帧之前 在某些时候我想取消隐藏它并触发动画 我知道如何触发动画 我发现隐藏对象的唯一方法是将其设置为 SetAc
  • 如何在 OpenGL 中绘制镜像某些东西的镜子?

    根据我的理解 要在 OpenGL 中进行镜像 您基本上需要绘制场景 然后将所有内容翻转并再次绘制 只是使其通过镜子可见 从而在镜子中创建完美翻转的图像 但我看到的问题是 执行此操作时 唯一可以看到其他镜子的镜子是在前一个镜子之后渲染的镜子
  • 3D 图形批处理

    很多网站 文章都说 批量 批 批 有人可以解释一下着色器中的 批处理 代表什么吗 即 是否 改变纹理 更改任意着色器变量 意味着某些东西不能 批处理 最简单的总结方法就是尝试尽可能少地调用 API 来绘制您需要绘制的内容 使用顶点数组或 V
  • glsl 着色器 - 颜色混合,正常模式(就像在 Photoshop 中一样)

    我试图创建混合 2 种颜色的效果 实际上是图像和颜色作为图像叠加 就像在 Photoshop 颜色叠加 和 正常混合 模式中一样 我正在使用 libgdx 这就是我到目前为止所拥有的 attribute vec4 a position at
  • Unity 4.3 - 2D,如何以编程方式将精灵分配给对象

    我正在尝试创建一个对象 该对象将负责创建和显示不同的精灵 因此我想以编程方式直接访问资产 精灵 而不是在该对象下的层次结构中拖放精灵 有没有一种方法可以以编程方式创建一个新的精灵并分配我在资产文件夹中拥有的内容 我还想要一种数据结构 其中在
  • 澄清Update() 和FixedUpdate() 的使用? Unity2D [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 所以我知道FixedUpdate应该用于物理操作等 但我很难理解什么算作物理 例如 我通过查看按下的键来移动角色 然后施加力 目前我正
  • 在 xcode 中找不到 AppDelegate.m

    我目前正在尝试将 Facebook SDK 实现到我的 Unity 应用程序中 但我找不到AppDelegate m我必须修改它才能实现 SDK 我尝试在 Xcode 文件夹中到处搜索 但似乎无处可寻 我也在谷歌上搜索 但因为我真的不明白
  • RigidBody2D 冻结 X 位置

    我想知道是否有一种方法可以使用 Unity 的 RigidBody2D 来模拟以下代码行 而不是使用普通的 RigidBody rigidbody constraints RigidbodyConstraints FreezePositio
  • 如何获取枚举数作为常量?

    From 枚举中定义的项目总数 https stackoverflow com questions 856154 total number of items defined in an enum 我发现我可以使用以下方法获取枚举数 Enum
  • 将复杂数据类型从纯 c 插件传递到 Unity C# 脚本

    我目前正在 Objective C 中为 Unity 编写一个应用内购买插件 使用纯 C 作为 Unity 和 Objective C 代码之间的 API 介绍我面临的问题 基本功能已经可以使用了 也就是说 我的插件中已经有一个非常基本的函
  • StartCoroutine 被调用多次 (C# Unity)

    我正在 Unity 中创建一个弹出菜单选项 现在我的问题是我在 void update 中创建的协程被调用了很多次 我的意思是在我的 Unity 控制台上 Debug Logs 正在递增 它不应该正确 因为它已经是协程了 有人可以帮助我了解
  • 在 Unity 进程和另一个 C# 进程之间进行本地 IPC 的最快方法 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我希望每秒大约 30 次从 C 应用程序向我的 Unity 应用程序传送大量数据 由于 Unity 不支持映射内存和管道 我考虑了 t

随机推荐

  • 找到覆盖整组区间的最少点数? [复制]

    这个问题在这里已经有答案了 给定一组区间 x y where 0 lt x y lt 2000如何找到可以覆盖所有间隔的最小点数 即每个间隔应包含结果点集中至少一个点 example Given Set of intervals 2 5 3
  • DESC 和 ASC 作为存储过程中的参数

    我有以下 SP 用于对新闻文章列表进行分页 正如你可能猜到的那样 count是要返回的行数 start是从中选择行的索引 按内部查询排序 orderby指示排序依据的列 并且 orderdir指示是否对一个方向或另一个方向进行排序 我原来的
  • 每个单元测试应该测试多少?

    我的每个单元测试应该检查多少内容 例如我有这个测试 TestMethod public void IndexReturnsAView IActivityRepository repository GetPopulatedRepository
  • 在 Pandas 中创建类似 Excel 的 SUMIFS

    我最近了解到pandas并很高兴看到它的分析功能 我正在尝试将 Excel 数组函数转换为 Pandas 相当于我为创建绩效归因报告而创建的自动化电子表格 在此示例中 我根据其他列中的条件在 Excel 中创建了一个新列 SUMIFS F
  • JavaScript:设置边框半径

    如何使用纯 JavaScript 无 jQuery 无插件等 设置 moz border radius document getElementById id Try document getElementById id style bord
  • 如何使 ItemsControl 拉伸以填充所有可用空间?

    我有一个 ItemsControl 其 ItemsSource 绑定到一个项目列表 每个项目的大小尽可能小 我需要的是控件和控件中的项目拉伸以适应所有可用空间 我尝试将控件及其项目上的 VerticalAlignment 设置为 Stret
  • 为什么 HashMap::get_mut() 取得其余作用域的映射所有权?

    我有以下代码 将一些值插入到 HashMap 中 然后将它们取出 use std collections HashMap fn things let mut map HashMap new map insert 5 thing map in
  • 如何在 Cloudflare Workers 中设置 CORS?

    我是 Cloudflare Workers 的新手 如何在 Cloudflare Workers 中设置 CORS response await cache match cacheKey if response handle fetch d
  • 我如何迭代 Laravel 模型中的属性?

    我有一个具有许多属性的 Laravel 模型 所以 我需要迭代这些属性 我怎样才能做到这一点 像这样的东西 foreach model gt attributes as attribute use attribute endforeach
  • MySQL中多个字段的排序

    我有一个包含 2 个字段 日期 和 重要性 的表 现在我想按降序对这两个字段进行排序 以便各行按每个日期的重要性排序 例如 如果排序正确 行应返回如下所示 Dec 3 2010 10 Dec 3 2010 10 Dec 3 2010 8 D
  • redux-form 字段值可以保存对象而不仅仅是字符串吗?

    redux form 字段值可以保存对象而不仅仅是字符串吗 考虑以下示例 class SelectQuestions extends Component render const fields question1 question2 han
  • Azure 上的 Orchard 性能

    Using http docs orchardproject net Documentation Deploying Orchard to Windows Azure我已成功将 Orchard 部署到 Azure 中 每 20 分钟左右没有
  • 如何运行除 docker 容器中的步骤之外的所有 jenkins 管道步骤

    我正在尝试设置一个 jenkins 多分支管道来在 docker 容器中运行所有代码验证步骤 然后构建 docker 映像并将其推送到所述 docker 容器之外 目前 我的 Jenkinsfile 看起来有点像这样 为了可读性而缩小 pi
  • 创建 React Native 应用程序。 - 插件/预设文件不允许导出对象,只能导出函数

    需要一些帮助 我在左字段中遇到了一个奇怪的错误 但我无法调试 直到昨天我在另一台 Mac 上设置了 React Native 项目后 该项目才成功捆绑 我想知道这是否来自我必须重新安装的 npm 软件包的版本控制 任何方向都会有帮助 它总是
  • Android Facebook API 和 ShareLinkContent

    对于我的 Android 应用游戏 我实现了一个按钮 允许用户分享游戏结果 我已经集成了 Facebook SDK 因此我的项目知道所有类 清单包含以下标签
  • iOS Setter 和 Getter 以及带下划线的属性名称

    所以我有一个名为description的NSString属性 定义如下 property strong nonatomic NSMutableString description 当我定义 getter 时 我可以将其称为 descript
  • strtotime 使用不同的语言?

    strtotime 是否仅适用于服务器上的默认语言 下面的代码应解析为 2005 年 8 月 11 日 但它使用法语 aout 而不是英语 aug 有什么想法如何处理这个问题吗 法国月份日期是 詹维尔 费夫里尔 马尔斯 艾薇儿 麦朱因 朱耶
  • nginx中的request_time如何小于upstream_response_time?

    我明白nginx是如何request time可以大于upstream response time 它只是意味着 nginx 和客户端之间的网络连接速度很慢 我不明白的是如何request time可以少一点吗 我分析了 nginx 日志
  • JavaScript 和 CSS 顺序

    我有一个 HTML 文件 它链接到 CSS 文件和 JavaScript 文件 是先执行 JavaScript 再应用 CSS 还是反之亦然 有什么办法可以改变顺序吗 Thanks 通常认为将脚本导入为好主意late尽可能 你的样式表ear
  • 如何获取 Unity 着色器属性的完整列表

    我对着色器还很陌生 一直在寻找 Unity 着色器属性的完整列表 我还没有找到任何这样的文档 我发现的是SL 属性 在哪里可以找到属性及其功能的完整列表 UPDATE 给出了一个例子SL 属性显示水着色器的属性列表 即 WaveScale