GAMES103.王华民.01.Intro to Physics-Based Animation

Intro to Physics-Based Animation

  • 会介绍一些物理引擎算法(优缺点、对比)
    • PBD(Position-Based Dynamics)
  • 主动学习很重要
    • read more, write more, think more
  • 涵盖内容
    • 刚体模拟
    • 质点弹簧、约束与布料模拟
    • 基于有限元的弹性体模拟
    • 流体模拟

图形学简介

  • What’s computer graphics?
  • 3d 世界 \(\to\) 2D 图像
    • 3d digital world \(\to\) 2d digital image
  • 图形学的方向
    • Geometry:几何
      • Modeling the 3D world
    • Rendering:渲染
      • Visualize the 3D world
    • Animation:动画
      • Animate the 3D world

实时渲染的渲染管线

  • 几何建模可以不需要实时,动画和渲染需要是实时的
  • 帧率:frame rate
    • 游戏(强交互应用):60 fps
    • 电影(没有交互):24 fps
    • 图形学实时一般的标准帧率:30 fps
  • 实时动画和实时渲染是比较难的
  • 取舍
    • 动画部分做成离线,渲染是实时的
      • 游戏的过场动画等
      • 电商的展示
    • 渲染也做成离线的
      • 动画电影(没有实时交互的要求)

几何

  • 三维表示

Mesh

  • 网格:Mesh
  • 组成部分
    • 顶点:vertices(nodes)
    • 多边形元素
      • 三角形(图形学的渲染管线一般都是基于三角形)
      • 多边形(符合人们的设计习惯,CAD 设计软件中会使用,软体模拟中会使用)
  • 问题
    • Meshing (Delaunay triangulation)
      • 希望所有的三角形都是比较正的(60 度)
    • Simplification/subdivision
      • 简化、细分
    • Mesh optimization (smoothing, flows…)
      • 网格的优化
    • Volume mesh
      • 如何处理四面体网格
  • 类型
    • structured mesh
      • 有些算法可以利用结构进行优化
    • unstructured mesh
      • 通用性更强

Point Cloud

  • 点云
  • 可以通过扫描得到
  • 问题
    • 如何从点云中重建出 mesh(点云无法直接用于渲染)
    • re-sampling:重新采样
      • 原始点云可能稀疏程度不一致,如何对其重新采样让其稀疏程度一致
    • neighborhood search
      • 周围点的查找
      • 给定一个点,如何找到周围的点,算法上会用到

Grid

  • volumetric grid:三维的格子
  • 体素
  • CT 的原始数据就是这样的
  • 问题
    • 内存消耗可能非常大
      • 八叉树(octree)结构的优化
    • 如何渲染?
      • volumetric rendering

渲染

  • 真实感渲染:Photorealistic
  • 非真实感渲染:Non-Photorealistic
  • 真实感渲染的两种类型
    • 基于传统渲染管线
    • 基于光线追踪
  • 材质获取
    • 材质扫描:material scan
      • photo
      • vrscan
    • 构造 BRDF
  • 人体扫描:body scan
    • 曲面的,而不是平面的
    • 技术:light stage
    • 下图:Body Scan by a Light Stage
      • 不同摄像头拍摄不同灯光、不同角度
    • 人体:BSSRDF(次表面散射)

动画

  • 两类动画
    • 人体动画:character animation
    • 物理动画:physics-based animation
  • 虚拟数字人

计算机图形学的应用

  • What’s computer graphics used for?

  • 游戏(games)

  • 特效(special effects)

  • 娱乐行业:抖音等

  • 设计

    • 制造业(mechanics)

    • 建筑行业(architecture)

    • 艺术(art)

    • 时尚产业(fashion)

    • 设计虚拟服装

      • style3D(凌迪科技)的软件
  • 电商(智能制造)

    • 产业链
  • 虚拟衣服的渲染

  • VR、AR、metaverse(元宇宙)

什么是动画

  • What’s physics-based animation?

动画的流程

  • 有很多时间点,在这些时间点上更新物体的状态
  • 可能需要更新的状态
    • position/orientation:位置朝向等
    • velocity:速度
    • appearance:外观
      • 变色龙
    • density:密度
      • 特效
  • time step(步长):两个时间之间的间隔
    • 可以和帧率相同
    • 也可能一帧之内模拟好几次

物理模拟的 4 大方向

  • rigid bodies:刚体模拟
  • cloth and hair:衣服和头发
    • 窄细的物体
  • soft bodies:弹性体、软体
  • fluids:流体和气体

  • 表示方式
Contents Effects Mesh Particle Grid
Rigid Bodies Contacts \(\checkmark\)
Rigid Bodies Fracture \(\checkmark\) meshless
Cloth and Hair Cloth \(\checkmark\) contact
Cloth and Hair Hair \(\checkmark\) contact
Soft Bodies Elastic \(\checkmark\)
Soft Bodies plastic \(\checkmark\)
Fluids Smoke \(\checkmark\) \(\checkmark\)
Fluids Drops and Waves \(\checkmark\) \(\checkmark\)
Fluids Splashes ? \(\checkmark\) \(\checkmark\)

刚体、头发布料、软体

  • 一般使用 mesh 模拟
    • Physics-Inspired Adaptive Fracture Refinement (SIGGRAPH 2014)
      • 刚体破碎
    • GPU-Based Simulation of Cloth Wrinkles at Submillimeter Levels (SIGGRAPH 2021)
      • 衣服布料模拟
    • Descent Methods for Elastic Body Simulation on the GPU (SIGGRAPH Asia 2016)
      • 弹性体
    • Example-based Plastic Deformation of Rigid Bodies (SIGGRAPH 2016)
      • 塑性形变(永久形变)
  • 一些特例
    • 实验性质,可能有计算量可能变大、细节处理不好等问题
    • 用 particle 粒子去模拟刚体的破裂
      • 因为没有 mesh,因此不需要去管破裂之后 mesh 的更新
        • avoid remeshing
      • Meshless animation of fracturing solids (SIGGRAPH 2005)
    • 使用 grid 网格的方式去模拟布料和头发
      • 简化碰撞的处理
        • simplify contact

流体

  • 各种各样
  • smoke(烟)
    • particle、grid
    • 可以做成实时的效果(particle)
  • drops and wawes(水滴和波)
    • 基本上还是个整体
    • mesh:实时模拟
    • grid:高逼真度的模拟
    • Water Surface Wavelets (SIGGRAPH 2018)
      • 引入小波,实时模拟,可以和物体有交互
  • splashes:水花
    • 很复杂,实时比较难
    • 基本上基于 particle 和 grid 进行
      • 基于 mesh 的比较少,基本上是实验性质
    • Versatile Rigid-Fluid Coupling for Incompressible SPH (SIGGRAPH 2012)

hybrid methods

  • MPM:Material Point Method
    • 粒子和网格结合的方法
    • 想要这样子的方法兼具粒子、网格的优点
    • 模拟雪(粘滞的物体
      • A Material Point Method for Snow Simulation (SIGGRAPH 2013)
  • Coupling
    • 怎么样模拟不同性质的物体的之间的交互?
    • 例如:水落在衣服上

课程涉及的内容

  • What are the topics to be studied in this class?

  • 刚体破碎方面会涉及很多 remeshing 的内容
    • 游戏引擎中的破碎一般是预计算做的
    • Unity 不支持实时的破碎
  • 形变的 3 个阶段
    • 弹性形变、塑性形变、破碎形变
  • PBD:Position Based Dynamics
    • PBD 是预估点的下一位置,然后通过 constrain 把它 project 到最终位置,并用这个位置去更新速度
  • Constraint Dynamics:基于拉格朗日算子的,基于约束的模拟
  • mesh 和 grid
    • mesh 定义在物体上的
    • grid 是定义在整个 3D 场景上的
  • 老师个人经历