2017-01-26 6 views
1

x-y-zの位置に複数のGameObjectがあるシーンがあります。私は2Dであるので、zは使用されません。解像度でゲームオブジェクトの位置が変化する

は今のところ、私は解像度768分の1024で働いていたと私はのようなゲームオブジェクトを追加するとき:

GameObject star = GameObject.CreatePrimitive(PrimitiveType.Sphere); 
Vector3 position = new Vector3 (x, y, z); 
star.transform.localPosition = position; 

それは大丈夫です、ゲームオブジェクトは、私のシーンの右の位置にあります。

しかし、nox、私は解像度(1920/1080)を変更しようとしています。すべてのゲームオブジェクトは、カメラの右上に移動しています。

問題が何ですか?これをどうすれば解決できますか?

私の場合、解像度を変更すると、私のGameObjects ...と何か変わった0-0-0の変更、私のGameObjectが位置を持つLineRendererを持っている場合、それらはすべての解像度で良いです...

編集:これは私が私のゲームオブジェクトを生成するために使用する機能であり、それは銀河ジェネレータです:

   for(int i = 0; i < numberOfStars; i++) { 
       bool checkPosition = false; 

       while (!checkPosition) { 
        // Choose a distance from the center of the galaxy. 
        float distance = Random.Range(5.0f, (float) galaxySize/2 - 5); 

        // Choose an angle between 0 and 2 * PI. 
        float angle = Random.Range(0.0f, 100.0f) * 2 * Mathf.PI; 

        Vector3 position = new Vector3 (Mathf.Cos (angle) * distance, Mathf.Sin(angle) * distance, 9); 

        if (! Physics.CheckSphere(position, 1)) { 
         GameObject star = GameObject.CreatePrimitive(PrimitiveType.Sphere); 
         star.AddComponent<SolarSystem>(); 

         star.name = i + "_" + PlanetNameGenerator.GenerateName(); 
         star.GetComponent<SolarSystem>().name = i + "_" + PlanetNameGenerator.GenerateName(); 

         star.transform.parent = GameObject.Find ("Targets").transform; 

         // On change le scale en random 
         float randomScale = Random.Range (0f, 0.5f); 
         star.transform.localScale += new Vector3(randomScale,randomScale,randomScale); 

         star.transform.localPosition = position; 
         star.tag = "SolarSystem"; 

         checkPosition = true; 
        } 
       } 
      } 

これは私の球のゲームオブジェクトと、それらの間にピンクLineRendererで、私は768分の1024で見たシーンです。 enter image description here

これは私は1080分の1920に見る、LineRendererは常に同じ位置にありますが、ゲームオブジェクトは離れて移動:enter image description here

+0

もっとコードを提供できますか?パースペクティブカメラや正射投影カメラを使用しているかどうか、解像度をどのように変更していますか? – Eddge

+0

何のようなコードですか?私はパースペクティブカメラを使用しています。エディタの解像度をゲームビューで変更します。 –

+0

これが呼び出されている箇所のすべてのコードを表示し、これがすべての機能に含まれています。あなたのエラーを再現することができます。 – Eddge

答えて

0

問題は、この行だった:

star.transform.parent = GameObject.Find ("Targets").transform; 

私はキャンバスから親を動かし、のXYZ位置をchnage "目標" 0にそれは大丈夫です。

関連する問題