ПрограммированиеФорумИгровая логика и ИИ

Лучи

#0
17:23, 26 июня 2015

Подскажите как и сферы размером 1x1x1 пустить 100 лучей в разные стороны и на разных расстояниях друг от друга, примерно так Изображение (только я немного лучей нарисовал)

Луч выпускается так:

Vector3 direction = transform.TransformDirection (x,y,z);
RaycastHit hit;
if (Physics.Raycast (transform.position, direction, out hit, 30f, lm)) {

}

#1
18:12, 26 июня 2015

Car3man
случайное направление можно так получить:

RandomNumb = (float)(rand()) / RAND_MAX

Z = 2*RandomNumb - 1
Radius = sqrtf(1 - Z*Z)
Angle  = RandomNumb*PI*2

Cos = cos(Angle)
Sin = sin(Angle)

x = Cos*Radius
y = Sin*Radius
z = Z

#2
19:08, 26 июня 2015

Gurich
Рандом не подходит, ибо на текстуре сферы нарисованы цифры и как раз из них нужно пускать лучи

#3
19:22, 26 июня 2015

Car3man
> Рандом не подходит, ибо на текстуре сферы нарисованы цифры и как раз из них
> нужно пускать лучи
А цифры большие или маленькие?

#4
19:34, 26 июня 2015

Misanthrope
Линк вот такие примерно

#5
22:12, 26 июня 2015

Загугли

uniform point distribution on a sphere

#6
22:13, 26 июня 2015

Car3man
> ибо на текстуре сферы нарисованы цифры и как раз из них нужно пускать лучи
А если ты знаешь координаты цифр - тогда я вообще не понимаю в чем проблема. Может то, что ты ищещь, называется "сферические координаты"?

#7
0:26, 27 июня 2015

Sergio
Я нашел примерно фотку, где показаны примерные координаты сферы, но так и не нашел где именно показаны координаты направленные из сферы типа вектора

ПрограммированиеФорумИгровая логика и ИИ

Тема в архиве.