2013/08/27

[three.js] Lightの使い方 - DirectionalLight編


前回、AmbientLight の使い方について書いた。今回は同じくライトの中で、DirectionalLight について纏めます。

DirectionalLight

DirectionalLightは、「指向性ライト」とでもいうのか。このライトに照らされるオブジェクトの素材(Material)によって、効果が変わる。ドキュメントには、

Affects objects using MeshLambertMaterial or MeshPhongMaterial.

とある。つまり、MeshLambertMeterialか、MeshPhongMaterialを使ったオブジェクトに作用する、と。
実際に、 をシーンに置いて、DirectionalLightで照らしてみたところ、ドキュメント通り動作した。
このライトによって、影が描画されるのかな、と思って、

  • shadowCameraNear
  • shadowCameraFar
  • shadowCameraLeft
  • shadowCameraRight
  • shadowCameraTop
  • shadowCameraBottom
を色々変えてみたが、影は描画できていない。その際に、もちろん、オブジェクト側のcastShadow属性や、 rendererのshadowMapEnabledはtrueで試した。
今のところの結論として、
  • オブジェクトはMeshLambertMaterialかMeshPhongMaterialであれば、光が当たっていることが表現される。
  • 影は描画できない。
を得た。 
Directional Light. - simalabsで実験版を動かしています。ご覧ください。


0 件のコメント: