2016-03-22 11 views
-1

私は2Dプラットフォームを作成しています。私はプレイヤキャラクタGameObjectをシーンの別の場所に移動すると、プレイヤーが立ち往生してゲームが盛り上がる選手の元の位置からジャンプし、私はそれを移動した位置。Unity2D - プレイヤの相対的なアニメーションの位置付け

私の選手キャラクターは多くの部分から成り、それぞれ別々のGameObjectで構成されています。アニメーターコンポーネントを無効にすると問題が解消され、アニメーションがもうなくなってしまうので、問題は私のアニメーションには間違いないことが分かります。私は問題がプレイヤーキャラクターのアイドルアニメーションとそのポジションプロパティにあると信じています。彼の開始位置がハードコードされている場所にはスクリプトは添付されていません。

どのようにして子ゲームオブジェクトを親プレーヤーゲームオブジェクトに対して相対移動させることができますか?シーンのプレーヤーを元の位置から移動させることはできません。ここで

は、[プレーヤー、それが階層内の部品です】いくつかのスクリーンショット
あるhttp://i67.tinypic.com/bdlc1j.png
[アイドル動画] http://i64.tinypic.com/2gtp99x.png
http://i66.tinypic.com/261jb6c.png
[プレーヤーの元の場所ここに始まる場合、彼は作品] [プレイヤーは、ゲームのバグを移動させ、 ] http://i67.tinypic.com/292a2c3.png

+0

これは変です。何とかアニメーションは 'Beetle:Position'をアニメーション化しようとしていますが、アニメーションから' Chest:position'、 'Torso:position'と' Shell:position'を削除しようとしました。 –

+0

アニメーションを十分に使いこなした後、問題は私のアニメーターのどこかにあり、プレーヤーのgameObjectsパラメーターにあると思います。私は私の 'vSpeed'浮動小数点パラメータ 'rigidbody2D.velocity.y'が絶え間なく落ちていることに気付きました。したがって、空中ジャンプアニメーションにプレイヤーのキャラクターが詰まってしまいましたが、「接地されていない」ように移動することはできません。 – CodeLook12

答えて

1

Animatorコンポーネントの "Apply Root Motion"フラグを無効にしてみてください。 問題は、アニメーションが位置の値を変更するという事実に関連している必要があります。

+0

それはチェックされていません。私の選手キャラクターは実際に素早くスムーズに動くことができます。身体部分は一緒にとどまり、メインの親gameObjectのすべてがアニメーション内で動きません。子供だけです。親のgameObjectをシーンの別の位置に移動すると、それだけがうまくいきます。 – CodeLook12

0

私は、エディターで移動してその部分をアニメーション化していると思います。これは、アニメーションがアニメーションを行った元の位置を追跡していることを示します。アニメーションからこれらの部分を削除してみてください。

+0

はい、私は別の部分を移動しましたが、それは問題ではありません。親ゲームオブジェクト内で移動するすべての子ゲームオブジェクトが、その親自体でアニメーションを動かさずにコードで移動するからです。 – CodeLook12

0

プレイヤーキャラクターをシーンの別の位置に移動したときに発生するスパザージッタの問題を解決できませんでしたが、その周りに道が見つかりました。この問題は、AnimatorコンポーネントとgameObjectのRigidbody2d内にはっきりと嘘をつきました。

プレイヤーを別の位置に移動するのではなく、最初にシーンを再生したときにプレイヤーが開始する「スポーンポイント」を作成し、自由に動かすことができました。かなり:

関連する問題