three.js r69,r70でのはなし
(※はてブからの移植 https://fkef.hatenablog.com/entry/2015/03/10/014318 )
頂点編集が反映されなかった話
物のpositionを変えるのはNeedUpdateなどしなくても問題なく反映されるが、
vertices(頂点)座標を更新するときには毎回geometry.verticesNeedUpdate = true
をかまさないと アニメーションrender()
ごとにフラグがもと(false
)に戻ってしまうらしい
booleanだからなんかずっとupdateしてくれるもんかとおもってたけど違うのね
verticesneedupdate - Google 検索
javascript - ThreeJS Dynamic Line Change - Stack Overflow
その他geometry関係のパラメータを変えた場合には毎回対応したneedupdateをtrueにしてあげないといけないのか、なるほど
それでもカメラアングルによって見えないときがあった話
もうひとつ、verticesを変更したときになんか見るアングルによって表示されたりしなくなったりして、なんじゃこりゃなんか重なってんのかなこれ…とかいろいろ検証したけど、
結局geometryの.computeBoundingSphere()
をやっとかなかったので表示判定が前の場所に取り残されていたということでございました
で前にverticesがあった場所が入らないアングルになると表示されなくなる・・というわけだなこんちくしょう!
THREE.Lineでは他の .computeBoundingBox()
は効かなかったのでlineはSphereで判定しているということだろうか
うーんなおってよかった