Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 如何正确翻转稍微复杂的2D角色?_Unity3d - Fatal编程技术网

Unity3d 如何正确翻转稍微复杂的2D角色?

Unity3d 如何正确翻转稍微复杂的2D角色?,unity3d,Unity3d,好的,我从GameDevMarket买了一大包资产,里面有一个小野蛮人。我正在为他的动作编写脚本,但我遇到了一个我不知道如何克服的障碍。基本上,当他向左移动时,我希望他转身,但我能想到的任何方法都不能正常工作 首先,当我尝试用四元数(0180,0,0)或(0,-180,0,0)甚至(180,0180,0)将他旋转180度时,我得到的精灵都是无序的,因此: 当我在所有子组件中循环,获取所有的sprite渲染器并设置“flipX”时,我得到了这样的废话: 任何人都知道这里发生了什么,以及我如何超

好的,我从GameDevMarket买了一大包资产,里面有一个小野蛮人。我正在为他的动作编写脚本,但我遇到了一个我不知道如何克服的障碍。基本上,当他向左移动时,我希望他转身,但我能想到的任何方法都不能正常工作

首先,当我尝试用四元数(0180,0,0)或(0,-180,0,0)甚至(180,0180,0)将他旋转180度时,我得到的精灵都是无序的,因此:

当我在所有子组件中循环,获取所有的sprite渲染器并设置“flipX”时,我得到了这样的废话:


任何人都知道这里发生了什么,以及我如何超越它并正确地翻转我的小家伙?

我不确定它是否适用于嵌套精灵,但你可以尝试将X比例翻转到-1。您应该只需要对大多数父级精灵执行此操作,而不是对每个精灵执行此操作。

我不确定它是否适用于嵌套精灵,但您可以尝试将X比例翻转为-1。你应该只需要为大多数精灵的父母做这件事,而不是每个精灵。

你是个该死的天才。。。或者我比我想象的更像一个傻瓜。两者都是同样合理的。。。我要和你一起去,你是个天才。非常好用,非常感谢!肯定教了我一些新东西。没问题!这是一个超级简单的解决方案,但在大多数情况下效果相当好。如果这回答了问题,您介意将其标记为已回答吗?请记住,如果您走这条路线,您的网格将不会被批处理,并且您将在所有绘制调用中受到性能影响(Unity不会在负比例变换下批处理任何网格)。我们使用一个脚本来缓存
Awake()
上字符片段的z顺序。当我们翻转它们时,我们反转z顺序并在y轴上旋转180度。(顺便说一句,我仍然对这个答案投赞成票)还有,@Ace你可以选择,因为它对你有用;这将给回答者提供一些额外的帮助;]你是个该死的天才。。。或者我比我想象的更像一个傻瓜。两者都是同样合理的。。。我要和你一起去,你是个天才。非常好用,非常感谢!肯定教了我一些新东西。没问题!这是一个超级简单的解决方案,但在大多数情况下效果相当好。如果这回答了问题,您介意将其标记为已回答吗?请记住,如果您走这条路线,您的网格将不会被批处理,并且您将在所有绘制调用中受到性能影响(Unity不会在负比例变换下批处理任何网格)。我们使用一个脚本来缓存
Awake()
上字符片段的z顺序。当我们翻转它们时,我们反转z顺序并在y轴上旋转180度。(顺便说一句,我仍然对这个答案投赞成票)还有,@Ace你可以选择,因为它对你有用;这将给回答者提供一些额外的帮助;]将y轴旋转180º将y轴旋转180º