アニメ『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


コメント