首页 文章

C#:如何转换父级,但只转换父级而不是子级

提问于
浏览
0

(我的问题也可以这样改写:如何忽略对孩子的继承转换,它仍然是孩子 . )

我知道这听起来有点反直觉,但也许有一种很好的方法可以做到这一点 .

让我解释一下我的情况,这样更有意义 . 看下面的图片,你可以看到我的角色,他被分成几个游戏对象(因为我一直在创建动画“动画”-tab . )他们都依赖于动画和动作的对方 . 当玩家需要翻转时,它们也会翻转 . 当玩家转身时我想要所有的身体部位移动,但是当翻转部分时,我明确地只想要除“头部”对象之外的所有部分都要翻转 . 但是那个对象是在“身体” - 对象中,我“命令”翻转..所以也许你会说只是选择性地翻转“身体”内的物体?我想我可以做到这一点,但我也想独立地翻转身体,但只是“身体”中的另一个项目,即头部 .

我知道一些快速的解决方案,比如打破与身体和头部的父/子链接,但如果可能的话,我仍然希望它作为一个孩子 . 我也知道你可以在没有子链接的情况下跟踪身体的位置偏移到头部 . 但那不是我想要的 .

那么我有没有办法让头部成为身体的一部分,但仍然忽略了身体重新缩放对头部的继承 .

此外,如果您想知道翻转的位置,则在层次结构中播放器对象的播放器脚本中 . 此外,如果我忘记了一些信息或代码,你只需要问 .

Hierarchy in Unity

1 回答

  • 0

    您可以使用另一个名为“ BodyWithoutHead ”的组件,将其添加到正文中,并将其作为除头部以外的所有内容 . 然后只需翻转 BodyWithoutHead 而不是翻转身体 .

    所以你的Hierarchy看起来像这样:

    - Body
        - BodyWithoutHead
            - (everything other than the head)
        - Head
    

相关问题