mimyquality / FukuroUdon

MimyLab's U# utilitiy pack for VPM.
MIT License
28 stars 4 forks source link

ManualObjectSync#TransformMoveCheckメソッド内の条件式が間違っています #1

Closed pkpkTech closed 1 year ago

pkpkTech commented 1 year ago

該当箇所 https://github.com/mimyquality/FukuroUdon/blob/fcef8d1d08fc7148022c5779d12f4bd8248061a9/Packages/com.mimylab.fukuroudon/Runtime/ManualObjectSync/Scripts/ManualObjectSync.cs#L332-L343 この条件式ですとmoveCheckSpaceが一致していなくても_transform.localRotationもしくは_transform.rotationに変化があった場合にtrueとなり、移動した扱いになってしまいます。 ( false && false || truetrueとなる )

座標の比較をカッコで囲んで以下の様にすれば問題ないと思います。

if (moveCheckSpace == Space.Self
            && ( _transform.localPosition != _localPosition
            || _transform.localRotation != _localRotation ) )
略
else if (moveCheckSpace == Space.World
            && ( _transform.position != _syncPosition
            || _transform.rotation != _syncRotation ) )

確認していただき、修正をお願い致します。