问题标签 [urp]
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 - 为什么 LWRP/URP 在迁移到 Unity 2019.4.x 后不呈现任何内容?
我遇到了一个困扰了很长时间的问题。我有一个项目(针对 HoloLens 的基于混合现实工具包的应用程序),在迁移项目以适应 HoloLens 2 的过程中,我将 Unity 版本从 2019.1.f1 升级到了 2019.4.16f1。由于它适用于 HoloLens 设备,因此它使用了 Unity 的 LWRP(轻量级渲染管道)。现在我知道,从 Unity 2019.3 开始,我实际上应该使用 URP(通用渲染管道)。
可悲的是,在颠簸项目版本并在 2019.4 中打开它之后,URP 和 LWRP 似乎都不起作用。进入播放模式后相机预览变黑,游戏视图仅显示默认天空盒(下图)。
如果我不使用任何渲染管道,相机会渲染(当然很多元素都有默认的洋红色纹理,因为着色器被编码为使用 LWRP)。
任何想法可能是什么原因?我有正确的 URP 版本(已验证 2019.4)。或者有人对如何调试URP有一些提示吗?
unity3d - Unity URP 投下错误的阴影
我正在使用 Unity 2020.1.13f1c1,我目前遇到了一些阴影投射问题,其中投射了错误的阴影。当我在编辑器中进入播放模式时,就会发生这种情况。
角色身体的阴影成为我动画中第一个关键帧的头部阴影。但是当我在没有进入播放模式的情况下播放动画时,它不会在编辑器中发生。那里的影子很正常。
身体和头部是一个游戏对象下的 2 个独立的游戏对象(四边形)。这是我用于两个游戏对象的材质的 ShaderGraph。
另外,我注意到如果我将头部从聚光灯的范围内移开,阴影又是正常的。
谁能帮我解决这个问题?有什么地方我可能做错了吗?或者这是 Unity 中的一个小故障?或者可能与我将项目从旧版本的 Unity 升级到 2020.1.13f1c1 的事实有关?
[这个问题也在Unity论坛上发布]
----------更新 26/1/2021----------
FrameDebug 揭示了一些奇怪的东西。渲染管道实际上使用 2 种不同的纹理进行阴影和不透明渲染。在阴影渲染过程中,它使用头部的纹理。但在不透明渲染过程中,它使用来自身体的纹理。
我对 URP 渲染管道的内部不是很熟悉,但是管道如何在阴影渲染通道和不透明渲染通道之间切换同一网格的纹理?
ios - URP Simple Lit Emission 不适用于构建 iOS
当使用打开了 Emission 的 URP Simple Lit 的材质时,该材质在 Editor View 和 Game View 中都会发光,但是在构建项目并在 iOS 上运行时,材质发射不起作用。
底图工作正常并且颜色正确,但发射图似乎完全被忽略了。
关于为什么会发生这种情况的任何建议或想法?
我已经花了几天时间寻找不同的解决方案,但似乎没有任何效果。
我试过的东西:
- 添加了“URP Simple Lit”以始终在项目设置中包含着色器
- 用这个着色器添加了一个小立方体(显然这是一些标准着色器的修复)
- 尝试从脚本启用材料排放关键字
您可以在下面观察材质的设置,以及在 iOS 设备中运行的游戏和在 Unity 中的 Game View 中运行的游戏的屏幕截图。
unity3d - 在 Unity URP 中,AlphaTest Shader 的阴影显示相同
我是一名刚刚开始编写着色器的开发人员。
我正在制作一个在 Unity URP 环境中使用 alphatest 时渲染阴影的着色器。
但是,如下图所示,存在一个问题,即即使它们是不同的对象,阴影也呈现相同的效果。
我在 Frame Debugger 中检查了创建 Shadowmap 时纹理没有改变。
项目环境如下:
统一版本:2019.4.21
URP 版本:7.5.3
项目仓库:https ://github.com/lklab/UnityURPAlphaTestShadow
如果您能提供帮助,我将不胜感激。
※ 我已经在使用 Opaque 和 AlphaTest (AlphaClip)。
unity3d - Unity 无法在运行时通过脚本更改材质
目标
我创建了一个在材质“TestMaterial”中使用的着色器图。我有一个带有默认材质属性的精灵渲染器组件的游戏对象。
在运行时,当用户单击一个简单的按钮时,我想用我的新材质“TestMaterial”更改我的游戏对象 > Sprite 渲染器 > 材质属性“默认”。
语境
我使用通用渲染管道和 Unity 2019.4.12.f1。在我使用功能编辑 > 渲染管道 > 通用渲染管道 > 2D 渲染器 > 将项目更新为 2d 渲染器之前,我的代码运行良好。
我所做的测试 我 的“TestMaterial”在编辑器中运行良好,当我的游戏对象直接使用此材料时,在运行时也是如此。“TestMaterial”只有在我更新脚本中的材料时才起作用,我的游戏对象保留旧的默认材料。
代码
截图 Unity 编辑器