以下使用Unity2017.4.10 + VS2017
================================================================================================== 角色资源包为Asset Store -> Unity Chan的角色包,接下来我们会使用这个Modle来进行操作

为了方便查看,我们首先进入FaceUpdate 这个脚本,把OnGUI全部注释,

================================================================================================ 首先,我们来了解一下什么是网格:网格其实就是一堆顶点,按照不同的连接方式所组成大小,旋转各不相同的三角面,而将这些三角面组合在一起,我们才可以看到各种各样的模型,而网格在Unity中的组件名称为 MeshRenderer

而在我们做出动画的时候,网格是在不断改变绘制的,所以,我们可以在代码中保存动画特定帧数的网格数据,将其渲染到一个空物体上,之后我们动态生成的网格材质随时间渐变为透明。
================================================================================================
public class SkinMeshT : MonoBehaviour
{
// 定义一个蒙皮网格数组,蒙皮网格继承自MeshRenderer的
private SkinnedMeshRenderer[] skinMesh;
void Start()
{
// 通过Unity自带的方法 递归获取物体及其子物体上的网格实例
skinMesh = transform.GetComponentsInChildren<SkinnedMeshRenderer>();
}
void Update()
{
// 这个很长的语句是 UnityChanControlScriptWithRgidBody 里面的轴控制
IsRunning = (transform.parent.GetComponent<UnityChanControlScriptWithRgidBody>().h == 0 ? false : true) || (transform.parent.GetComponent<UnityChanControlScriptWithRgidBody>().v == 0 ? false : true) ? true : false;
if (IsRunning)
{
Plays();
}
}
}
/////
private void Plays()
{
for (in

本文介绍如何在Unity中实现残影效果,利用网格数据保存特定帧的动画状态,将其渲染到空物体上并逐渐透明。通过创建对象池优化性能,减少每帧的资源开销。同时提供了Shader代码示例,并给出了Shader的参考资料和资源下载链接。
最低0.47元/天 解锁文章
1084

被折叠的 条评论
为什么被折叠?



