🎮
Unity 球状にグリッドをつくる 1
まずは原点から光り輝く放射線
世界地図上にグリッド、は、うまくいった。
今回は地球儀上にガイドラインを引きたい。
前回、prefabを回転させる方法を学んだので、応用してみる。
prefabの種として、y軸上に細なが〜〜いシリンダーを置く
位置は(0, 0, 0,)、これはCylinderの中央に来る。
なので、Cylinderの長さが球の直径になる感じ。
例によって、CSVでprefabの変身メニューを書く。
これを読むScriptはこんな感じ。
using UnityEngine;
using System.Collections.Generic;
using System.IO;
public class RotationImporter : MonoBehaviour
{
public GameObject radialPrefab; // プレハブを指定
public string fileName = "Rotation"; // CSVファイル名
void Start()
{
// CSVファイルを読み込み、行ごとに分割する
TextAsset csvData = Resources.Load<TextAsset>(fileName);
string[] lines = csvData.text.Split('\n');
for (int i = 1; i < lines.Length; i++)
{
string[] parts = lines[i].Split(',');
if(parts.Length < 2) continue;
float rx = float.Parse(parts[0]);
float rz = float.Parse(parts[1]);
// オブジェクトを生成し、回転を設定。
GameObject columnObject = Instantiate(radialPrefab, new Vector3(0, 0, 0), Quaternion.Euler(rx, 0, rz));
}
}
}
空のobjectをつくって、Managerにして、attach。
で、こんな感じ。30°ごとに引いたんだけど、ちょっと過剰かなあ・・・
グリッドの安心感がないのは、まだ横線がないから。
でも今回は、それは、緯線と経線になるので、
どうやって表示すればよいのか・・・。
Discussion