# com.mars.gpu-instance **Repository Path**: liangjx/com.mars.gpu-instance ## Basic Information - **Project Name**: com.mars.gpu-instance - **Description**: 一个支持gpu动画的gpu instance系统 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-26 - **Last Updated**: 2025-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # com.mars.gpu-instance ### 介绍 使用job system实现的gpu实例系统 支持gpu动画、支持动态挂点,运行时完全去掉GameObject ### 使用说明 #### 普通不带动画的物体实例 ![图片](Doc/1756723096644.png) 1、挂载组件InstancerPrefab,配置对应的lod和网格,目前的loddis就是距离摄像机的距离(需要的话可以改成跟LOD Group一样根据屏占比) 2、点击序列化按钮就可以生成对应gpu instance需要的配置,完成这一步后对应的prefab就不需要了,可以直接使用对于的配置显示出来了 3、调用InstanceProceduralManager.GetInstance().AddInstance(path, pos)就可以添加模型了 具体可以看Samplers/GpuInstance/Scenes/GpuInstance.unity 同屏10000个模型 ![图片](Doc/1756723681603.png) #### 动画物体实例 ![图片](Doc/1756723841576.png) 1、挂载组件GPUAnimatorInstancerForBake,配置对应的lod和网格,这些跟普通物体的配置一样 2、点击烘焙动画即可在gpuskin生成对于需要的配置 ![图片](Doc/1756724101857.png) 3、调用GPUAnimatorInstancerProceduralManager.GetInstance()AddInstance(cfg,id, pos)就可以添加模型了 GPUAnimatorInstancerProceduralManager.GetInstance().PlayAnimatorByIndex(cfg, id, clipIndex)即可播放对应动画 GPUAnimatorInstancerProceduralManager.GetInstance().SetAnimationSpeed(cfg, id, animatorSpeed)可以设置动画播放速度 具体可以看Samplers/GpuInstance/Scenes/GpuAnimator.unity ![图片](Doc/1756724362363.png) ##### 注意 动画是否循环是根据动画文件设置导出的 ![图片](Doc/1756724465741.png) 导出后存在animationData文件里,可以手动修改,但是不建议这么做,因为下次烘焙会覆盖,建议修改动画文件设置 ![图片](Doc/1756724586727.png)