アニメ『AKIBA’S TRIP -THE ANIMATION-』
よくあるアニメでは、普通の日常を送っていた主人公は、異能バトルを目の当たりにすると、なかなか信じてくれませんが、このアニメの主人公は、大変物分りが良く、なんでもすぐに受け入れます。その辺りが展開がスピーディーで、めんどくさくなくて良い感じです。ゲームのアニメ化らしく、ゲームと同じく作中の秋葉原の店舗は実名のようです。
敵は弱そうななのにとても強くて、弱点は肌の露出です。つまり服を脱がせばやっつけることができます。敵が束になって服を脱がされて爆発していくのが爽快です
爽快といえば、気泡緩衝材です。Blenderで作ってみます。
(ずっとプチプチシートと呼んでいましたが、プチプチは商品名のようです)
作るのは、Planeの上にCylinderを乗せただけの絵です。今回はCylinderのコピー時に、 無理やり行列を使ってみます。
コピーは上、右、下、左の順番に行います。
\[
UP = \left(
\begin{array}{cc}
0 \\
1
\end{array}
\right)
\]
\[
RIGHT = \left(
\begin{array}{cc}
1 \\
0
\end{array}
\right)
\]
\[
DOWN = \left(
\begin{array}{cc}
0 \\
-1
\end{array}
\right)
\]
\[
LEFT = \left(
\begin{array}{cc}
-1 \\
0
\end{array}
\right)
\]
1 #!/bin/bash 2 cat <<EOL>/tmp/tmp.py 3 4 import bpy,numpy 5 6 red=bpy.data.materials.new("red") 7 red.diffuse_color=(0.8, 0.1, 0.1) 8 red.use_transparency=True 9 red.alpha=0.3 10 red.emit=0.1 11 12 bpy.ops.object.delete() 13 14 bpy.ops.mesh.primitive_plane_add() 15 16 bpy.ops.transform.resize(value=(20,20,1)) 17 bpy.context.object.data.materials.append(red) 18 19 bpy.ops.mesh.primitive_cylinder_add() 20 bpy.ops.transform.resize(value=(0.4, 0.4, 0.1)) 21 bpy.data.objects['Cylinder'].location=(0,0,0.2) 22 bpy.context.object.data.materials.append(red) 23 bpy.ops.object.shade_smooth() 24 25 bpy.data.lamps['Lamp'].distance=3000 26 bpy.data.lamps['Lamp'].type='SUN' 27 28 UP = numpy.matrix('0;1') # (x,y) 29 RIGHT = numpy.matrix('1;0') # (x,y) 30 DOWN = numpy.matrix('0;-1') # (x,y) 31 LEFT = numpy.matrix('-1;0') # (x,y) 32 33 n=1 34 i=0 35 j=2 36 while n<30: 37 for m in [UP,RIGHT,DOWN,LEFT]: 38 for i in range(0,n): 39 bpy.ops.object.duplicate() 40 bpy.ops.transform.translate(value=(m[0,0],m[1,0],0)) 41 j=j-1 42 if j == 0: 43 j=2 44 n=n+1 45 46 EOL 47 blender -P /tmp/tmp.py
コメント