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

はじめに


皆さん、こんにちは。あんどうです。いま興味があるのはベリンボロです。リリースされてからちょっと時間が経ってしまいましたがThree.jsの9月リリースの内容についてざっくりご紹介します。

要点


基本的には先月リリースされたThree.jsのES6モジュール化に関する修正漏れを塞いだのがメインという感じです。従って初めてのThree.js 第二版」への影響は軽微です。メソッド名の変更があるけど、たしか書籍じゃ使ってなかったんじゃないかなー。大丈夫、まだ戦える!

コードの変更点


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

three.js
ES6モジュール化によって使えなくなったはずのTHREE名前空間を参照していた部分が削除されました。(#9539
Animation/KeyframeTrackPrototype
最後のキーフレームが削除される不具合が修正されました。(#9592#9666#9691
Animation/PropertyBinding
trackNameがパースできない不具合が修正されました。(#9696
Box2, Box3
size()とcenter()がgetSize()とgetCenter()に改名され、さらに空の場合にサイズゼロのベクトルが返るようになりました。(#9675
BufferAttribute
countの不要な再計算が取り除かれました。(#9658
CylinderBufferGeometry
半径がゼロに近い場合に発生する不具合が修正されました。(#9672
EdgesHelper
非推奨になりました。(#7533
Geometry
copy()とmerge()ないでcolorsが正しく処理されるようになりました。(#9627
Line3
centerがgetCenter()に改名されました。
Matrix3, Matrix4
fromArray()にoffsetパラメータが追加されました。(#9611
Mesh
使われていなかったmorphTargetBaseとgetMorphTargetIndexByName()が削除されました。(#6902
Object3D
rendererの前に呼び出されるonBeforeRenderコールバックが追加されました。(#9
StereoCamera
  • zoomパラメータが正しく処理されるようになりました。(#9648
  • (例えば複数のStereoCameraを切り替えて使うなどして)再利用されたときにうまく動作しない不具合が修正されました。(#9656
WebGLRenderer
  • 内部クラスからTHREE名前空間が削除されました。
  • ShaderMaterialのclippingプロパティが無視される不具合が修正されました。"||"であるべきところが"|"になってるという教科書みたいなバグ。(#9585
  • いらないワーニングが抑制された?(#8395
  • morphTargetInfluencesがキャッシュされてしまう不具合が修正されました。(#9640
  • カメラかどうかのチェックが修正されました。(#9661
  • groupsとdrawRangeが使用されているときのワイヤーフレーム表に関する不具合が修正されました。(#9698
WebGLRenderer/WebGLUniform
マテリアルにonUpdateが渡されるようになりました。(#9637
WireframeHelper
非推奨になりました。(#7533

Examplesの追加


WebVRというかHTC Vive対応が進んでいるようです。

webvr_vive_sculpt
HTC Viveを使ってスカルプト的なのができる?
http://threejs.org/examples/webvr_vive_sculpt.html
webvr-vive-paint
HTC Viveを使ってペイント的なのができる?
http://threejs.org/examples/webvr-vive-paint.html
webvr-vive-dragging
HTC Viveのコントローラーを使って3D空間内のオブジェクトを移動したりできるサンプルだと想像しています。あくまで想像です。
http://threejs.org/examples/webvr-vive-dragging.html

それでは(おそらく)また二週間後くらいに。