前言,本文是威玲旺卡原创笔记,没有告知请不要转载,代码也请不要抹去作者条目,谢谢啦。
0. 收获
Blender1周,终于明白CG课上的那些东西和可以模型简单的物件,不用依仗别人的模型了。
额外收获,了解了一个动画角色的制作过程。
在一周前看不懂Gleb Alexandrov的教程,但是在跟了Blenderguru的教程之后,突然觉得自己入门了,是个挺有成就感的事情,非常感谢他,制作了空前绝后极完美的教程。
无论是建模还是使用软件本身,费眼睛是真的。
cycles渲染器渲染效果传神,还可以自己写着色器代码在node editor里调试。
Blender不只是一个3d软件,它灵活的插件扩展,内部终端,script editor,texture painting和video editor,还有后期堪比整个image编辑库,都让它远远超过一个3d软件的定义。
新的电影Agent 327,惊艳指数已经远远超过过去所有blender open movie了
无论怎么看,软件,用户,开发者状态,Blender都很出色,非常推荐,期待2.8的发布。
下面就是我这一周里做出来的东西了,其中甜甜圈是跟着BlenderGuru教程的收获,真的是太棒了。
1. Ubuntu下Alt键修正
Blender是靠热键才能用好的,所以也是它比其他软件难入门的一个原因。
Alt
键在Ubuntu下会失效,GNOME界面都会有这个问题,这在Blender的使用上是不可以接受的问题。
问题的原因是,Alt
键被Ubuntu的系统作为移动窗口的热键了,所以要更改,可以把系统热键map到super键上,
方法是在CCSM里改,(compizConfig setting Mangement, 安装sudo apt-get install compizconfig-settings-manager compiz-plugins-extra
)
CCSM
-> Window Mangement
-> Move Window
-> Initial Window Move
把热键从<Alt>Button1
改到<Super>Button1
.
就完成了。
2.自定义Add-On
用Blender过程中有一个事情我比较难搞定,就是选中,往往用户是知道要选中什么object的,可以在菜单栏选中它,但是菜单栏只是把目标选为Active Object,真正Select永远依仗用户在场景里去瞄准点击它,当工程很小这都没差,但随着工程变大,这就要求用户越过层层object,或者很多次滚轮缩放移动再选中,这也费blender的计算量,因为它要花力气去根据用户鼠标位置计算到底是哪个object,所以用到后面,用户往往会发现,“选中”变成了一个越来越“艰难”的事情,然而这些只要有个select active object的选项就可以避免了,可惜一阵搜索之后,并没有这样的东西,大家都会把鼠标选中当成一个想当然的事情,可我不这么认为。 我通过它的API给它写了一个Add-On,并生成了一个方便使用的菜单和热键,这个Add-On的功能是,在菜单栏选择想要的object后,按下Ctrl+Shift+空格
,或者选择菜单栏的Object
-> Select Active
,就可以自动在场景里选中这个object了,在object非常多,或者想选中相机和灯时,会相当好用。
Add-On代码
import bpy
bl_info = {
"name": "Select Current Active Object",
"author": "ThatWolfieFeeling",
"category": "Object",
}
class Active_Object_Selection(bpy.types.Operator):
"""Select Current Active Object"""
bl_idname = "object.select_active"
bl_label = "Select Active"
bl_options = {'REGISTER', 'UNDO'}
def execute(self, context):
bpy.ops.object.select_all(action = 'DESELECT')
bpy.context.active_object.select = True
return {'FINISHED'}
def menu_func(self, context):
self.layout.operator(Active_Object_Selection.bl_idname)
# store keymaps here to access after registration
addon_keymaps = []
def register():
bpy.utils.register_class(Active_Object_Selection)
bpy.types.VIEW3D_MT_object.append(menu_func)
# handle the keymap
wm = bpy.context.window_manager
km = wm.keyconfigs.addon.keymaps.new(name='Object Mode', space_type='EMPTY')
kmi = km.keymap_items.new(Active_Object_Selection.bl_idname, 'SPACE', 'PRESS', ctrl=True, shift=True)
addon_keymaps.append(km)
def unregister():
bpy.utils.unregister_class(Active_Object_Selection)
bpy.types.VIEW3D_MT_object.remove(menu_func)
# handle the keymap
wm = bpy.context.window_manager
for km in addon_keymaps:
wm.keyconfigs.addon.keymaps.remove(km)
# clear the list
del addon_keymaps[:]
if __name__ == "__main__":
register()
把脚本命名为Select_Active_Object_byThatWolfieFeeling.py
放在Blender目录的脚本位置../../scripts/addons
在启动Blender后,在User Perference
中选择Add-Ons
,再搜索wolfie
,勾上Object: Select Current Active Object
就可以在每次使用Blender的时候用这个功能了。
3. 角落
- 如果发现顶点超过10k后,选中花费很长时间,应该是驱动不支持,可以试试看在User Preference -> System -> Selection -> 从Automatics改成OpenGL Occlusion Queries
(完)