
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を押すと、燃え始めます。
(ただし、これだけではレンダリングはできません)
続く


コメント