复制模型到骨骼-脚本教程
2010-09-14 11:21
232 查看
复制模型到骨骼-脚本教程
运行脚本,脚本内容:
今天给大家将以下如何复制模型到骨骼的方法,制作前准备,首先将骨骼匹配模型,完后把绑定或调动作的模型打散和骨骼块数一样大致形状和骨骼一致.骨骼对位完毕后,原地分割模型,我这里分开是为了方便大家观察。如下图:
匹配骨骼的时候一定注意要多费点时间检查,关节和模型的关节一定要匹配好,否则运动的时候会产生错误计算,蒙皮的时候也会导致蒙皮不精准.
打散模型,就是选中模型要打散的面分离,这张图看起来象圣斗士在穿圣衣,呵呵.
打散的模型和骨骼准备好了我们就来复制模型到骨骼,我这里只将了BIPE骨骼,因为BONE的骨骼和这个原理一样并且比BIPE更容易操作,如果有使用BONE骨骼的同学,也可以用这样的方法.
下一步对齐坐标,使分离出来的模型和骨骼的坐标对齐.这个对齐一定要模型套骨骼的做,我这里分开还是为了大家观察方便。
对齐坐标后把分离出来模型塌陷成MESH,最好用工具面板中的塌陷.
完后外框显示骨骼,以便下一步拾取,你也可以按F3键线框往格切换来拾取.我这里用的是外框显示,选择要以外框显示的骨骼,右键-属性-勾选显示为外框.
bipedPart=0
TarMesh=0
rollout 复制模型到骨骼Roll "复制模型到骨骼" width:160 height:220
(
pickButton btn1 "Pick Biped Part" pos:[31,58] width:100 height:22
pickButton btn2 "Pick Your Mesh" pos:[37,99] width:91 height:24
button btn3 "do it" pos:[45,153] width:69 height:28
on btn1 picked obj do
(
bipedPart=obj
btn1.caption=obj.name
)
on btn2 picked obj do
(TarMesh=obj
btn2.caption=obj.name
ResetXForm TarMesh
collapseStack TarMesh
)
on btn3 pressed do
(
TarMesh.pivot=bipedPart.transform.position
TarTM=TarMesh.transform
PartP=biped.getTransform bipedPart #pos
PartR=biped.getTransform bipedPart #rotation
PartS=biped.getTransform bipedPart #scale
PartS=[PartS.z,PartS.y,PartS.x]
PartTM=Matrix3 1
PartTM=translate PartTM PartP
PartTM=rotate PartTM PartR
PartTM=scale PartTM PartS
FinalPartTM =PartTM* (inverse TarTM)
TarMesh.transform=inverse FinalPartTM
backTM=FinalPartTM*TarTM
ResetXForm TarMesh
collapseStack TarMesh
bipedPart.baseobject=TarMesh
TarMesh.transform=backTM
)
)
newFloatR=newRolloutFloater "复制模型到骨骼-Alpha" 170 230
addRollout 复制模型到骨骼Roll newFloatR
点下Pick Biped Part按扭,拾取骨骼,先下Pick Your Mesh按扭拾取模型.
点下do it,啊!!!你会发现头(模型)不见了.要害怕其实你的模型已经复制成为骨骼了,将骨骼选择不勾选显示外框,你会发现骨骼变的和模型一样了.
你把所有模型复制完以后你发现地上到处是模型,哈哈把他们删了就可以了`
运行脚本,脚本内容:
今天给大家将以下如何复制模型到骨骼的方法,制作前准备,首先将骨骼匹配模型,完后把绑定或调动作的模型打散和骨骼块数一样大致形状和骨骼一致.骨骼对位完毕后,原地分割模型,我这里分开是为了方便大家观察。如下图:
匹配骨骼的时候一定注意要多费点时间检查,关节和模型的关节一定要匹配好,否则运动的时候会产生错误计算,蒙皮的时候也会导致蒙皮不精准.
打散模型,就是选中模型要打散的面分离,这张图看起来象圣斗士在穿圣衣,呵呵.
打散的模型和骨骼准备好了我们就来复制模型到骨骼,我这里只将了BIPE骨骼,因为BONE的骨骼和这个原理一样并且比BIPE更容易操作,如果有使用BONE骨骼的同学,也可以用这样的方法.
下一步对齐坐标,使分离出来的模型和骨骼的坐标对齐.这个对齐一定要模型套骨骼的做,我这里分开还是为了大家观察方便。
对齐坐标后把分离出来模型塌陷成MESH,最好用工具面板中的塌陷.
完后外框显示骨骼,以便下一步拾取,你也可以按F3键线框往格切换来拾取.我这里用的是外框显示,选择要以外框显示的骨骼,右键-属性-勾选显示为外框.
bipedPart=0
TarMesh=0
rollout 复制模型到骨骼Roll "复制模型到骨骼" width:160 height:220
(
pickButton btn1 "Pick Biped Part" pos:[31,58] width:100 height:22
pickButton btn2 "Pick Your Mesh" pos:[37,99] width:91 height:24
button btn3 "do it" pos:[45,153] width:69 height:28
on btn1 picked obj do
(
bipedPart=obj
btn1.caption=obj.name
)
on btn2 picked obj do
(TarMesh=obj
btn2.caption=obj.name
ResetXForm TarMesh
collapseStack TarMesh
)
on btn3 pressed do
(
TarMesh.pivot=bipedPart.transform.position
TarTM=TarMesh.transform
PartP=biped.getTransform bipedPart #pos
PartR=biped.getTransform bipedPart #rotation
PartS=biped.getTransform bipedPart #scale
PartS=[PartS.z,PartS.y,PartS.x]
PartTM=Matrix3 1
PartTM=translate PartTM PartP
PartTM=rotate PartTM PartR
PartTM=scale PartTM PartS
FinalPartTM =PartTM* (inverse TarTM)
TarMesh.transform=inverse FinalPartTM
backTM=FinalPartTM*TarTM
ResetXForm TarMesh
collapseStack TarMesh
bipedPart.baseobject=TarMesh
TarMesh.transform=backTM
)
)
newFloatR=newRolloutFloater "复制模型到骨骼-Alpha" 170 230
addRollout 复制模型到骨骼Roll newFloatR
点下Pick Biped Part按扭,拾取骨骼,先下Pick Your Mesh按扭拾取模型.
点下do it,啊!!!你会发现头(模型)不见了.要害怕其实你的模型已经复制成为骨骼了,将骨骼选择不勾选显示外框,你会发现骨骼变的和模型一样了.
你把所有模型复制完以后你发现地上到处是模型,哈哈把他们删了就可以了`
相关文章推荐
- CentOS下编写shell脚本来监控MySQL主从复制的教程
- 在blender中使用python脚本批量复制平移生成模型
- away3d 4.1 alpha 教程 模型篇 <1> Max中的制作带有骨骼动作的模型
- CentOS下编写shell脚本来监控MySQL主从复制的教程
- CentOS下编写shell脚本来监控MySQL主从复制的教程
- CentOS下编写shell脚本来监控MySQL主从复制的教程_MySQL
- Cocos2d-x教程 Lua脚本(2) Mac系统下搭建Lua的编码环境
- EasyJWeb-Velocity脚本简明教程
- 【Thinkphp教程】模型定义
- VBS脚本教程:连续的创建文件
- CSS代码编写中视觉格式化模型的学习教程
- 无废话ExtJs 入门教程八[脚本调试Firefox:firebug]
- SQLServer 事务复制中使用脚本添加某个对象的发布
- 3DSMAX的CS骨骼使用教程
- 生产环境搭建MySQL复制的教程(转)
- unity3d的playmaker插件使用教程,九、playmaker和脚本
- 用Python实现换行符转换的脚本的教程
- Cocos2d-x 3.0final 终结者系列教程19脚本编程-Lua语法基础
- [转编] 企业架构模式之领域逻辑模式的实现(事务脚本、领域模型、表模块、活动记录)
- eLua学习第三课:Lua脚本语言的基础入门教程