一个关于xgen开发导入的问题,但其实我觉得更重要的是过程中发生的事情。

这两天在搞xgen相关的流程开发,其中碰到了一点技术上的问题,其实倒不是什么太大的问题。无非也就是我需要调用某个命令功能的时候发现没有成功,这个想必在开发的时候太常见了。
首先我稍微描述一下起因,我们打算将model部门或者是cfx部门制作好的xgen的maya资产文件发布到服务器上。这其中需要经过两个过程,一个是将制作的xgen maya文件拆分成 .xgen 文件和 生长模型的 .obj文件。 这样在新的maya文件中将两个部件从新组装起来会过滤掉制作文件中的很多垃圾信息。既然是流程开发那么这些过程就需要用代码工具来实现。关于*.xgen文件*的导入导出之前看文档的时候碰到过官方提供的两个相关命令。
在这里插入图片描述
很开心的就测试了一下,结果发现在importPalette的时候不成功。其实主要是参数的性质不是很确定(主要是第二个参数到底放啥不知道 - - !),于是我习惯性的去github上看下别人是怎么使用的。确实找到了有些人写过的,但基本上也是五花八门的基本我都跑不通。
于是乎我心血来潮的想要看下xgen的插件源码(这个思路主要是由于之前捣鼓的时候碰见过它在maya的安装目录中基本都是用python扩展的插件,源码也在目录下。), 因为基本上以我目前开发能力都是maya能手动的我基本就能转成代码自动的。所以从maya xgen 插件中有一个用于向模型导入.xgen文件的gui工具。根据这个工具的名称也很幸运的找到了它源码中的gui python文件。
在这里插入图片描述
从文件结构上可以看出这主要是一个gui的面板,但是它其实关联了官方导入插件的相关命令。
其实接下来根据maya里窗口按钮的名称可以很快找到相应调用了哪个命令,可以很直接的找过去看官方是怎么调用的。但是当我找到的时候基本是这样的
在这里插入图片描述
高潮来了,我现在回想起来觉得可能大多数的其他开发可能更多的是顺着这条命令分析出相应的参数代表的数据,然后直接调用就好了。
但是我刚开始可能是由于不自信再加上整个gui本来也就300行代码,于是我从头看了一遍它的gui实现。最后看到这里的时候发现这个命令跟整个gui的实现其实关系并不大。于是我干了一件原本10分钟能解决的问题而我用了一天半的时间(当然更主要是因为这个任务档期比较充裕……)

现在来看其实只要一摸一样直接调用这个命令就可以了 name = xg.importPalette(xgenFile,[],nameSpace), 其中最关键的是第二个参数的空列表,其实主要是文档上解释的不是很容易理解,剩下的两个就是.xgen文件和命名空间非常简单。事情原本是我同事要做的然后先是询问了我的建议,然后我就给他提供了思路,然后他发现import的命令没法使用,于是问题又抛给了我 - -!

总结来看的话我其实想说的是地毯式阅读的问题,这个事情之前andy大大跟我说过,看书应该是应用型的带着自己的需求去查书,而不是要地毯式阅读。但这是我一个长期以来养成的习惯,总觉得不从头看或者地毯式阅读会导致不容易理解中间的部分知识或者逻辑。这个在之后要给自己留个醒儿,平时尽量应用型阅读,迫不得已再地毯式阅读。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值