Blender绘制大脑表层,并高亮染色

首先, 有必要熟悉一下Blender的一些快捷键。(实在不想吐槽Blender反人类的交互操作了)

  按鼠标右键是选择某个物体。(是右键,而不是左键!)

  按A键,取消选中或者选中全部物体。

  按H键,隐藏选中物体;按Alt+H键,重新显示隐藏的物体。

  Ctrl+Z,撤销操作。

  按R键,移动鼠标,旋转选中物体(场景不动)。

  按住滑轮拖动,旋转场景。

  按Del,再按回车,删除选中物体。

 

然后,讲一下在Blender里面怎么运行python代码。

  

  

 

 

 

现在讲解怎么绘制大脑。

  首先,删除场景内默认的物体。(这一步很重要,否则后面会报错)

  然后,下载脑表层数据obj文件。

    下载地址:https://brainder.org/research/brain-for-blender/(不FQ会有点慢)

    从里面找到自己需要的obj模型,下载到本地,解压。

  然后,把所有obj文件都放到C:\objects文件夹里。

  最后,在Blender里运行下面的代码:

import os
import bpy
from random import random

path_to_obj_dir = os.path.join('C:\\', 'objects')
file_list = sorted(os.listdir(path_to_obj_dir))
obj_list = [item for item in file_list if item.endswith('.obj')]
for item in obj_list:
    path_to_file = os.path.join(path_to_obj_dir, item)
    bpy.ops.import_scene.obj(filepath = path_to_file)

Mat = []
for obj in bpy.data.objects:
    mat = bpy.data.materials.new('MaterialName')
    mat.diffuse_shader = 'LAMBERT'
    mat.diffuse_intensity = 1.0
    mat.diffuse_color = (random(),random(),random())
    Mat.append(mat)
    bpy.context.scene.objects.active = obj
    mat = bpy.data.materials['MaterialName']
    if len(obj.data.materials):
        obj.data.materials[0] = Mat[-1]
    else:
        obj.data.materials.append(Mat[-1])

 运行结果如下:

  

 

参考网址:

http://stuff.wp.viranyi.com/?p=48
https://blender.stackexchange.com/questions/24133/modify-obj-after-import-using-python

 

再分享一个bpy创建文字对象的方法(Blender的文档实在不太实用,要搜很多资料才能解决一个问题):

posted @ 2017-05-10 20:06  lvmememe  阅读(1330)  评论(0编辑  收藏  举报