2017-02-17 8 views
2

の縮尺が1,1,1に設定されています。 開始位置終了位置を取得します。それは、世界の空間でのオブジェクトの開始位置と終了位置は何ですか? この仕事をする簡単な方法の1つは、飛行機の始点と終点にオブジェクトを配置してオブジェクトの位置を取得することですが、床を通過したいのですがのみです。ワールド空間でオブジェクトの開始位置と終了位置を取得する

私はこのコードを試してみましたが、ワールド空間では持たないポジションです。

+0

あなたのコードはOKと思われます。何が間違っていると思いますか? 'bounds.min'と' bounds.max'で一時的に新しいキューブオブジェクトを作成するとどうなりますか?オブジェクトの変換は中心と異なる場合があります。 – Kay

+1

飛行機の終了と開始はどういう意味ですか?飛行機には4つの面がありますが、floor.positionを使用したり、フロアスケールの半分を開始または終了の方向に追加または減算することはできませんか? –

+0

メッシュ自体で操作しますか?その場合は、境界をコンソールに出力する前に再計算境界を呼び出すようにしてください。また、どのような結果が得られますか? https://docs.unity3d.com/ScriptReference/Mesh.RecalculateBounds.html –

答えて

2

Renderer.boundsは、プレーントランスフォームがワールドと整列されている場合にのみ、プレーンのサイズに一致します。他の世界では、回転がない場合にのみ動作します。

プレーンのコーナーを取得するもう1つの方法は、メッシュの頂点を直接調べることです。これには、最初にコーナーに頂点を見つける必要があります。やっぱりなんでもないや。

Hierarchy

各コーナーを平面オブジェクトへ

  • 親2つの角の物体を2つの新しいゲームオブジェクトを作成し、あなたの飛行機の角の上に置きtransform.position今意志親平面オブジェクトの位置、回転、またはスケールに関係なく、ワールドスペース位置を与えます。

    Example

  • +0

    質問に記載されている余分なオブジェクトが必要ない –

    関連する問題