计算机图形学.李胜.11.物理模拟

  • 游戏、动画,谋求逼真的效果(指视觉上的逼真效果)

Rigging

Workflow(制作电影的工作流程)

  • Story
    • 故事绘本
  • Video footage
    • 小样
  • Concept drawing
    • 虚拟生物等草图绘制
  • Modeling
    • 建模
  • Rigging and simulation
    • 动起来
  • Rendering
    • 渲染
  • Composites
    • 把以上内容合成在一起
    • 另外可能还有
      • motion blur
      • camera shake
      • character(角色动画)
      • color lighting
      • effects(特效)

What Is Rigging

  • Rig come from Puppet(木偶)
  • How character’s motion is driven
  • rig vs skin
    • skin:蒙皮、运动中的变化
      • rig 的一个部分
    • Skinning just solve surface motion for display
    • Rig is more general
      • 加骨骼、运动控制、运动中表皮的变化
    • Part of rigging process

Rigging Movie in History

  • Jurassic Park [1993] , milestone in digital art.
  • Rigging + simple secondary muscle motion.
  • Use many real models.
  • People do composite job on dinosaurs on YOUTUBE

Rigging Types

  • Performance rig
    • a motion and control system providing control of the character to animation artists.
    • 骨架驱动的对象运动形态
  • Simulation rig
    • 物理、基于动力学模拟出来的
    • Dynamic behavior(g)
    • Collision
    • Cloth
    • Spring
    • soft and rigid‐body
    • Bake to animation sequence
  • Deformation rig
    • 形变的时候,外表皮如何生成
    • character’s skin relative to the motion of the performance rig
    • Know as Skinning as we have mentioned
    • T pose
  • Facial rig
    • 人脸(复杂、逼真很难)
      • 人对人脸看的很多,很容易判断一张人脸是否是合成的
    • Blend shapes
      • Face can be defined with limited set
      • Synthesis, transfer, interpolate
      • Recent hot in graphics and vision
      • Also need manual rig in production
    • 现在电影的开销:演员、动画师
      • 演员是否会被替代?逼真人脸的制作
  • Muscle rig
    • 解剖学:肌肉驱动
    • Most complicated rig
    • Also is collision object with skin
    • Need experience in anatomy, how muscle works
    • Generally don’t use it
  • Clothing and accoutrements rig
  • Motion capture/tracking rig
    • Usually used as an input to the performance rig.
    • Lots of company building tracking hardware
    • 阿凡达电影

Standard Performance Rig

  • Joint Placement/Orientation(lock some DOF)
    • 结点的放置/朝向,锁定自由度
    • 例如人的手有些方向是不能动的
  • Add Controller (cage select detail hard)
    • cage:模型的几何代理、类似于包围盒的粗糙盒子
      • 通过调整盒子的变化控制模型的形变
  • Attach FK/IK to the controller
    • FK:forward kinematics(运动学)
      • 给定怎么从 A 状态运动到 B 状态
    • IK:inverse kinematics(逆运动学)
      • 给定两个状态,通 过计算得到运动方式
  • Paint the skinning weights
    • 蒙皮刷权重
    • 可能会出现一些奇异的情况(不符合现实),因此需要蒙皮刷权重
  • special handling
    • 一些风格化的渲染

Simulation

  • 更真实展现自然界的现象

  • 弹性体、弹塑性体
    • 碰撞
      • 恢复
      • 弹塑性材料:部分恢复
    • 应变的计算
  • 多体碰撞、多点接触
    • 怎么计算力的作用
    • 离散化大量离散点的碰撞
  • 固体:非穿越条件
    • \(t_0\) 未接触,但是 \(t_0+\Delta t\) 就穿越了
    • 解决:时间片 \(\Delta t\) 选择更小(\(10^{-5},10^{-6}\)级别)
  • 绳子的模拟
    • 扭转、剪切
  • 布料的模拟
    • 褶皱多,且互不穿越
    • 自碰撞检测
  • 刚体
    • 碰撞碎裂
  • 流体
    • 粘性流体:蜂蜜
    • 沙子:湿 / 干 \(\Rightarrow\) 固体 / 流体
      • 形态转换
      • 湿沙子,沙子颗粒之间有液桥力
    • 胶体
  • Collision, Contact, Friction
    • 碰撞、接触、摩擦
  • 海洋表面的模拟

核心原理: 物体运动方程

流体

  • 纳维斯托克斯方程

\[ \rho\dfrac{dv}{dt}=\rho g-\triangledown p+\mu\triangledown^2v \]

  • \(\rho\):密度
  • \(p\):压强
  • \(\mu\):粘滞系数

两大流派

  • 拉格朗日流派:粒子
    • 拉格朗日法着眼于研究各个流体质点的运动,描述的流体质点至始至终的运动过程以及它们的物理量随时间 t 的变化规律
  • 欧拉流派:栅格
    • 欧拉法着眼于空间点,描述的是各个时刻,各个空间点(场论的概念)中流体质点物理量的变化情况。物理量在空间中的分布称为物理场,如速度场、压力场、密度场等,这些所有的物理量场统称为流场

刚体

  • 平动与转动

\[ \dfrac{d}{dt}(X_t)=d\left( \begin{array}{ccc} x_t\\ R_t \end{array} \right) =\left( \begin{array}{ccc} v_t\\ w_t\times R_t \end{array} \right) \]

弹性体

  • 有限元方法

动画计算的一般流程

  • 离散化
  • 方程初始化
  • 仿真计算与迭代
  • 仿真中止
  • 真实感渲染

示例:绳子(弹簧模型)

(1) 离散化

  • 分成一段一段的,弹簧质点模型
  • 质点 \(x_0,x_1,...,x_{n+1}\)
  • 弹簧 \(e_0,e_1,...,e_n\)

(2) 方程初始化

  • 质量 \(m_0,m_1,...,m_{n+1}\)
  • 初速度 \(v_0,v_1,...,v_{n+1}\)
  • 弹性系数 \(k_0,k_1,...,k_n\)

(3) 仿真迭代计算

  • 将连续的运动过程离散到一系列时间点
    • 时间片划分
  • 在相邻的时间点之间更新运动状态
    • \(v^t\to v^{t+1}\)
    • \(x^t\to x^{t+1}\)
  • 更新规则:胡克定律 \(m\dfrac{d^2x}{dt^2}=k\Delta l\)

(4) 渲染

热点与难点

固体

  • 非光滑的多体接触碰撞
    • 扑克牌塔(静摩擦处于稳定状态)
      • 算法不稳定会导致崩塌
  • 大场景快速而稳定的仿真计算
    • 碰撞摩擦

形变体

  • 大形变不能产生畸变
  • 复杂拓扑修改
  • 艺术指导的形变

碎裂

  • 断裂面跟踪
  • 设计碎裂模式
    • 一碰就裂
    • 慢慢的产生裂纹,裂开

流体

  • 精细薄片特征
  • 表面波纹

流体、烟雾及其耦合

  • 湍流效果
  • 多种形态耦合作用

产生声音

  • 从动力学的角度产生声音
  • 振动模态可以从动力学产生

开源代码

  • https://github.com/yuanming-hu/difftaichi

工业界与研究

  • industry & research
  • 相辅相成、互相促进

exhaust the existing techniques

  • detailed smoke
  • flip particles

megamind fluid simulation

  • large scale
  • serious simulation

一些研究工作

  • 以固体的仿真为核心,研究固体的运动、碰撞、形变、碎裂现象的物理机理和仿真建模,模拟固体多体之间的相互作用以及液体与固体多体的相互作用的仿真计算
    • 并行的快速连续碰撞检测
    • 刚性固体的破碎
    • 复杂物体表面破碎裂纹的仿真
    • 弹性固体的仿真
    • 具有材料属性的固体交互编辑和仿真
    • 不可压流体的高效模拟
      • 基于表面张力波的流体细节仿真
    • 固液耦合的交错光滑例子动力学
    • 精确的摩擦计算的多点接触刚体系统