2017-02-11 7 views
0

私はPointerLockControlsを使用して、カメラに接続された懐中電灯としてスポットライトを使用しようとしていますが、「望ましくない結果」が出ています。スポットライトは、コーナーに面したときに、その梁を側面にではなくコーナーに向けます。コーナーのスポットライトThree.js

ストレートライトで1つのスポットライトで実現できますか、またはコーナーの中心などの光を得るために、2つの異なるライトを側面から操作する必要がありますか?

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

+0

あなたが(THREE.SpotLight 'のインスタンスを作成方法を知っているあなたのコードを見ることは素晴らしいことだ)'とどのようにあなたは、たとえば、そのプロパティ(jsfiddleを設定)。また、[THREE.SpotLight()のドキュメント](https://threejs.org/docs/index.html#Reference/Lights/SpotLight)をご覧ください。 – prisoner849

+0

@BringerOfTheDawn 'flashlight = new THREE.SpotLight(0xffffff、1 、1000、Math.PI/8、1); 'すべてのパラメータが何であるかを理解するまで実験してください。 – WestLangley

+0

@WestLangley私はそれが何か単純でなければならないことを知っていました。私は冒頭の角度で周りを回ったが、私がコーナーに遭遇したとき、壁に投げ込まれたのと同じようなものを見ただけだった。答えとしてあなたのコメントを投稿できますか?初心者として、これらのパラメータなしで本当に残念な他の懐中電灯の例が見つかりました=) – BringerOfTheDawn

答えて

0

あなたのスポットライトとして追加のデモは、広角と短距離を持っています。角度を小さくして範囲を広げます。他のパラメータも試して、その意味を理解してください。

flashlight = new THREE.SpotLight(0xffffff, 1, 1000, Math.PI/8, 1) 

three.js r.84

関連する問題