Slay the spireより計算がシビア。あと、こんななったら無理…。

Meteofall: Krumit’s Tale [Steam]
夕食にスパイスカレーが食べたくなって子供とチャリで谷六へ!坂がキツい!
スパイス単品を買いそろえると予算が合わないので、ブレンドされたガラムマサラ2種類購入して来ました。
タマネギ炒めて既に持ってるスパイスも適当にぶち込んで出来上がり。カレーに失敗無し!
暑かったわー。
商標なので一般的に何と呼ぶか知りませんが。
下は百均で手に入れたであろうバッタもんです。昨日帰宅すると見事バラバラになってました…。
ワイヤで一つに繋げて端をかしめてあるだけなんですね。そら簡単に壊れるわー。
ワイヤがギリギリの長さしかなく修理も面倒なので、ちゃんとした物を買いなおし。公式のものではないので、これもバッタもんに違いは無いんですけど。中国製なめんなよってぐらいすごい精度です、触ってて気持ちいいです。
本当はツートーンの配色が良かったんですけどね、その配色のものは商品写真見る限り隙間が出来てたり精度が悪そうに見えたので止めました。
標準のものは24の三角から成りますが、もっと長いのもあります。でも24節じゃないと球状にならないですよ。
BAR Autotech |3D立体パズル スネークキューブ~[amazon.co.jp]
僕が子供の頃からありました、もう40年も前からあるオモチャなんですねえ。
久しぶりのAnimation nodes。メッシュボリューム内に任意のポイントがあるかどうかはメッシュのBVHTreeを作成して「Is Inside Volume」ノードで調査しますが結果はポイントの数だけのBooleanリストとして出力されます。で、ここからボリュームの内側あるいは外側のポイント(Vector)のリストを作成したい場合、「Expression」ノードを使用してフィルタリングすることになります。
以下サンプルのblendファイル、Animation Nodes + Extra Nodes2.2.2を使用しています。
[x for x,y in zip(positions,insides) if y==True]
エクスプレッションはPythonで表記します。VectorリストとBooleanリストをzipで対にしたイテレータを作成し、それぞれx,yで取り出しています。ボリューム内にあるポイントを取り出すなら「y==True」を条件にして、x(Vecor要素)をリストに加えます。リスト内包表記ですね。
ループにVectorリストとBooleanリストを入力して「Switch」ノードを使用する事も考えられますが「Switch」ノードは必ず「If True」と「If False」でそれぞれ値を出力してしまします。Falseの場合は出力しないということが出来ないため今回の用途には向きません。
昨日は事務所で湿気に殺されそうでした、レンダリングPCはサウナ石ですか?
さてレンダリング中のヒマつぶし、BlenderでShader遊び。シマシマのトランジション効果。
以前にも書いたと思いますがノードのつなぎ方、特に任意の座標のテスクチャのルックアップやシェイピングなどGLSL等のシェーダプログラミングと似ているので、プロシージャルに作ろうとするなら「The Book of Shaders」が大変参考になります。
UnityのShaderGraphも同様ですが、3Dのノイズテスクチャなどが無いので手間はかかりそうですね。