微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Unity URP 投射错误的阴影

如何解决Unity URP 投射错误的阴影

我正在使用 Unity 2020.1.13f1c1,我目前遇到一些阴影投射问题,其中投射了错误的阴影。当我在编辑器中进入播放模式时,会发生这种情况。

PlayAnimationInEditor_PlayMode

角色身体的阴影成为我动画中第一个关键帧的头部阴影。 但是当我在没有进入播放模式的情况下播放动画时,它不会在编辑器中发生。那里的阴影很正常。

PlayAnimationInEditor

身体和头部是一个游戏对象下的 2 个独立的游戏对象(四边形)。 这是我用于两个游戏对象的材质的 Shadergraph

ShaderGraphForManualAnimation

另外,我注意到如果我将头部移离 Spotlight 的范围,阴影又会恢复正常。

MoveHeadOutofSpotlight

谁能帮我解决这个问题?有什么地方我可能做错了吗?或者这是Unity中的一个小故障?或者可能与我将项目从旧版本的 Unity 升级到 2020.1.13f1c1 的事实有关?

[此问题也发布在 Unity Forum]

----------更新 26/1/2021----------

FrameDebug 揭示了一些奇怪的东西。渲染管线实际上使用 2 种不同的纹理进行阴影和不透明渲染。 在阴影渲染通道中,它使用头部的纹理。但是在不透明渲染过程中,它使用来自身体的纹理。

ShadowPass

OpaquePass

我对URP渲染管线的内部不是很熟悉,但是管线如何在阴影渲染通道和不透明渲染通道之间切换同一网格的纹理?

解决方法

Nvm 好像是 Unity 项目自动升级的问题。重做动画就解决了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。