Я пытаюсь использовать PointerLockControls и прожектор в качестве фонарика, прикрепленного и нацеленного на камеру, но я получаю «нежелательные результаты», или я просто не нашел «рабочий экзамен», прожектор направляет луч в угол не по бокам, когда обращен к углу.Прожектор в углах Three.js
Может ли это быть достигнуто с помощью одного прожектора с прямым направлением или мне нужно манипулировать двумя разными огнями со стороны, чтобы получить свет в центре углов или что-то в этом роде?
Illustrative image of current behaviour and wanted result
Используя примеры фонарика описаны в Point SpotLight in same direction as camera three.js (Flashlight)
function user_box() {
var group = new THREE.Group();
group.position.y = 0.001 - 10;
controls.getObject().add(group);
bigball = new THREE.Mesh(new THREE.SphereGeometry(0.3, 16, 16), new THREE.MeshBasicMaterial({ color: 0xff0040 }));
group.add(bigball);
bigball.position.set(0, 10, -5);
flashlight = new THREE.SpotLight(0xffffff,4,40);
group.add(flashlight);
flashlight.position.set(0,10,0);
flashlight.target = bigball;
}
Добавлена демке, как предложили http://codepen.io/BringerOfTheDawn/pen/LxMbex
Было бы здорово увидеть ваш код, чтобы узнать, как создать экземпляр 'THREE.SpotLight()' и как установить его свойства (jsfiddle, например,). Также вы можете посмотреть [THREE.SpotLight() документацию] (https://threejs.org/docs/index.html#Reference/Lights/SpotLight) – prisoner849
@BringerOfTheDawn 'flashlight = new THREE.SpotLight (0xffffff, 1 , 1000, Math.PI/8, 1); «Экспериментируйте, пока не поймете, для чего все параметры - и что касается ваших материалов. – WestLangley
@WestLangley Я знал, что это должно быть что-то простое. Я играл с углом в начале, но когда я наткнулся на свои углы, я просто ожидал увидеть что-то похожее, как оно было брошено на стены. Не могли бы вы опубликовать свой комментарий в качестве ответа, как новичок, я нашел другие примеры фонарика, действительно разочаровывающие без этих параметров =) – BringerOfTheDawn