Я пытаюсь использовать Three.js для создания «поля астероидов» с использованием систем частиц или облаков точек или подобных вещей. Одна из проблем, с которыми я столкнулся, заключается в том, что, когда камера вращается вокруг оси z, частицы вращаются индивидуально с камерой, сохраняя ту же ориентацию, независимо от того, как поворачивается камера. Я хочу, чтобы симуляция выглядела так, как если бы пользователь летал через кучу астероидов, и, очевидно, астероиды не волшебным образом вращаются, когда вы наклоняете голову, поэтому мне было интересно, есть ли способ предотвратить их поворот при повороте камеры , Должны ли частицы всегда быть вертикальными?Отключить вращение частиц в Three.js
ответ
Если вы хотите повернуть спрайты вы можете использовать атрибут SpriteMaterial.rotation:
var sprite = new THREE.Sprite(new THREE.SpriteMaterial({map: texture,rotation: Math.PI/4}));
посмотреть http://threejs.org/examples/webgl_sprites.html
В вашем случае, вращение всех спрайтов должно быть равно вращению камеры.
Спасибо. Я думаю, что это своего рода отдельный вопрос (который я пробовал просить, но никто не ответил), но как вы вращаете частицы по отдельности (я бы хотел, чтобы они случайным образом указывали в разных направлениях)? Я читал, что это имеет какое-то отношение к шейдерам и пользовательским атрибутам, но я действительно не знаю, как их использовать, поэтому было бы здорово, если бы было более простое решение, или если бы вы могли объяснить, как правильно реализовать шейдеры. – gameninja
Вы должны задать правильные вопросы, но я думаю, что все это, включая вращение отдельных частиц, включено в пример http://threejs.org/examples/webgl_sprites.html – Martin
Похоже, что в приведенном выше примере используется THREE.Group от THREE.PointCloud, что приводит к другим проблемам при применении к моему коду. Есть ли способ сделать то же самое для PointCloud? – gameninja
- 1. Перемещение отдельных частиц в системе частиц Three.JS
- 2. Вращение точек Three.js
- 3. getimagedata() для текстуры частиц three.js
- 4. Получить вращение лицо three.js
- 5. Вращение камеры Three.js странно
- 6. Three.js - Вращение камеры & TransformControls
- 7. Three.js, вращение группы
- 8. Транслейтинг вращение происхождения в Three.js
- 9. Voxelizing в three.js - материалы частиц от текстуры
- 10. Как плеть 10 000+ частиц в Three.js?
- 11. Как производить системы частиц в three.js
- 12. Отключить вращение
- 13. Three.js - Вращение цилиндра, представляющего вектор
- 14. three.js странное вращение вокруг X
- 15. Three.js - вращение объекта3D вокруг оси
- 16. THREE.js - Создание системы частиц светящихся сфер
- 17. Вращение цилиндра Three.js в 3d-плоскости
- 18. Three.JS - Вращение детского объекта в его месте
- 19. Вращение куба с клавиатурной клавишей в three.js
- 20. Вращение экструзии Three.js в радианах с камеры
- 21. Three.js Вращение сферы в произвольное положение
- 22. Вращение камеры вокруг своих осей в three.js
- 23. Отключить автоматическое вращение
- 24. Отключить вращение на UISnapBehavior?
- 25. ObjC отключить вращение ViewController
- 26. отключить вращение формы
- 27. Отключить вращение UINavigationController в iOS7
- 28. Отключить вращение элемента в tabBarController
- 29. Отключить вращение индекса в logstash
- 30. Как отключить анимацию в three.js
Вы правильно поняли разницу между трехмерной сеткой и спрайтом? – Martin
@Martin Я так думаю ... Есть ли способ сделать большую группу трехмерных объектов, которые можно контролировать индивидуально? – gameninja
Что означает «частицы вращаются индивидуально с камерой, сохраняя ту же ориентацию, независимо от того, как поворачивается камера»? Вы имели в виду, что частицы движутся в пространстве, когда камера вращается (объект pointcloud вращается с камерой), или у вас есть каждая частица, какое-то изображение, и задается вопросом, почему все еще стоит перед камерой, но каждая частица находится на одном и том же месте во время вращения камеры/переехать? – Martin