画像の黄色い円の中心にグリーンのボールが1個ずつ乗るはずですが、うまくいきません。
Z軸方向に一定量ズレがあるようです。
しかし、各オブジェクトのインスペクターを確認するとpositionのX軸Z軸は同じ値になっています。配置する際の基準となる原点(0、0,0)がずれているように感じます。
特にいつもと変わりなく記述していたのですが、このような現象が起こる注意点といったものがあるでしょうか?
教えて頂けると助かります。
UnityPro5.5.0 でC#で記述しています。
###試したこと
・各オブジェクトの中心がずれていないか確認。オブジェクトの中心にギズモが現れるので
問題なし。
・カメラの位置や角度に問題がないか確認。カメラ位置はほぼ原点真上から。シーンビューで
サイドから見ても位置そのものがずれている。
・位置を計算する式に問題がないか確認。インスペクターでそれぞれのオブジェクトの位置を
見ると同じ値になっている。多分計算式は問題ない。
###ソースリスト
//各ネスト(黄色いオブジェクト)の場所をあらかじめ取得しておく
void SetNestPosition(){
Vector3 PostPosition = new Vector3(0.0f, 0.0f, 0.0f);
PostPosition = new Vector3 (0.0f, 0.36f, 3.0f);
NestPosition[0]= PostPosition;
PostPosition = new Vector3 (2.13f, 0.36f, 2.13f);
NestPosition[1]= PostPosition;
PostPosition = new Vector3 (3.0f, 0.36f, 0.0f);
NestPosition[2]= PostPosition;
PostPosition = new Vector3 (2.13f, 0.36f, -2.13f);
NestPosition[3]= PostPosition;
PostPosition = new Vector3 (0.0f, 0.36f, -3.0f);
NestPosition[4]= PostPosition;
PostPosition = new Vector3 (-2.13f, 0.36f, -2.13f);
NestPosition[5]= PostPosition;
PostPosition = new Vector3 (-3.0f, 0.36f, 0.0f);
NestPosition[6]= PostPosition;
PostPosition = new Vector3 (-2.13f, 0.36f, 2.13f);
NestPosition[7]= PostPosition;
PostPosition = new Vector3 (0.0f, 0.36f, 0.0f);
NestPosition[8]= PostPosition;
}//setNestPositionの終わり
//各タマゴの場所をあらかじめ取得しておくß void SetEggPosition(){ Vector3 CenterPosition = new Vector3(0.0f, 0.0f, 0.0f); Vector3 PostPosition = new Vector3(0.0f, 0.0f, 0.0f); for (int i = 0; i <= 8; i++){ CenterPosition = NestPosition [i]; //生成するタマゴの場所を取得////////////////// //0番目のタマゴ(中心) PostPosition.x=CenterPosition.x; PostPosition.y = 1.0f; PostPosition.z=CenterPosition.z; EggPosition[i*5]=PostPosition; Instantiate (Egg0, PostPosition, transform.rotation); } //DebugDumpEggPosition(); }//setEggPositionの終わり
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。