首页 > 解决方案 > Unity 的布料组件是否使用 GPU?

问题描述

我想知道 Unity 的 Cloth Component 是否使用 GPU 进行计算?

Unity Docs 没有提供有关如何在不同物理库后面管理布料的任何信息。

标签: unity3dgpuphysics-enginecloth-simulation

解决方案


来自: docs.unity3d.com/Manual/PhysicsSection.html

面向对象项目的内置物理引擎

如果您的项目是面向对象的,请使用符合您需求的 Unity 内置物理引擎:

  • 内置 3D 物理(Nvidia PhysX 引擎集成)
  • 内置 2D 物理(Box2D 引擎集成)

来自 Nvidia 文档: Cloth — NVIDIA PhysX SDK 文档

通过设置相应的标志之一,可以在启用 CUDA 或 DirectCompute 的 GPU 上模拟布料

不幸的是,我没有找到有关 Unity 中捆绑的 Nvidia PhysX 实现的更多信息。

所以我假设(对于 3D 对象)如果你有 Nvidia 卡,它将使用 GPU 来计算布料,如果你有 AMD 卡,它将在 CPU 上完成。

但我可能错了,因为 Compute Shader 是在显卡上运行的程序。

来源: docs.unity3d.com/Manual/class-ComputeShader.html

计算着色器是在正常渲染管道之外在显卡上运行的程序。它们可用于大规模并行 GPGPU 算法,或加速部分游戏渲染。为了有效地使用它们,通常需要深入了解 GPU 架构和并行算法;以及 DirectCompute、OpenGL Compute、CUDA 或 OpenCL 的知识。


推荐阅读