问题标签 [unity3d-shaders]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unity3d - 将 XNA Shader 通道、混合和剔除模式移植到 Unity shaderlab
我不得不将 XNA 着色器移植到 Unity 的着色器中,并想验证我是否正确地执行了此操作。
Pass1
使用 alpha 混合的部分,如SrcBlend
,DestBlend
和 set's cull to none 是我要确保我做对的唯一地方。
这是 XNA 着色器版本:
这是我制作的 Unity Shaderlab 端口:
它似乎在 Unity 中运行良好,但这与 Unity 中的等效通道设置完全相同吗?如果不是,则需要进行哪些更改才能获得确切的等效性。
unity3d - 如何从天空盒获取光照信息?
我是 Unity3d 着色器的新手。我现在正在编写一个自定义未点亮着色器。我知道我可以使用_WorldSpaceLightPos0.xyz
并_LightColor0.rgb
获取定向光源的信息。
但是,如果我有一个天空盒而不是一个光源,我怎样才能得到光照信息呢?现在radiance(Li)
来自我的天空盒。我怎样才能得到它们的价值并计算Li*my_custome_brdf
?
谢谢
c# - Unity 中的闪光效果
我正在尝试为松树上的纹理添加闪闪发光的效果。我尝试按照其他线程中的建议使用此处的代码http://developer.amd.com/wordpress/media/2012/10/Shopf-Procedural.pdf (P.22)。但我无法将它应用于我的着色器。
树最初看起来像这样:
现在我希望我的闪光功能的结果会在纹理中产生许多小的白色火花。因此,如果我只使用来自 flash 函数的值(取消注释 c = flashValue 列)作为颜色,则树应该变成黑色,并带有许多白色的小火花。
但它看起来更像这样:
我是从我的闪光功能中得到错误的值,还是我只是错误地应用它们?
unity3d - 只需在 Cg 着色器中获取对象的缩放比例
假设您有一个简单的 Unity 着色器。它根本不使用任何纹理。它只是抓住了位置..
然后画一个正方形..
示例中的四边形已使用变换拉伸约 3:1。
如果在着色器中我们只知道缩放比例(或者,只是比率),我们可以很容易地绘制“正方形”
这显然是一种常见的日常技术,用于广告牌、2D 图像和背景等。
在当前的统一(2018 年)中,您如何简单地获得对象的当前缩放,在 Cg 中?
这是那些疯狂的 Unity 事情之一,它 (1) 完全没有记录 (2) 关于它的唯一可用信息长达 13 年,我的意思是一些相关的人可能已经去世 (3) 它已经发生了巨大变化在不同的 Unity 版本中,因此经常讨论它是完全错误的。叹。
怎么做?你能?
目前我只有一个简单的脚本传递值,这还可以,但有点粗制滥造。
unity3d - Unity 的 YUV 着色器?
我在 Unity 中有一些(适当的、平面的)YUV 纹理,我只是想看看它们以供开发人员使用。
Unity(他们的着色器语言变体)实际上是否有一个有效的 YUV 着色器?
从概念上讲,从 YUV 转换为 RGB 很简单……但有点繁琐。
unity3d - 统一按钮丢弃着色器中的像素
我正在使用我自己的着色器的按钮。这工作正常,除了统一似乎在像素到达我的着色器之前丢弃/剪切像素。
我的图像顶部和底部三分之一是透明的。如果我做类似 color=fixed4(1,0,0,1); 只有中间部分是红色的。按钮和纹理都是方形的,我可以在场景视图中看到它们的位置都正确。关于如何防止按钮剪切这些透明像素的任何想法?
着色器如下:
unity3d - 我将如何更改此着色器代码以更改它导致对象旋转的轴?
我正在玩这个 Unity 示例游戏中的代码,以了解如何使用着色器转换对象。游戏使用着色器来弯曲世界,其中一个着色器还会使对象围绕它们的 y 轴旋转。我想修改它以围绕它的 z 轴旋转一个对象。
我尝试交换 z 和 y,但这确实使我用于此实验的圆柱体围绕 z 轴旋转,但它也会导致圆柱体拉伸。仅将 rotVert.z 更改为 rotVert.y 会导致圆柱体以 45 度角在其一侧旋转。谁能告诉我哪里出错了?
这是导致对象绕 y 轴旋转的代码:
unity3d - 为什么添加到 ui 面板的材料在 android build 中不可见,但在 unity3d 的编辑器窗口中工作正常?
添加到 UI 面板的材料在编辑器窗口中有效,但在 android build 中无效。如何解决这个问题?
编辑器截图
安卓截图
笔记:
- 我尝试将着色器添加到项目设置菜单中的“始终包含的着色器”列表中。仍然没有修复。
- 我没有更改代码中的着色器/材质。
- 这在以前的统一版本中运行良好。(我的统一版本是2018.3.11f1)
- 相同的材质在其他游戏对象(如立方体等)中工作正常,但不适用于任何其他 UI(如按钮、画布等)