Three.js r84で何が変わったのか
2017/02/07
  • このエントリーをはてなブックマークに追加

はじめに


皆さんこんにちは。肘の擦過傷から雑菌が入って水風船のように晴れてわりと大変なことになっていたあんどうです。そんなこんなでちょっと遅れましたが今月もThree.jsのr84のリリースノートをまとめます。

要点


小さい修正が大量に、という感じで特筆すべきものはないように思いました。たぶん今月はここで読むのを止めても大して困りません。

コードの変更点


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

バグフィックス


初めてのThree.js 第二版」を訳しているときからいやこれバグだろと思っていたFogの挙動が(たぶん)修正されました。あの挙動のおかげでスクリーンショットが原著と同じにならなくてえらい苦労したことが昨日のことのように思い出されます。

BufferAttribute
clone()の不具合と、頂点配列の長さをチェックすべきとろこでインデックス配列の長さを使用している不具合が修正されました。(#10510#10603
BufferGeometry
copy()の不具合が修正されました。 (#10445
Geometry
copy()の不具合が修正されました。 (#10514
GridHelper
sizeパラメータを使用して線間距離を指定したときに線間が指定値の倍になる不具合が修正されました。 (#10570
ImageLoader
セキュリティ状の問題でFileLoaderベースのImageLoaderがリバートされて古いImageLoaderに戻りました。 (#10439
WebGLRenderer
  • fogがカメラからの距離ではなく、near/far属性に依存するという不具合が修正されました。 (#10497
  • MTK社製のアンドロイド端末で発生する不具合用のワークアラウンドが追加されました。 (#10568

追加


Box3
バウンディングボックスとして使用されるBox3にexpandByObject()メソッドが追加され、境界を拡張できるようになりました。 (#10474
Font
改行がサポートされました。(#10476
Matrix4
makeFrustum()がmakePerspective()に改名されました。 (#10375
Vector2
fromAttribute()がfromBufferAttribute()に改名されました。 (#10412
Vector3
  • fromAttribute()がfromBufferAttribute()に改名されました。 (#10412
  • applyProjection()がapplyMatrix4()に改名されました。 (#10405
Vector4
fromAttribute()がfromBufferAttribute()に改名されました。 (#10412

削除


BinaryTextureLoader
以前DataTextureLoaderに改名されましたが互換性のために残っていたBinaryTextureLoaderがdeprecatedになりました。 (#10393
Curve
create()がdeprecatedになりました。
CurveUtils
削除されました。
EventDispatcher
apply()が削除されました。(#9597
Matrix3
applyToBufferAttribute()が追加されたのでapplyToVector3Array()が削除されました。 (#10367
Matrix4
applyToBufferAttribute()が追加されたのでapplyToVector3Array()が削除されました。 (#10367
Spline
CatmullRomCurve3の導入によりdeprecatedになりました。 (#10415
SplineCurve3
CatmullRomCurve3の導入によりdeprecatedになりました。 (#10397
WebGLRenderer
法線フラグメントシェーダーからgammaとpremultipliedAlphaが削除されました。 (#10543

リファクタリング


BoxGeometry
なんやらいろいろ内部がリファクタリングされました。 (#10573#10576
CircleGeometry
内部構造がきれいになりました。 (#10573
CylinderGeometry
内部構造がきれいになりました。 (#10573
EdgesGeometry
内部構造がきれいになりました。 (#10576
LatheGeometry
内部構造がきれいになりました。 (#10573
ParametricGeometry
内部構造がきれいになりました。 (#10573
PlaneGeometry
内部構造がきれいになりました。 (#10573
PolyhedronGeometry
内部構造がきれいになりました。 (#10576
RingGeometry
内部構造がきれいになりました。 (#10573
ShapeGeometry
内部構造がきれいになりました。 (#10573
TorusGeometry
内部構造がきれいになりました。 (#10573
TorusKnotGeometry
内部構造がきれいになりました。 (#10573
WireframeGeometry
内部構造がきれいになりました。 (#10576
Mesh
raycast()が内部的にArrayではなくBufferAttributeを使用するようになりました。 (#10390
ObjectLoader
内部でJSON.parse()が失敗したときにonError()が呼ばれるようになりました。 (#9909
Sphere
Box3とSphereの循環参照が解消されました。 (#10547

Examples


既存のExamplesに対していろいろと修正や拡張はされているようですが、今回新しく追加されたExampleというものはないようです。

今月は(実際にはリリースノートに乗っているpullreq全部に一応目を通すので結構面倒くさいんですが)記事としては軽めでした。それではまた来月。