2017-10-17 8 views
0

私はHololens Lens Toolkit Masterを使用しています。 レンズカメラのSetParentを設定すると、レンズのカメラ位置が親の位置と同じになるという問題があります。hololens setParent positionはカメラのレンズを変更します

たとえば、Aの位置が0,0,0およびBの位置が0,0,4の場合、A.SetParent(B.Transform)はAの位置を0、0、-4にします。

これはUnity Editorでも当てはまります。あなたはhololens上に構築し、A.SetParent(B.Transform)を実行する場合

しかし、Aの位置は、私は0、0にしたい

...私はこれがなぜ起こるか分からない

4. 0、0になります、-4 !!

答えて

0

あなたが高い行くことができない、シーンそのものですので、お使いのカメラが他のゲームオブジェクトの内部にある場合を除き、親は、カメラです。また、ホロレンズでは、カメラは安定した姿勢であることを覚えておいてください。それ以外はカメラとの関係で移動する必要があります。

更新:ホロレンスアプリケーションの主カメラは、一人称シューティングゲームのキャラクターカメラに似ていますが、世界とアプリケーションを動かすカメラではなく、FPSで主カメラを制御していますが、コントローラーまたはキーボードで文字を制御します。ここでの違いは、メインカメラはホロレンスによって制御され、0,0,0,0は固定されたメインカメラポイントであり、決して変化しないということです。ホロレンスの検出カメラは、メインカメラの位置を変更すると予期しない結果になることがあります。視点を変更したい場合は、新しいカメラを作成してそのビューを新しいカメラに転送し、そのカメラを移動し、メインカメラに戻して元のカメラに戻すことをお勧めします。この新しいカメラは、メインカメラの子供になることはできません。 1つの注意点は、私がこれを試したことがなく、可能な解決策として提供されていることです。動作するかどうかはわかりません。

+0

ご返信ありがとうございます。 私はカメラを子供のように置かず、ダミーを作成し、ダミーを子供として入れ、ダミーをカメラの場所への参照として入れました。 –

+0

しかし、私はまだ理解していません。 これは同じロジックですが、Asus Zhenphone ARカメラではうまく動作しますが、何故ホロレンズカメラで正しく動作しないのかわかりません。 –

+0

Hololensは全く違った動物です。使用しているときのビジョンが塞がれていないという事実から、カメラの仕組みは違っています。その本質的に同じ答えは、メインカメラは常に0,0,0,0その世界は、カメラではなく移動します。メインカメラの位置の変更を開始すると、実際には人の視点の位置が変更されていますが、これは空間の固定小数点であると予想されますが、ホロレンスを使用するときは移動したくない –

0

SetParent機能のための2つのオーバーロードがあります

SetParent(Transform parent) 

SetParent(Transform parent, bool worldPositionStays); 

は、最初のものは、デフォルトとしてパラメータにtrueを使用しています。 2番目の関数を使用して、falseを渡して、オブジェクトをその親を設定するときにそのオブジェクトの位置を強制的に使用させます。一般的には、メインカメラの親を話す

A.SetParent(B.Transform, false); 
+0

答えをありがとう。 しかし私はそれをやりましたが、結果は同じでした。 親と同じ位置に変更されました。 –

+0

私はホロレンを持っておらず、この問題を再現することはできません。通常、 'SetParent'関数を呼び出した後の位置の問題は、2番目のパラメータを指定することで解決されます。誰かが問題を把握している可能性がある、常に変化しているカメラ値のスクリーンショットで質問を修正してください。 – Programmer

関連する問題