Unity3D手游开发日记(11) - 基于共享骨骼简单高效的换装方案

游戏的换装,一般分为3种.换材质,骨骼挂接,共享骨骼.用的比较多的是骨骼挂接和共享骨骼.

1.骨骼挂接

没有动作的骨骼挂接,适合武器.

有动作的骨骼挂接,适合坐骑.

2.共享骨骼

共享骨骼,适合身体部件.主模型(身体)包含整个骨骼,部件模型只包含自己部分的骨骼,应用的时候,部件模型的骨骼共享主模型的骨骼.这样的话,只需要播放主模型的动画,部件会跟着动.

Unity的换装呢,你要百度一下,能搜出一堆文章,方法也是多种多样.有参考价值的却不多.

比如主流推荐的官方demo提供的换装方式.合并mesh,多此一举又麻烦.

比如avatar的方式 ...不适合Legacy动画

其实用以前端游的方式,共享骨骼就行了,Ogre引擎直接提供函数OGRE::shareSkeletonInstanceWith()来实现.而Unity引擎没有这个函数,怎么办呢,自己写一个呗.命名我也取一样的,表示对Unity自己不封装这个函数的鄙视.

        // 共享骨骼
        public static void ShareSkeletonInstanceWith(SkinnedMeshRenderer selfSkin, GameObject target)
        {
     
  • 6
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
网络视频资源,如有侵权请留言/举报,资源过大上传乃是下载链接!!!------ 『课程介绍』:1 S/ V q2 z {+ ~( j 相信男生们都喜欢玩爽快的赛车类游戏,那么你是否想要自己开发这样的一款游戏呢?在这里你将使用unity开发技术,自己创建一个开发的,竞争性的赛车世界。同时可以让用户对汽车进行换装。- P8 z# u5 t' z1 @' w# c - F1 c. D: y3 c: o 『课程目录』: 任务1: 游戏演示 04:01 任务2: 创建工程,添加环境,添加车. n& c' W: j) [0 N 06:07 任务3: 给车添加碰撞器1 k: n' t- s0 ?7 _- |: }' e! O 03:17 任务4: 车的阴影设置* J, e. b0 _1 P( A7 C' x 03:29 任务5: 给车添加投影/ a5 \& I9 i& ~% d- R4 O 07:47 任务6: 关于WheelCollider车轮碰撞器% ^2 O% b' E" ?; U) K7 L1 O 06:10 任务7: 给车子添加车轮 05:29 任务8: 控制车子的前后行进 任务9: 控制车子的左右转向 04:51 # C6 v5 _/ O1 V& q5 c 任务10: 控制摄像机的跟随移动2 J( j: W' N3 D( y) B 06:51 任务11: 控制摄像机的平滑跟随5 d( P' H# L' |9 F: R7 F+ p 09:31 任务12: 解决车子侧翻的问题7 l" J8 q3 T: u! V 06:01 3 {1 V6 c8 K% c6 B/ ?" O+ C 任务13: 显示车子的速度( c2 L4 C& @" T, I+ f- J$ E 13:24 任务14: 使用仪表盘显示速度# J/ n; ~/ R7 | 12:18 8 v+ V8 u4 x0 J, O8 M+ ? 任务15: 控制轮子的转动- M* [) D$ D; I* z" ~1 A 08:22 任务16: 控制轮子的转向 06:08 任务17: 控制车的最大速度和最小速度; u+ p" j$ z" A; h ? 08:42 任务18: 给车添加刹车的功能3 M* x1 q6 ^2 r' \ 05:26 任务19: 给游戏添加背景声音 03:21 3 m0 A* G' S+ Z 任务20: 给车子添加引擎声音$ F4 O8 y# Z7 ~: M9 u 07:02 + W$ S* Z" i/ h$ Q 任务21: 添加引擎加速效果的声音7 p' T8 }) r- |, M 07:34 任务22: 控制车子的漂移 05:48 任务23: 添加漂移的声音! j" b* {, k) T, F: } 02:42 + {5 J, }5 K* }* j5 `; i6 O | 任务24: 添加漂移的条件,判断轮子是否着地 07:02 任务25: 添加倒车的警示灯 04:41 任务26: 添加赛车到达终点的判定 11:57 ' D3 e) h1 i2 J4 ?/ E 任务27: 添加倒计时效果! x, y6 I( y! ?9 j- @; E$ ?! I 07:27 ! J0 F9 H; F% | 任务28: 开发计时期间的引擎发动效果5 \; v) f" w' F6 _! a+ g) ?2 B# o! i. M 10:16 任务29: 设计游戏开始的界面 07:02 1 r0 w- P; i# ^; l, c& E& I: a. H 任务30: 处理游戏用户名的存储和按钮的事件( O0 d7 p" _2 l, l4 l 06:06 5 {& N: C3 E* r; i5 n 任务31: 开发赛车选择界面, m; s q4 O# i1 {' v; p 10:44 任务32: 开发赛车的总用时计时 08:18 1 }$ x0 C% ^! i4 V7 k 任务33: 游戏数据的存储,把最快的时间存储起来 07:12 7 O) P8 \: C4 y9 r. D 任务34: 控制轮子位置随着悬挂系统的弹簧的伸缩而伸缩, d# `8 b5 x" j9 J 12:49 任务35: 添加车子的划痕! L$ A. Y" b1 j- b1 U3 R 19:31 任务36: 处理车子和墙体之间的碰撞! [5 I% d/ Z! M# ~: L8 g 04:21 . b) N! L% a% O! x 任务37: 实现第一人称视野的控制' n( R0 Y& h2 I4 C# _$ d 05:01 任务38: 学习Terraintoolkit地形编辑插件 10:23 ' w% J* U" f% y5 d3 b" l0 h8 r 任务39: 对代码进行结构优化 12:56 任务40: 修改赛车的控制方式,添加重力感应控制' {* c+ l( x" G, _( n4 N$ W 08:57 : H2 B! Y( w7 L- @. [" W: g \3 y; V) K 任务41: 控制不同平台下车辆控制的启用, L9 n9 l3 T7 B J% C 03:54 任务42: 控制某些脚本得到物体的方式) c( U, m0 ?. Q; A 05:29 任务43: 控制场景的在安卓平台导入设置 05:24 任务44: 设计安卓平台的游戏环境,发布游戏到安卓平台2 ?, K% k; b1 @ 04:56 任务45: 项目结束分析,游戏项目结束

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值