Пример из three.js, но как реализовать с помощью SceneKit?

Пример цели:

введите здесь описание изображения

Я вижу, что в three.js есть этот пример.

Это просто трехмерный куб со множеством сфер на поверхности.

Как я могу сделать что-то подобное с помощью SceneKit?


person HaoDong    schedule 23.01.2017    source источник


Ответы (1)


Вы можете использовать массив точек на плоскостях и размещать сферы в этих местах.

Каждую плоскость разделите на 10 в обоих направлениях (X и Y), а затем сделайте шесть таких плоскостей и поверните их в положения граней куба.

Я думаю, что производительность, вероятно, будет отстойной. Это очень много полигонов, для каждой из этих сфер. Представим, что каждая сфера имеет 200 треугольников. Это 100 х 6 х 200 = 1,2 миллиона треугольников.

Вероятно, лучше использовать круглые текстуры на квадрациклах, расположенных лицом к камере, в каждой из этих 600 точек. Тогда это всего лишь 1200 треугольников.


Способ сделать это с помощью читов:

Создайте SCNBox с желаемым количеством вершин по осям x, y и z.

Затем используйте его в качестве формы эмиттера частиц и назначьте излучательную способность каждой вершине с такой скоростью, чтобы они всегда появлялись в этих местах, используя текстуру маленького круга и режим представления плаката «взгляд в камеру».

вот этот чит, сделанный с частицами:

введите здесь описание изображения

person Confused    schedule 23.01.2017
comment
круто, не могли бы вы поделиться кодом. Я попробовал второй способ, но возникла проблема, которую я не смог решить. - person HaoDong; 24.01.2017
comment
Какой второй способ? Можете ли вы показать мне, что вы сделали и где вы застряли? - person Confused; 24.01.2017