unity-game-engine - 基本旋转着色器 2D 拉动 Sprite 表中的其他 Sprite

标签 unity-game-engine shader sprite sprite-sheet shader-graph

我一直在尝试实现基本的旋转着色器效果,而且我已经非常接近实现它了。我是着色器新手,不明白这里发生了什么。

我有一个包含多个字符的 Sprite 表,示例如下:

Spritesheet

我创建了这个旋转着色器:

Shader graph

它有点工作,但是当应用旋转时,其他 Sprite 会出现在效果中,因为它们位于 Sprite 表中。在下面的示例中,您可以看到 Sprite 被“旋转”(并且中心点不正确),然后另一个 Sprite 出现。

enter image description here

有什么方法可以做到这一点,而无需导出 Sprite 并为每个敌人创建 Material ?并将旋转效果正确居中?

感谢您的帮助!

最佳答案

我不确定您使用的是哪个 Unity 版本,但这在论坛中已经讨论了一段时间,Unity 团队实际上认为这种行为是设计使然(至少在 2019 年和 2020 年) ),正如您在 link 中看到的那样.

尽管将 Sprite 分成单独的文件时可能会失去优化,但我认为最好这样做。

有一些hacky solutions在某些情况下有效,因此您可以根据您的项目进行尝试。

关于unity-game-engine - 基本旋转着色器 2D 拉动 Sprite 表中的其他 Sprite ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76282747/

相关文章:

ios - Cocos2D setDisplayFrame View 更改后不起作用?

c# - 向刚体添加力不起作用。错误: UnityEngine.组件不包含AddForce的定义并且没有AddForce的扩展方法

mysql - 使用 php 在 mysql 中更新记录为 1

android - Unity3D 修复了 TimeStep - Android FPS 问题

ios - UnityEngine.Object 不包含 GetComponent 的定义

c++ - OpenGL 不显示中间颜色

c++ - 如何平滑自定义 QML 元素的绘制?

rotation - 控制一个 Sprite 的旋转,使其始终瞄准另一个 Sprite

jQuery 使用 CSS Sprite 控制交互 "game"

ios - 仅在 iOS 上存在 GLSL 透明度问题