1

誰かがここでスポットライトを反射させる方法を知っていますか:http ://web251.merkur.ibone.ch/webgl/three/ここのように見えます:http ://web251.merkur.ibone.ch/webgl ?つまり、それがカメラに反射されるということですか?それが自動的にそうしないのは奇妙です。マウスを使って惑星を動き回ると、気付くでしょう。このシーンでは、カメラ以外はすべて静的であり、カメラの動きによって、目Eも動き回っていますね。したがって、私が期待するのは、惑星でのspotLight反射が、たとえばBlinnのHalfvectorを使用して常に再レンダリング/再計算され、Eとスポットライトの間の惑星での反射につながることです。

ヘルプは本当にありがたいです、私たちは何時間も検索しましたが、私たちのコードの何が悪いのか手がかりを見つけることができませんでした!

よろしくお願いしますドイデル

4

1 に答える 1

1

これで遊ぶために使用した開始コードの最初のビットは、http: //mrdoob.github.com/three.js/examples/webgl_materials_shaders.html

重要なのは、(Phong) マテリアルの specularMap プロパティを使用してスペキュラリティ マップを追加することです。

これは次のように行うことができます。

var MySpecularMap = THREE.ImageUtils.loadTexture( "MySpecularImage.jpg" );

var Color = THREE.ImageUtils.loadTexture( "MyColorImage.jpg" );
var mappedTexture = new THREE.MeshPhongMaterial( { color: 0xffffff, map: Color, specular: 0xffffff, specularMap: MymapSpecular} );

sphere = new THREE.SphereGeometry( 600, 32, 32 );
globe = new THREE.Mesh( sphere, mappedTexture );
scene.add( globe );

また、このタイプのデモでは、OrbitControls が最適なようです。

{ColorMap, SpecularMap, BumpMap, Clouds, SkyDome} を使用した完成例を次に示します: http://randompast.github.io/randomtests/three.js/earth/1/index.html

于 2013-01-21T13:13:53.980 に答える