Visual aid here距離にかかわらずオブジェクトの視覚的なサイズを一定にします
視覚的補助を参照してください。 gifに続いて、2つのGUIがあります。左側のGUIは、オブジェクトまでのカメラの距離に基づいて適切にスケーリングしています。右側のGUIはスケーリングされており、「シーン」ビューではっきりと見えますが、ゲームビューでは目立つものではありません。アプリケーションは、ユーザーの頭がUnityシーン内のカメラを制御するためのHololensのためのものです。
問題は、オブジェクトのスケーリングを設定することにあります。左のGUIに表示されているスケーリングのタイプを複製しようとしているうちに、一日中私の脳をぶら下げていました。距離を分割し、これを倍率で使用することは、オブジェクトが大きすぎるか、あまりにも速く成長するか、あまりにも小さく、成長が遅すぎるのは間違いですが、途中で会う方法はわかりません。両方向のスケーリングは、目に見えるほどではありますが、不愉快には大きくないか、または目に見えないほどの割合で同じです。これまで
実装コード:
// GameObject and GUI assigned in Editor
public GameObject sphere, rotationManager;
// For rotationManager scaling
private float cameraToObject,
void Update()
{
/* Scale rotationManager based on Cameras distance to object */
cameraToObject = Vector3.Distance(
sphere.transform.position,
Camera.main.transform.position);
Debug.Log("distance: " + cameraToObject);
// If camera isn't too close to our object
if (cameraToObject > 4f)
{
// adjust scale
rotationManager.transform.localScale = new Vector3(
cameraToObject/5,
cameraToObject/5,
rotationManager.localScale.z);
// enable rotationManager
rotationManager.gameObject.SetActive(true);
}
// Camera is too close, turn off GUI
else
rotationManager.gameObject.SetActive(false);
}
ゲームビュー*で目立たない理由は、このようなことをしているときに意図した目標*です。カメラに近い*ためにスケーリングが行われない理由* * X *(1/x) ' – Draco18s
@ Draco18sもし私がX&Yをスケーリングしているのであれば、どうやってカメラに近づいていますか? Zスケーリングやポジショニングがその効果を誘発しないでしょうか?私はZもスケーリングしようとしましたが、希望の動作を得ることができませんでした – jtth
カメラが動いています。それはあなたの頭に付けられています。 :| – Draco18s