找回密码
 立即注册
查看: 112|回复: 0

Unity中MeshRenderer 和 SkinnedMeshRenderer 的区别?

[复制链接]
发表于 2022-12-31 20:28 | 显示全部楼层 |阅读模式
相信很多刚开始熟悉Unity的同学看到这两个名字相像的组件一定会有一个疑问,它们什么区别?分别用在什么场景下?

那本文就简单介绍下他们的区别

一、MeshRenderer 和 SkinnedMeshRenderer 的区别

MeshRenderer 和 SkinnedMeshRenderer 都继承自Renderer类,两个类都和网格有关;

区别:SkinnedMeshRenderer 相较于MeshRenderer 多了以下的处理

1、蒙皮的处理,蒙皮则是根据每个顶点包含的骨骼索引和权重,去读取骨骼的坐标矩阵,并混合多个矩阵,最终用矩阵乘法获得顶点蒙皮后的位置。
参考链接
天欲雪:浅析 Unity 中骨骼动画的各种实现
old张:[Unity3d杂记]骨骼蒙皮动画
破晓:Unity大规模角色的GPU蒙皮动画表达方式

2、blendShape的处理,是一种顶点插值动画,可用于脸部表情的控制等
参考链接
科学养猪:人物骨骼蒙皮动画系列3:Blendshape表情动画

3、布料系统的处理。在角色身上或者场景的组件中表现布料的效果,比如角色的裙摆,场景中迎风招展的旗帜,都可以增加游戏的真实感,提升美术效果。
参考链接
Unity布料系统 - 阡陌渡客 - 博客园

二、应用场景
MeshRenderer 一般引用于没有动画的模型身上,比如建筑,石头,树木等。
SkinnedMeshRenderer 一般应用于具有蒙皮动画、表情动画,布料系统等的应用场景中。
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-5-5 05:02 , Processed in 0.087556 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表