ZeronoFreya / just_snap

blender脚本

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

just_snap

使用blender3.4.1开发

新版存在个人不能接受的bug或改动,故停留在此版本

功能: 吸附点、边中点、面中心、物体原点

  • 透视模式下: 吸附视图内所有可见点

  • 非透视下: 只吸附视图内可见的点,即忽略背面的点

  • 局部视图:

    • 由于api(local_view_get)存在bug,大约两年前已发现并被确认,但至今仍未修复,故只能通过切换选择状态来获取局部视图内的物体。

      偶然发现在插件中使用 [obj.name for obj in context.scene.objects if obj.visible_get()]可以仅获取局部视图中的可见物体,可靠性未知,但个人更喜欢此方法,如有bug,欢迎提出

      脚本编辑器中仍会得到全部物体

    • 利用ray_cast获取鼠标下的物体也存在问题,ray_cast会碰撞到局部视图之外的物体,故只能采取隐藏其他物体的方式规避。

  • 网格太密的物体没有吸附的意义,故采取以下规则:

    以鼠标下的面为基准,获取面在屏幕上的投影所占据的面积,目前忽略小于 60*60的面

目前只对mesh物体进行捕捉,其他类型待以后添加

目前的快捷键(测试用,核心代码并未监听任何快捷键):

按键 功能
1 顶点
2 边中点
3 面中心
o 物体原点

About

blender脚本

License:MIT License


Languages

Language:Python 100.0%