Three.js r80で何が変わったのか
2016/08/30
  • このエントリーをはてなブックマークに追加

はじめに


皆さん、こんにちは。カブクおもちゃ部員(プリキュア担当)のあんどうです。今月もThree.jsの月次リリースの時間がやってまいりました。2度目なのでさっさと本題に入ります。

要点


r80では各クラスがES6モジュールで定義されるようになりました。現時点では利用者としてはなにも変わりはありませんが、将来の修正のための布石です。Three.jsの今後から目を逸らせ目が離せませんね。

初めてのThree.js 第二版」への影響


軽微(大事なことなのでセクションを分けました)

コードの変更点


ということで以下、r80のリリースノートの要約です。

three.js
上にも書きましたがthree.jsがES6モジュールを使用するように変更されました。ビルドにはrollup.jsが使用されるようになったようです。というかこのpullreqのオーナーがrollup.jsの作者です。(#9310
THREE.PropertyBinding
Animation/PropertyBindingで使用している正規表現が変更されアクションのプロパティ名としてマルチバイト文字が使用できるようになりました。(#9330#9362
THREE.BufferGeometry
elementsNeedUpdateをtrueに設定した時に生じる不具合が修正されました。(#9359
THREE.ExtrudeGeometry
形状を押し出した際のベベルが正弦曲線ではなく楕円曲線に沿うようになりました。(#9409
THREE.Fog、THREE.FogExp2
toJSONメソッドが追加され、ObjecgLoaderで復元されるようになりました。(#9369
THREE.ImageLoader、THREE.TextureLoader
withCredentialsプロパティが追加され、内部的にXHRLoaderを使用するときに参照されるようになりました。(#9391
THREE.Light、THREE.LightShadow
LightShadowにtoJSONメソッドが追加され、Light#shadowがシリアライズされるようになりました。(#9416
THREE.Material
depthFunc、depthTest、depthWriteがシリアライズされるようになりました。(#9448
THREE.MaterialLoader
wireframeLinecap、wireframeLinejoin、skinning、morphTargetsのサポートが追加されました。(#9481
THREE.ObjectLoader
  • LineSegments、Object3D.quaternion、Fog、FogExp2、light.shadowの
    サポートが追加されました。(#9334#9335#9369#9416
  • 画像読み込みエラー発生時にLoadingManagerに内容をレポートするようになりました。(#9474
THREE.WebGLRenderer
  • PointsにreceiveShadowを設定するとクラッシュする不具合が修正されました。(#9355
  • DepthTextureが深度データだけではなくステンシルデータも保持できるようになりました。(#9368
  • 不具合対応として、scene.fogが変更されたときにシェーダーが再コンパイルされるようになりました。(#9384
  • WEBGL_color_buffer_floatに関するreadRenderTargetPixels()の不具合が修正されました。(#9516
  • MeshPhongMaterialでCubeUVReflectionMappingを使用した時にシェーダーがクラッシュする不具合が修正されました。(#9550
Exporters
Blender Exporter、Maya Exporter、FBX Converterがそれぞれなんか更新されてます。(#9482#9431#9485#9379

Examplesの追加


BloomPass
Unreal EngineにインスパイアされたBloomPassの例が追加されました。(#9351
http://threejs.org/examples/webgl_postprocessing_unreal_bloom.html
OutlinePass
OutlinePassの例が追加されました。クリックしたオブジェクトのアウトラインが描画されます。(#9407
http://threejs.org/examples/webgl_postprocessing_outline.html
ammo.js
ammo.jsを使用した鉄球をぶつけてブロックを破壊する例が追加されました。なかなかおもしろいです。(#9493
http://threejs.org/examples/webgl_physics_convex_break.html

それではまた来月お会いしましょう。