Создание обьектов вокруг обьекта
Как можно в Unity, определить точки вокруг объекта, по кругу? Хотелось создать астероидный пояс, астероиды на расстоянии 100 единиц, через каждые 20 градусов.

Лучший ответ:
Если знаешь как работает sin/cos то будет просто, хватаем координаты и через цикл задаем сколько нужно объектов, для упрощения:

пример на спавн префаба

int count = 100; //кол-во
float rad = 20; //радиус

void Start () {
	for (int i = 0; i < count; i++) {
		GameObject newObj = Instantiate (prefab.gameObject);
		Vector3 newPos = transform.position;
	
		float step = (Math.PI * 2) / count; // отступ
		newPos.x = centerX + Math.sin (step * i) * rad; // по оси X
		newPos.z = centerZ + Math.cos (step * i ) * rad; // по оси Z
		newPos.y = 0; // по оси Y - тобиш высота
	
		newObj.transform.position = newPos;
	}
}
Можно попариться c аналогом, примерно так же через цикл, тупо зная отступ делаешь спавн



Просмотров: 90

N7 Molot #1 - 1 месяц назад (отредактировано ) 0

Если знаешь как работает sin/cos то будет просто, хватаем координаты и через цикл задаем сколько нужно объектов, для упрощения:

пример на спавн префаба

int count = 100; //кол-во
float rad = 20; //радиус

void Start () {
	for (int i = 0; i < count; i++) {
		GameObject newObj = Instantiate (prefab.gameObject);
		Vector3 newPos = transform.position;
	
		float step = (Math.PI * 2) / count; // отступ
		newPos.x = centerX + Math.sin (step * i) * rad; // по оси X
		newPos.z = centerZ + Math.cos (step * i ) * rad; // по оси Z
		newPos.y = 0; // по оси Y - тобиш высота
	
		newObj.transform.position = newPos;
	}
}
Можно попариться c аналогом, примерно так же через цикл, тупо зная отступ делаешь спавн
Talmagett #2 - 4 недели назад 0
Спасибо чувак, я объяснил неправильно, надо было чтобы появилось кольцо
Но благодаря тебе я понял
И нашел ответ
Все дело в син и кос они оказываются принимают радианы а не градусы, пришлось сначала их перевели
Все равно спасибо что ответил
N7 Molot #3 - 4 недели назад 0
Talmagett:
нз