Three.js Как сделать так, чтобы Object3D смотрел на усеченный вблизи точки зрения не точку или рендеринг как спрайт?

Я новичок в 3D программировании.

Я пытаюсь использовать three.js и Spine для рендеринга 2D-персонажей в 3D-пространстве.

И я хочу сделать Mesh как Sprite. Это означает, что объекты смотрят на ближний вид с параллелью, а не на точку камеры с функцией lookAt().

У позвоночника есть SkeletonMesh, который наследуется Mesh. Так что он показывает как 3D-объекты, даже если у него только одно лицо.

Есть ли простой способ? Или, пожалуйста, совет математический метод.

Благодарю.

1 ответ

Решение

Если вы хотите, чтобы объект смотрел на камеру, но смотрел в направлении, параллельном направлению взгляда камеры, вы можете использовать этот шаблон:

object.quaternion.copy( camera.quaternion );

Вы не можете назначить кватернион, вы должны копировать его каждый кадр в цикле анимации - или, по крайней мере, когда камера меняет свою ориентацию.

Этот подход является альтернативой использованию

object.lookAt( camera.position );

three.js r.84

Другие вопросы по тегам