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

はじめに


皆さんこんにちは、カブクの近接戦闘担当のあんどうです。先週はXガードと50/50を覚えました。主に個人メモとしてThree.jsの10月リリースの内容をまとめます。

要点


今月も大きな変更があるようには思えませんが、three.modules.jsも追加されてES6モジュール対応がどんどん進んでいる感じです。「初めてのThree.js 第二版」はまだ行けると思いますが、そろそろ全サンプルコードの動作を確認して、問題があるようなら修正版をアップしたいです。

コードの変更点


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

three.js
ES6モジュールのビルド、three.modules.jsが追加されました。(#9597
Clock
getElapsedTime()が前回実行時からの経過時間ではなく、初回実行時からの経過時間を返すという不具合が修正されました。 (#9692
DataTexture
unpackAlignmentプロパティのデフォルト値が1に設定され、サイズが2のn乗ではないテクスチャに対応しました。 (#9566
Geometry
computeFlatVertexNormals()メソッドが追加されました。3つのvertexNormalsにface.normalを代入してフラットなシェーディングにします。 (#9222
ImageLoader
img要素作成時のエラーをonErrorコールバックで拾えるようになりました。 (#9799
InstancedBufferGeometry
addGroup()の不具合が修正されました。(#9815
Math
線形補間用のメソッド、lerp()が追加されました。 (#9767
Matrix3
applyBuffer()の不具合が修正されました。 (#9910
Matrix4
applyBuffer()の不具合が修正されました。 (#9910
Object3D
描画の前後に呼び出されるonBeforeRender()とonAfterRender()が追加されました。 (#9738
ParametricBufferGeometry
ParametricGeometryのBufferGeometry版が追加されました。 (#9702
PolyhedronBufferGeometry
PolyhedronGeometry、TetrahedronBufferGeometry、OctahedronBufferGeometry、DodecahedronBufferGeometry、IcosahedronBufferGeometryのBufferGeometry版が追加されました。 (#9757
ShapeUtils
三角形分割の計算で使用されているNumber.EPSILONが取り除かれました。 (#9844
Spherical
copy()メソッドの不具合が修正されました。 (#9737
TubeGeometry
フレネ・セレ標構の計算がTubeGeometryからCurveクラスのcomputeFrenetFrames()メソッドに移されました。 (#9851
TubeBufferGeometry
TubeGeometryのBufferGeometry版が追加されました。 (#9841
Uniform
onRenderでuniform変数を変更する機構が削除された? (#9662)、(#9741
WebGLRenderer
  • クリッピング領域はこれまで指定領域の論理和的にしか設定できませんでしたが、この変更により論理積的にも設定できるようになりました。 (#9470
  • StereEffect内でLensFlareを利用できるようになりました。 (#9880
  • gl.bufferData()を使用してバッファ全体をコピーできるようになりました。 (#9631
WebGLState
NoBlendingが設定されたときに各種Blendingパラメータがリセットされるようになりました。 (#9839

Examplesの追加


examplesの追加はないようですが、既存のオブジェクトがいくつか変更されています。気になった項目だけ以下にあげます。

GLTFLoader
バンプマップ・圧縮テクスチャの追加や不具合の修正などいろいろ変わりました。(#9704#9721#9729#9726#9786
VREffect
なんか色々ちまちまと変わったようです。(#9695#9732#9743#9778#9787#9747
WebGLDeferredRenderer
メンテナンスされてなくて消されてたWebGLDeferredRendererが復活しました。 (#9772#9833

それではまた来月。