3dsMax插件开发 / maxscript脚本语言学习


前言

3dsMax是多边形建模的最佳工具之一。一个好的插件,会大大提高制作效率。很多复杂且重复的步骤完全可以通过插件来完成,制作人员其实只需要做很少及简单的操作即可。


一、3dsMax插件介绍

目前官方提供的插件开发方式有3种:

  1. maxscript开发
  2. Python开发
  3. maxSDK开发

maxscript是Autodesk官方提供的编程语言,其提供的API基本能实现绝大多数的功能。maxscript是我接下来要分享的工具主要使用的开发语言。因为这个语言都是官方提供的,能直接调用内部函数,性能是高效的,能实现的功能也是最全的。
官方也提供了Python工具包来实现插件的开发,Python比较方便的是可以使用Python的库。想深入了解的可以查看官方文档
maxSDK是Autodesk提供的软件开发工具包,能使用C++开发更底层的工具,想了解的去官方文档,我的见解是除非你的工具算法很多,需要高性能的,或者maxscript不能实现的可以使用maxSDK来开发,当然它的难度也是最大的(c++,你懂的)。

maxscript脚本语言

此语言是Autodesk提供开发3dsMax插件专用脚本语言。语法相对于其他语言更加简洁,可以去官方了解下,这里推荐一本书《3ds MaxScript脚本语言完全学习手册》 王华 编著的。PDF版的放在文章最后,需要的自取。

二、快速入门

这里教大家应该都知道的快速入门的方式:
打开菜单栏 Scripting / Scripting Listener
菜单栏


在Scripting Listener界面中打开MacroRecorder / Enable ,打开后就可以监听了
在这里插入图片描述


这是我在场景里面画了一个box,监听器监听到的操作,并以代码的方式呈现出来了。
在这里插入图片描述
我们把代码复制出来:

macros.run "Objects Primitives" "Box" 
Box pos:[-54.4108,46.33,0] isSelected:on width:11.3131 length:12.9293 height:10.5051
actionMan.executeAction 0 "40077"  -- Views: Hide Grids Toggle

以上其实就是maxscript脚本语言代码了,核心代码是下面这行:

Box pos:[-54.4108,46.33,0] isSelected:on width:11.3131 length:12.9293 height:10.5051

我们保存上面的代码,就是一个插件了,相信很多小伙伴也使用过这样的方法。当然这种方式不够灵活,但我们只需要熟悉官方提供的api,基本上就能实现更复杂插件的制作。

三、网上工具多,需要自己会吗?

确实,3dsMax建模软件到目前来看,已经非常成熟了(熟透了已经)。所以它所在的领域已经处于饱和状态,大大小小的插件更是无所不有,还有很多大神写的超级插件,如阿酷插件、渲梦工厂、场景插件等。这些插件确实牛,也基本搞定了我们的所需要的功能,这些大神及他们做的插件是我远远所不能及的高度。但是,因为他们格局太大,这些大神插件一般都会顾及所有领域常用的功能,顾不及一些小且繁琐的功能。当然,网上也有小的插件,但每次寻找都十分麻烦且没有大神插件稳定好用。找到后也不一定适用自己的情况。所以我觉得自己会写自己的工具还是相当有必要的!


总结

如果你的需求能找到现成的那是最好不过了,因为白嫖的肯定是最香的。但如果你的需求确实比较小众,网上无法找到合适的,你就要相信技多不压身的道理!
感谢各位小伙伴耐心看完我在max脚本语言的第一篇文章。以后有好东西,我也会第一时间分享出来。


我这篇文章需要一丁点编程语言的基础(起码懂得代码的格式及它所代表的含义)。我自己也写了一些小小工具,以后有机会跟大家分享。如有大神光临,轻点喷。
既然读到这里了,也该把我的秘籍分享出来了,网上应该也能找得到的。这本书比官方文档更加简洁。确实是入门必备,以后翻阅查资料也更方便。

《3ds MaxScript脚本语言完全学习手册》 王华 PDF版
链接:https://pan.baidu.com/s/1XP96y3pCVlN9RjWChJlnXg
提取码:ivue

  • 27
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值