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で見たシーンです。
これは私は1080分の1920に見る、LineRendererは常に同じ位置にありますが、ゲームオブジェクトは離れて移動:
もっとコードを提供できますか?パースペクティブカメラや正射投影カメラを使用しているかどうか、解像度をどのように変更していますか? – Eddge
何のようなコードですか?私はパースペクティブカメラを使用しています。エディタの解像度をゲームビューで変更します。 –
これが呼び出されている箇所のすべてのコードを表示し、これがすべての機能に含まれています。あなたのエラーを再現することができます。 – Eddge