基于动画的布料模拟 在布料中埋几根骨骼,由动画驱动,角色移动时通过插值; 在移动端游戏中较为泛用; 基于RigidBody的布料模拟 通过几根动力学骨骼实现; 基于Mesh-based的布料模拟 不同…
核心思想 因名可知(Forward And Backward Reaching Inverse Kinematics),FABRIK算法的本质就是向前迭代一次,再向后迭代一次; 不同于CCD需要把骨骼…
概述 最简单的IK算法; 问题 当给定一个约束点,它的解空间是两个球的交点,也就是说解出了一个圆环,在圆环上的任何一个点解都是有效的; 解决方法是给一个ReferenceVector参考向量,沿着参考…
碰撞检测的两个阶段 Broad Phase(初筛): 找出刚体的AABB(轴同向碰撞盒),快速判断是否可能碰撞; Narrow Phase(精细检测):碰撞点、碰撞方向、碰撞深度; Broad Pha…
概述 简单的两骨IK可以通过Two Bones IK解决,但实际开发中有许多多骨骼的链式IK,同时人体的不同骨骼有不同的约束,Two Bones IK难以解决,此时可以通过CCD求解; 核心思想 把节…
Unity中的内存 托管内存:主要是指使用托管堆或者垃圾收集器自动分配和管理的内存,也包括脚本堆栈与虚拟机内存; C#非托管内存:可以在C#下与Unity Colloection名字空间和包结合使用,…
IOS平台Unity程序启动过程 安卓平台Unity程序启动过程 优化建议
减少方法到委托的隐式转换 避免频繁直接将方法当作参数直接传入,因为每次调用时都会产生一个委托实例,应该将方法缓存起来: private Func<object> func; private…
概述 ECS,即 Entity-Component-System(实体-组件-系统) 的缩写,其模式遵循组合优于继承原则,游戏内的每一个基本单元都是一个实体,每个实体又由一个或多个组件构成,每个组件仅…
场景 在Unity中,往往需要使用到一张新的RenderTexture来做一些画面处理的情况,如UI的滤镜、模糊等; 以UI弹窗的模糊背景为例,我们的一个实现思路是,编写一个BlurShader,在打…