2017-09-09 14 views
0

ユニティがピボットポイントをオブジェクトに割り当てる方法についての情報はすべて見つけようとしましたが、私はピボットポイントを移動する方法、完了しました。私は空のGameObjectsで包まれたメッシュでランダムに作成された背景を持つ2Dゲームを作成しています。これらのオブジェクトは、有機的に整形されていますが、重なり合わないように配置できるようにオブジェクトを囲む矩形を返すプロパティを持っています。問題は、アルゴリズムがピボットポイントがオブジェクトの中心になると仮定していることです。私が知りたいことはUnityがどのようにピボットポイントを設定するかを決める方法です。ピボットポイントが境界の中央にくるように、親オブジェクト内でメッシュをどのくらい動かす必要があるかを予測できるようにします矩形。ユニティは、生成されたメッシュのピボットポイントの位置をどのように割り当てますか

答えて

0

可能な修正:

は、実行時にメッシュを作成し、それが常に一定の隅にピボットポイントを置くか、少なくとも相対的に同じ場所を話すかどうかを確認してみてください。

もしそうなら、あなたはピボットポイントがどこにあるのか知っていて、あなたのコードでそれを考慮に入れることができます。スポーンするメッシュのサイズもわかっていれば。

+0

ああ、私の最初の考えですが、パターンはすぐには明らかではないようです。何かを見つけ出すなら、私は解決策を投稿します。 – Overfloater

0

私が思いつくことができる最も一般的で正しい答えは、ユニティがMeshを適用するGameObjectの中心にピボットポイントを割り当てることです。メッシュの頂点のローカル座標は、メッシュの作成方法によって異なります。そのメッシュは、論理中心が、それが接続されている空のGameObjectの中心と同じにならないように配置します。私が問題を解決するために行ったことは、局所点(0,0,0)から境界矩形の中心にベクトルを作り、それを反転させたメッシュを作るために使用する頂点を変換することでした。完璧ではありませんでしたが、私は重なり合うメッシュがないことを保証するのに十分近いほどでした。

関連する問題