Я генерирую игровые объекты (сферы) на основе координат, которые хранятся в файле .csv.Я имею Gameobject с Единственной Сферой как примитивный дочерний объект.Основываясь на данных, Объект будет клонировать эту сферу 17 раз и перемещать их.Я могу перемещать все вокруг так, как хочу, получая доступ к родительскому объекту, но в режиме редактирования положение корневой сферы делает его использование неудобным.
Следующий код делает это возможным.
public GameObject parentObj;
public TextAsset csvFile;
[SerializeField]
private float scaleDownFactor = 10;
private int index = 0;
//class Deck : MonoBehaviour
//{
[SerializeField]
private GameObject[] deck;
private GameObject[] instanciatedObjects;
private void Start()
{
Fill();
}
public void Fill()
{
instanciatedObjects = new GameObject[deck.Length];
for (int i = 0; i < deck.Length; i++)
{
instanciatedObjects[i] = Instantiate(deck[i]) as GameObject;
}
}
//}
// Update is called once per frame
void Update()
{
readCSV();
}
void readCSV()
{
string[] frames = csvFile.text.Split('\n');
int[] relevant = {
0
};
string[] coordinates = frames[index].Split(',');
for (int i = 0; i < 17; i++)
{
float x = float.Parse(coordinates[relevant[i] * 3]) / scaleDownFactor;
float y = float.Parse(coordinates[relevant[i] * 3+1]) / scaleDownFactor;
float z = float.Parse(coordinates[relevant[i] * 3+2]) / scaleDownFactor;
//objectTest.transform.Rotate(float.Parse(fields[1]), float.Parse(fields[2]), float.Parse(fields[3]));
//objectTest.transform.Translate(x, y, z);
//parentObj.transform.position = new Vector3(x, y, z);
instanciatedObjects[i].transform.position = new Vector3(parentObj.transform.position.x, parentObj.transform.position.y, parentObj.transform.position.z);
instanciatedObjects[i].transform.eulerAngles = new Vector3(parentObj.transform.eulerAngles.x, parentObj.transform.eulerAngles.y, parentObj.transform.eulerAngles.z);
//instanciatedObjects[i].transform.position = new Vector3(x, y, z);
instanciatedObjects[i].transform.Translate(x, y, z);
}
if (index < frames.Length - 1)
{
index++;
}
if (index >= frames.Length -1)
{
index = 0;
}
}
Вот снимок экрана:
![enter image description here](https://i.stack.imgur.com/KT6ik.png)
Итак, мой вопрос: как я могу установить Положение этой Сферы на один изперемещение точек, без изменения положения клонированных объектов?Поскольку все ведут себя на основе BaseSphere?
Можно ли сделать BaseSphere невидимым, пока объекты клонируются или генерируются?
Я ищу решение, которое облегчает задачупереместите объект, сгенерированный данными, в Editor.
Буду признателен за любой ввод.