blender瞎玩9:ALT一个键操作视图

用户头像
保定/设计爱好者/6年前/494浏览
blender瞎玩9:ALT一个键操作视图
用户头像
钢水壶

3dview navigation(导航,即3d视图操作)的一种另类思路


1.


因为最近想用数位板,但数位笔笔杆按钮作为中键右键用的很不舒服,

所以希望实现类似zbrush的,只需要点击的视图操作。zbrush操作为,

“左键点击空白区域拖动”为旋转视图,“alt+左键”为平移视图,“alt+左键松开alt”为缩放视图。

问题是,blen怎么侦测“松开alt”作为一个事件?这个问题我不知道咋解决,所以我想了个别的办法


我的办法是利用piemenu,按住alt键召唤三个按钮,分别是移动视图,旋转视图,缩放视图,

这里为了避免误触,我制作了6个按钮,如下图,




2.


操作如下图,

操作逻辑为,alt键召唤面板,然后鼠标向某个方向甩,就进入了视图操作模式,

操作完毕需要按一个键结束操作,似乎默认为alt键,我又另外设了个鼠标左键


快捷键设定的位置还挺难找,在按键映射-3d视图-3d视图模态,如下图,

其中axis snap为旋转视图时吸附坐标轴,我觉得很碍事,会影响alt键退出视图操作模式,所以就关了


因为和alt键有关的功能太多,所以我也不知道有没有冲突




3.


思路


[1]

主体代码如下,就是个简单的创建piemenu,


class PIE_MT_Navigation(Menu):

bl_idname = "PIE_MT_navigation"

bl_label = ""


def draw(self, context):

layout = self.layout

ob = context.object


pie = layout.menu_pie()

pie.separator()

pie.operator("view3d.move", icon='SHADING_BBOX')

pie.operator("view3d.rotate", icon='ORIENTATION_GIMBAL')

pie.operator("view3d.zoom", icon='VIEWZOOM')

pie.operator("view3d.zoom", icon='VIEWZOOM')

pie.operator("view3d.move", icon='SHADING_BBOX')

pie.operator("view3d.rotate", icon='ORIENTATION_GIMBAL')

pie.separator()



[2]

下面是登录函数和快捷键,如果想用别的快捷键唤出piemenu,就把'LEFT_ALT'改成别的


def register():

for cls in classes:

bpy.utils.register_class(cls)


wm = bpy.context.window_manager

if wm.keyconfigs.addon:

# Select Mode

km = wm.keyconfigs.addon.keymaps.new(name='Object Non-modal')

kmi = km.keymap_items.new('wm.call_menu_pie', 'LEFT_ALT', 'PRESS')

kmi.properties.name = "PIE_MT_navigation"

addon_keymaps.append((km, kmi))


km = wm.keyconfigs.addon.keymaps.new(name='Grease Pencil Stroke Edit Mode')

kmi = km.keymap_items.new('wm.call_menu_pie', 'LEFT_ALT', 'PRESS')

kmi.properties.name = "PIE_MT_navigation"

addon_keymaps.append((km, kmi))



[3]

其实我还设想了另外一种理论上更舒服的操作逻辑,即,alt按住召唤3按钮,

然后左键按住某一按钮进行视图操作,松开左键时停止操作,松开alt键时按钮消失。

理论上可以用我上一篇文章(自制shelf)的功能实现,但是实际试验发现,

blen的视图操作命令,比如bpy.ops.view3d.rotate,无法通过“按住按钮”起作用,遂作罢




4.


最后附上代码,可以作为插件安装

文章仅供参考

glhf




4
举报
|
收藏
分享
相关推荐
评论
用户头像
评论你的想法~
表情
喜欢TA的作品吗?喜欢就快来夸夸TA吧!
推荐素材
三维渲染极简北欧风现代家居装饰场景
旋转的漩涡和流动的线条,三维渲染
红色喜庆风格的三维产品展台
点线连接的科技矢量背景,三维抽象矢量星球,寓意全球化、国际化,球形世界地图
灰色三角四面体、点线链接构成三维空间科技矢量背景
三维渲染的流动白色布料透明玻璃背景
三维户型剖面图
红色三维概念礼盒背景
三维渲染城市背景
三维渲染的年轻女医生
矢量三维场景彩色质感球体抽象海报
矩阵立方体三维空间科技背景
三维金融创意股票基金金融模型
三维曲线空间背景
三维渲染的简约简洁极简风格几何体场景海报
三维地形图,等高线。抽象的点线科技背景,类似云端数据连接、区块链、神经网络的概念。
三维渲染的老年医生
三维界面科学技术,科幻场景矢量背景图。
三维渲染极简空白室外背景
三维渲染抽象波浪流金风格背景
实验室三维场景
三维抽象矢量星球,寓意全球化、国际化,球形世界地图,点和线连接的矢量背景
扁平化抽象几何三维模型创意时尚海报
深蓝色三维科技地球,全球化、国际化、科学技术概念抽象图形
黑暗房间内的金属方块展台,三维渲染
你可能喜欢
相关收藏夹
大家都在看
登录注册