平面设计师在职业生涯内或迟或早都有可能遇到一、二次数据可视化设计的需求。这种需求通常出现在一些数据表格设计,类似Excel里面的柱形图/折线图/饼形图设计。然而是人都知,用Excel设计出来的效果丑样的居多,想要靓,就必须用平面设计类软件,例如Ai,来做。
将数据导入平面设计类软件做可视化设计的流程并不复杂。用Adobe Illustrator(Ai)就更简单,直接复制粘贴即可。但是要玩出平面设计的花样,首先就要打散导入的数据,解除数据与图形的关系,这就意味着设计图形与源数据再没有衔接。这种流程一旦遇上数据修改,修改再修改,各种的麻烦不言而喻。
现在,用Blender可以有机会免除这种麻烦。不过,起手可能有少少重量,起码要熟悉一下这款三维软件。所幸学习的资源愈来愈多,想学个上手程度并不难。(起码作为平面设计师做个数据可视化立体效果,甚至动态的视觉设计也没问题)
用个简单的例子(柱形图形展示数据)讲解一下制作流程(也是复制粘贴): 1、表格用CSV格式 假如有一个表格文件,例如这样: 将数据文件保存为CSV格式。 2、Blender设置 打开blender,将工作面板设置为对开本: (左边为3D视图,右边为文本编辑器) 3、复制粘贴Python将这段Python代码复制粘贴到右边的编辑器内,按“运行” 键。
import csv
import bpy
bar_spacing = 1.5
bar_width = 2
with open('CSV文件路径') as f:
readout = list(csv.reader(f))
for a in readout:
placement = readout.index(a)
bpy.ops.mesh.primitive_plane_add(size=1)
new_bar = bpy.context.object
for vert in new_bar.data.vertices:
vert.co[1] += 0.5
vert.co[0] += placement*bar_spacing + 0.5
new_bar.scale = (bar_width, float(a[1]), 1)
#bpy.ops.object.modifier_add(type='SOLIDIFY')
#bpy.context.object.modifiers["Solidify"].thickness = -1.2
bpy.ops.object.text_add()
bpy.context.object.data.align_x = 'RIGHT'
bpy.context.object.data.align_y = 'CENTER'
bpy.ops.transform.rotate(value=1.5708)
bpy.ops.transform.translate(value=(placement*bar_spacing*bar_width+bar_width/2,-0.5, 0))
bpy.context.object.data.body = a[0]
(重点:“CSV文件路径”必须更改为真实的CSV文件保存的位置)
出来的效果长这样(平面):
4、立体效果 如果需要有立体效果,将代码15-16行的“#”符号去掉,再运行(记住删除原有图形)。 然后,图形配上材质,打上灯光,走个镜头,效果就有了。 每次数据修改,把原来的图形删除,再运行一次,数据与图形即时修改 ,材质 灯光 镜头都不变,要变也容易,实力抗打。 提示:Blender暂不支持中文字体输入,所以数据内的中文无法显示。