2012-04-20 2 views
0

Может ли кто-нибудь помочь мне с three.js?Фон с three.js

Мне нужно нарисовать фон, что-то вроде THREE.Sprite, но он не будет под любым 3D-объектом, который будет рисоваться позже. У меня есть камера, которая может перемещаться только по оси Z.

I судимого использовать:

  • куб отображение шейдер - проблема: артефакты с теневыми плоскостями, это нестабильное рисовать

  • THREE.Sprite что Продублируйте камеру двигающейся - ПРОБЛЕМА: Артефакты с теневой плоскостью - он имеет выделение края ИЛИ рисует только другие спирты без объектов.

  • HTML DOM Background - ПРОБЛЕМА: большое и уродливое наложение в моделях.

Что я могу попробовать? Благодаря!

ответ

1

Возможно, вы можете попробовать выполнить несколько проходов, т. Е. Сделать первый рендер фоновой сцены в буфер, а затем второй над первым «буфером». Возможно, использование буфера в качестве фона (покраска его в 2D с орфографической проекцией и отключение буфера глубины записывается в этот проход).

Я не пробовал себя сам с трио.js, но так я сделал бы это с «традиционным» OpenGL.

+0

Я пробовал 2 камеры, сначала - для орфографического фона (и нарисовал спрайт на нем), второй - для основной сцены. Но визуализатор отображает только второй вид камеры в функции рендеринга. –

+0

Я думаю, вам нужно отключить autoclear в рендерере перед выполнением второго прохода. Кроме того, он отображает все содержимое существующего холста (что и делал ваш первый проход). – sole

+0

Установите свойство «renderDepth» спрайта на очень малое значение (например, -1e10): объекты обычно сортируются (свойство sortObjects 'средства рендеринга, которое по умолчанию равно true) и самый низкий renderDepth отображаются первым. – Popov

0

Если вам нужен «3d» фон, то есть что-то, что будет следовать за поворотом вашей камеры, но не реагирует на движение (бесконечно далеко), тогда единственный способ сделать это - с помощью cubemap.

Другое решение - купол окружающей среды - полностью 3D-объект.

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

Смежные вопросы