Cxihu田树东
混沌时娱乐 清醒时学习
展开
-
Unity实现GoF23种设计模式
这样可以降低系统的耦合度,使用者不需要关注对象的创建细节,对象的创建由相关的工厂来完成。多个对象间存在一对多关系,当一个对象发生改变时,把这种改变通知给其他多个对象,从而影响其他对象的行为。定义一个中介对象来简化原有对象之间的交互关系,降低系统中对象间的耦合度,使原有对象之间不必相互了解。结构型模式,除了适配器模式分为类结构型模式和对象结构型模式两种,其他的全部属于对象结构型模式。通过这种方式去除对象之间的耦合。行为型模式,除了模板方法模式和解释器模式是类行为型模式,其他的全部属于对象行为型模式。原创 2023-12-14 17:44:03 · 331 阅读 · 0 评论 -
【Unity Shader】从入门到领悟(2)用C#画一个立方体
一、构成一个立方需要多少个顶点?二、定义三角面的索引数组:三、定义UV坐标数组:四、最后构建Mesh:五、完整代码:原创 2023-06-16 14:41:36 · 1370 阅读 · 0 评论 -
【Unity Shader】从入门到领悟(1)基本概念:什么是网格?什么是材质和Shader?
一、什么是网格(Mesh)?二、什么是MeshFilter(网格过滤器)?三、什么是MeshRenderer(网格渲染器)?四、什么是材质(Material)?五、什么是Shader(着色器)?原创 2023-06-13 11:12:24 · 1659 阅读 · 0 评论 -
Unity高性能无卡顿取图像——实时推流/截屏录屏等功能
一、Unity提供的ScreenCapture取图像接口二、我们一个一个看API:三、Unity日本大神keijiro还提供了一种异步截图的方案,完整代码如下:四、最近我又找了一种高效的截图方式Graphics.Blit:原创 2022-11-15 17:47:19 · 3502 阅读 · 1 评论 -
《Unity DOTS之ECS从入门到不香》(5)创建无数个胶囊体并操作他们
文章目录一、本教程我们将学习如何用ECS创建无数个胶囊体并操作他们。二、创建CreateEntitiesComponent组件:三、创建CreateEntitiesSystem系统:四、创建CreateEntitiesManager。五、挂载CreateEntitiesManager脚本并运行一、本教程我们将学习如何用ECS创建无数个胶囊体并操作他们。1.开发环境和之前(2)DOTS开发环境配置一致。2.创建一个Capsule 并将其拖成Prefab。并将Capsule材质球上的Enable Gpu原创 2021-10-07 01:48:24 · 1427 阅读 · 0 评论 -
《Unity DOTS之ECS从入门到不香》(4)从旋转一个Cube开始(下)
文章目录一、创建实体(Entity)。Entity实质上是一个ID ,它像个容器将Component组织在一起。一、创建实体(Entity)。Entity实质上是一个ID ,它像个容器将Component组织在一起。1.ECS中有一个EntityManager类来管理一个World中的所有实体。 可以使用EntityManager.CreateEntity()在运行时创建Entity。但此处我们将演示在编辑器下直接将Game Object转变成Entity。2.首先创建一个普通Cube GameObj原创 2021-10-06 23:47:22 · 758 阅读 · 0 评论 -
《Unity DOTS之ECS从入门到不香》(3)从旋转一个Cube开始(上)
文章目录一、ECS实现旋转一个Cube二、我们先创建一个组件(Component),Component是一个结构体struct。三、创建系统(System),System是一个类Class,一个只能具有方法而不具有任何数据的特殊类。一、ECS实现旋转一个CubeECS要求我们分别实现:实体(Entity)、组件(Component)、系统(System)二、我们先创建一个组件(Component),Component是一个结构体struct。1.引入ECS命名空间using Unity.En原创 2021-10-05 18:55:36 · 850 阅读 · 0 评论 -
《Unity DOTS之ECS从入门到不香》(2)DOTS开发环境配置
文章目录一、Unity DOTS环境配置二、安装hybrid简便讲解:一、Unity DOTS环境配置1.要是使用ECS是需要在Package Manager 中导入这四个包的:com.unity.burstcom.unity.entitiescom.unity.jobscom.unity.mathematics这里有个更简单的办法就是直接安装:com.unity.rendering.hybrid就行,hybrid依赖上述4个包,安装hybrid Unity会直接为我们安装好环境。h原创 2021-10-05 00:27:21 · 2534 阅读 · 0 评论 -
《Unity DOTS之ECS从入门到不香》(1)基本概念
文章目录一、什么是DOTS?二、什么是ECS?三、Hello World一、什么是DOTS?Data Oriented Tech Stack(DOTS)是unity推出的多线程面向数据的技术堆栈 。它是一套高性能解决方案,包含三个部分:1.ECS:ECS是一种有别于面向对象的编程模式,是面向CPU Cache友好的编程模式。要求代码都要按照 实体+组件+系统 的框架构建。官方链接2.JobSystem:JobSystem是unity推出的一套先进的多线程任务管理系统,结合ECS可以获得最佳性能。当然原创 2021-10-04 19:47:55 · 2309 阅读 · 0 评论 -
《Unity Magica Cloth从入门到详解》之(8)视野外剔除系统
使用剔除系统,可以停止未在相机上绘制的角色的交叉模拟。这将大大提高性能,尤其是在第一人称 FPS 和 VR 中。下图是相机剔除的可视化。场内人物众多,但实际的交叉模拟只对相机上绘制的明亮物体进行。原创 2021-11-04 19:56:25 · 3422 阅读 · 0 评论 -
《Unity Magica Cloth从入门到详解》之(7)布料防穿模
在动作游戏等涉及剧烈运动的布料模拟中,经常出现的问题是布料穿入腿部和身体。比如下图中,裙子无意中穿透了大腿。我们可以通过使用如图Parameters功能的Surface Penetration / Collider Penetration 来改善这个问题。下图是应用Surface Penetration表面穿透 的示例,布料不会穿透大腿。原创 2021-07-15 11:46:37 · 3626 阅读 · 0 评论 -
《Unity Magica Cloth从入门到详解》之(6)换装
进行换装时,由于MagicaCloth是通过GameObject名称搜索骨骼的,如果游戏对象名称重复,则可能无法正常工作。当此检查设置为勾选时,添加MagicaAvatarParts部件时,MagicaAvatar上的碰撞器将被合并。如果没有问题,将在层次结构中附加一个图标,并且检查器显示 [No Problem],则没有问题。如果一切顺利,则层次结构中将有一个图标,并且将显示 [No Problem],如下所示。Magica Avatar是一个核心组件,除了更换主体的衣服外,还管理主体的各种信息。原创 2021-04-13 19:33:08 · 1727 阅读 · 0 评论 -
《Unity Magica Cloth从入门到详解》之(5)MeshSpring网格弹簧
MeshSpring允许使用弹簧摆动Mesh的顶点,同样也适用于SkinningMesh。在MeshSpring中,需要设置RenderDeformer渲染变形器以使网格变形,减少计算。当MeshSpring的开始图标变为“白色”时,设置完成。如果运行 Unity 并且网格在晃动,则设置完成。原创 2021-04-08 21:04:46 · 885 阅读 · 0 评论 -
《Unity Magica Cloth从入门到详解》之(4)MeshCloth网布
MeshCloth 的特点是可以对网格顶点Mesh进行布料模拟。也适用于SkinningMesh。MeshCloth 非常适合模拟复杂的运动,例如裙子和碰撞检测。然而,由于控制了网格的每个顶点并将结果回写到蒙皮网格的处理,因此计算负荷相应增加。因此构造MeshCloth之前还需要一种叫做“RenderDeformer变形器”的东西来使网格变形。原创 2022-10-19 17:56:13 · 1793 阅读 · 0 评论 -
《Unity Magica Cloth从入门到详解》之(3)BoneSpring骨骼弹簧
BoneSpring顾名思义可以通过弹簧摆动骨骼。在这里我们以Cube设置BoneSpring演示。原创 2021-04-08 20:38:39 · 829 阅读 · 0 评论 -
《Unity Magica Cloth从入门到详解》之(2)BoneCloth骨布
我们以Unity-Chan模型为例,其头发具带有骨骼。首先找到要晃动的骨骼,观察其结构在窗口中选中角色右键单击,从菜单中选择“ Magica Bone Cloth”,如下所示。将BoneCloth添加到角色。选中Magica Bone Cloth可以从面板中进行设置。信息中有一个红色图标,是由于未设置数据。这样就完成了碰撞器设置。让我们运行Unity。头发颗粒应该已经与身体碰撞,不再渗透。到此BoneCloth骨布的基本设置完成。原创 2021-04-08 20:30:25 · 1978 阅读 · 0 评论 -
《Unity Magica Cloth从入门到详解》之(1)基础设置
Magica Cloth是在Unity Job系统+ Burst编译器上运行的高速布料模拟。所以Unity需要添加 “com.unity.burst”: "1.6.6"和 “com.unity.jobs”: "0.70.0-preview.7"俩个Unity Package。为了使MagicaCloth能够正常工作,必须将MagicaPhysicsManager放置在场景中。打开PhysicsManager检查器并根据要执行的项目设置更新时间。基本上,默认设置几乎没有问题,但是有时在性能方面调整。原创 2021-04-08 20:00:37 · 4191 阅读 · 0 评论 -
Unity UGUI性能优化关键点总结
Batch:一次渲染batch(批次)包括:提交VBO(Vertex Buffer Object顶点缓存对象),提交IBO(Index Buffer Object顶点索引对象),提交shader,设置好硬件渲染状态,设置好光源属性等(纹理可以被缓存并多帧复用,严格来说不包括在一个batch内)。SetPass Call:代表渲染状态切换,如果一个batch和另一个batch使用的不是同种材质或同一个材质的不同pass,那么就要触发一次set pass call来重新设定渲染状态。原创 2021-02-07 20:47:45 · 503 阅读 · 0 评论