近期热门
粉丝82
关注 1
获赞 63
首页 CGJOY论坛 动画作品交流 脚本工具+教程
【maxscript】006.CS与bone骨骼动作(.bip .xaf)批量导出

[脚本工具+教程] 【maxscript】006.CS与bone骨骼动作(.bip .xaf)批量导出

[复制链接]
15113 17 4 28 5年前 举报
--------------------2019.8.7-更新上测试文件,各位老铁出bug的可以对照下是什么问题-----------------------

这次换种方式,录屏了。
可惜的是,租住的地方不方便录音,所以,视频是静音的。
各位老铁将就下吧。

这次脚本内容RT,基本上要说的都在视频里面通过打字的方式写出来了。来不及看的老铁,下载附件来看吧。










4
点赞
0
打赏
28
添加到收藏夹

0

点击复制链接

使用微信扫码分享
一次扣10个券
全部评论17
您需要登录后才可以回帖 登录

谢谢楼主好东西收藏了
230天前
回复

使用道具 举报

好东西收藏了
230天前
回复

使用道具 举报

@遇见高人
大佬,公司一般会用到  <角色ID>@<动作名称>这样子的格式来命名动作文件,如何才能把你的代码改一下,让保存.bip 和.xaf的文件命名时,脚本读取的是@后面的字符呢?

fn roleAnimation = --这个函数,用处是给保存的bip命名,bip的命名是以当前max文件下划线之前的部分作为命名的。可以看到,左边浏览器max文件下划线之前是stand1。
(
        a=maxFileName as string --获取文件名
        x=a.count        --总数
        bb=#()        --空数组
        for i in 1 to a.count do
        (
                append bb a[i]        --将a组内的字母合并进b里面
                i+=1
        )

        c=findItem bb "@"        --在b里面查找_位于第几位
        y=c-1        --得到最终命名所需的序号
        if y > 0 then        --如果大于0,则说明_后面有大于等于1个字符
                (
                d=x-y        --总数减前面的,就是后面要去掉的数
                trim = x-y
                )
        else(        --如果小于或者等于0,则说明后面只有_,或者不存在_
                trim = 4
                )
        snameRole=substring maxfilename 1(maxfilename.count-trim)
        )
2年前
回复

使用道具 举报

有没有单独保存xaf的呀{:6_209:}
3年前
回复

使用道具 举报

好东西,不知2012能用不
5年前
回复

使用道具 举报

遇见高人 发表于 2019-8-7 15:57
button btn_remove_0 "移除0权重" pos:[10,10] width:60 height:25
                on btn_remove_0 pressed do
         ...

这个代码会用,只是前面说的那个显示选择点权重的功能不知道怎么把3dmax的提取出来,我自个研究了下,发现应该是和Macro_SkinTools.mcr有关,因为里面的代码都是和3dmax自带的权重工具菜单的功能挂钩的,但具体怎么转化和提取哪些,现在还在研究。。望大佬赐教!
5年前
回复

使用道具 举报

jj95198 发表于 2019-8-7 14:48
对对对,我就是这个意思,因为想着是把这个加其它功能一起搞一个脚本(其它功能比如:去除零权重)

                button btn_remove_0 "移除0权重" pos:[10,10] width:60 height:25
                on btn_remove_0 pressed do
                (
                        setCommandPanelTaskMode #modify--设置为修改面板
                        subobjectLevel = 1--进入第一个修改器,也即是skin修改器
                        skinOps.RemoveZeroWeights $.modifiers[#Skin]--移除当前修改器下所有点的0权重骨骼
                )


去除0权重的,假如你有看我前面的几个帖子,那你应该能理解这几行代码要怎么用了。

5年前
回复

使用道具 举报

遇见高人 发表于 2019-8-6 21:07
这个想法挺有意思,不过不太懂这个必要性。
我的理解是,你想在选中一个点是时候,查看它的权重值,而又 ...

对对对,我就是这个意思,因为想着是把这个加其它功能一起搞一个脚本(其它功能比如:去除零权重)
5年前
回复

使用道具 举报


这是你文件质心命名和脚本的对不上,如果我没记错的话,在之前的脚本内,我也有这样提及到。类似的bone命名也是一样。这个地方修改起来,无非就是改骨骼名字,或者改脚本上的命名。
5年前
回复

使用道具 举报

数据加载中....
没有更多评论了
您当前使用的浏览器IE内核版本过低会导致网站显示错误

请使用高速内核浏览器或其他浏览器