写在前面
关于 FBXLoader 的文档不多, 遇到的很多问题都是自己一点一点摸索出来的,感觉用unity的人会遇到类似的问题.下面讲到的注意事项我并不是很清楚原理, 只是我在项目中遇到问题是这样解决的,大概不是100%正确的,所以作为参考就行.
如果有不对的地方,希望你能留言告诉我, 很希望能完善FBXLoder的文档啊.
制作一个 FBXLoader 能使用的模型, 要注意哪些问题呢?
如果单纯只是一个导入一个模型的话, 倒是没什么问题, 但是导入一个绑定了骨骼的模型, 就要注意很多细节的东西, 因为模型是由代码来解析的, 所以在3DSMAX中能正常工作并不意味着在网页上也能正常工作, 同时用过unity和3DSMAX的人应该会深有体会.
1. 重置变换
- 模型制作的过程中要执行缩放操作( scale )时一定要有重置变换 (reset XForm)
- 如果导出的时候有出现有关 Orthogonal 的警告,就意味着有哪个部分没有重置变换(reset XForm),那么模型在网页上会发生不可预料的扭曲变形
- 一定要确保导出的时候没有任何警告(warning).
2. 单一模型
- 导出来的文件一定只能有一个模型
- 比如维纳斯, 手臂和身体一定要是一个完整的模型. 但是骨架是没有限
制的,不一定只有一组. venus的模型里一共是有3组骨架的
3. 设置所有顶点 ( vertex )
- 模型表面所有的点( vertex )都要有设置权重, 否则在网页上, 骨架无法正常工作.
- 以venus模型为例,如果仅仅给双臂上的顶点( vertex)设置权重, 在3DSmax中是正常工作的,但是在网页上就会变得不确定,有可能动了动手,身体也跟着动了
- 在我的项目中,我添加了额外的骨头来为多余的顶点( vertex )赋予权重.
网友评论