TVアニメ『テイルズ オブ ゼスティリア ザ クロス』
原作のゲームをプレイしたことがないので、感情移入がまだできていないのですが、内容なんてどうでも良いほど3D映像が綺麗に感じます。シミュレーションでしょうか、焚き火の炎とか、綺麗な川や噴水がこれみよがしに出てきますが、綺麗なので目を奪われます。乗っている岩が壊れるシーンとか、粉砕の仕方が美しくて何回も見てしまいます。まあ、リアルなのが逆に嫌な黒い虫のシーンとかありますが、そこはスキップ。綺麗な映像がエスカレートしていくことを期待して試聴継続しようと思っています。
今回は、Blenderで炎を出してみます。
炎を作るには、以下2つが必要です。
・ドメインにするオブジェクトを作る
・炎の元になるオブジェクトを作る
ドメインを作り、どの範囲に炎のシミュレートを効かせるか決めます。
デフォルトのCubeをそのままドメインにします。
bpy.ops.object.modifier_add(type='SMOKE') bpy.data.objects['Cube'].modifiers['Smoke'].smoke_type='DOMAIN'
続いて、ドメインの中に、炎の元にするオブジェクトを作ります。
球体にしました。
bpy.ops.mesh.primitive_uv_sphere_add()
このままではドメインと同じぐらい大きいので、10分の1に縮小します。
bpy.ops.transform.resize(value=(0.1,0.1,0.1))
最後に球体に炎の設定をします。
bpy.ops.object.modifier_add(type='SMOKE') bpy.data.objects['Sphere'].modifiers['Smoke'].smoke_type='FLOW' bpy.data.objects['Sphere'].modifiers['Smoke'].flow_settings.smoke_flow_type='FIRE'
全部合わせるとこうなります。
~$ cat -n fire.sh 1 #!/bin/bash 2 cat <<EOL>/tmp/tmp.py 3 4 import bpy 5 6 bpy.data.worlds['World'].horizon_color=(0,0,0) 7 8 bpy.ops.object.modifier_add(type='SMOKE') 9 bpy.data.objects['Cube'].modifiers['Smoke'].smoke_type='DOMAIN' 10 11 bpy.ops.mesh.primitive_uv_sphere_add() 12 bpy.ops.transform.resize(value=(0.1,0.1,0.1)) 13 bpy.ops.object.modifier_add(type='SMOKE') 14 bpy.data.objects['Sphere'].modifiers['Smoke'].smoke_type='FLOW' 15 bpy.data.objects['Sphere'].modifiers['Smoke'].flow_settings.smoke_flow_type='FIRE' 16 17 EOL 18 blender -P /tmp/tmp.py
これを実行して、ALT+Aを押すと、燃え始めます。
(ただし、これだけではレンダリングはできません)
続く
コメント