私はThree.jsでの指向性光と不思議な効果を(それは私のために奇妙に見えますが、私はよく分からない)になってるように見えます。Three.js方向性光は、点光源
ライトセットアップは、簡単で、カメラに取り付けられる。
dirLight = new THREE.DirectionalLight(0xffffff, 1);
dirLight.position.set(0, 0, 1);
camera.add(dirLight);
メッシュ右シーンの原点(0、0、0)に位置します。光のターゲットは同じです。メッシュの 材料は、MTLファイルから来ている:
newmtl mat_1
Ka 0.140196 0.147059 0.171569
Kd 0.560784 0.588235 0.686275
Ks 0.950000 0.930000 0.880000
Ns 750.000000
シェーダはデフォルトです。物理的に正しいライトオプションが有効になっている(が、結果は同様に障害者と同じである)標準物質となる
:0から1に
THREE.MeshStandardMaterial({ color: 0x0033ff, roughness: 0.4, metalness: 0.5 })
変更粗さ(metalnessがここに0であります):私は光が全P上に均一に分配されなければならないと考え
メッシュのレーン。しかし、それは一点に集中しているように見えます。何が間違っていますか?
私はこのために私自身のシェーダを書くべきですか?
どのようなタイプの材料ですか?それが 'THREE.MeshStandardMaterial()'なら、あなたは '.roughness'と' .metalness'パラメータの周りで遊ぶことができます。 – prisoner849
@ prisoner849、最初の材料はMTLから来て、OBJローダーに追加されました。 私はまた、デフォルトのOBJローダー材料(他のものは設定していない)と標準的な材料(その写真をポストに添付)で試しました。 いずれの場合も、ライトは同じように見えます。 – Akdez
絶望的なオプションとして、 'THREE.MeshLambertMaterial()'を使用しますが、複数の光源からの影に問題がある可能性があります。 – prisoner849