尝起来像燃烧:ARKit 和 iOS 粒子系统的一个示例

主要观点:展示如何在 iPhone X 上使用 Xcode 9.4.1、Swift 4.1.2 和 iOS 11.4.1 通过 ARKit 实现“吐火”效果,需物理设备且有 TrueDepth 摄像头。
关键信息:

  • 创建 AR 应用,选择 SceneKit ,注意主故事板控件为 ARSCNView ,项目结构中有 art.scnassets 可导入 3D 模型和纹理。
  • 重写 UIViewController 类的一些函数,ARSCNView 类委托给 ARSCNViewDelegate 协议,在 ARSceneView 类中实现该协议。
  • 创建 ARSceneView 类继承自 NSObject 并实现 ARSCNViewDelegate ,包含运行和暂停 AR 会话等函数,在其中处理粒子系统与面部的交互。
  • 创建 Mouth 类继承自 SCNNode ,创建 3D 球体作为吐火的表面,添加透明材质。
  • 创建 Fire 粒子系统文件,设置粒子系统方向在 z 轴,在 ARSceneView 中引用该粒子系统并设置其发射器为 Mouth 的几何形状。
  • 在 didUpdate 函数中通过面部 blendShapes 字典判断嘴是否张开,控制粒子系统的添加和移除。
    重要细节:
  • 代码示例详细展示了各个类和函数的实现及功能,如创建项目、设置配置、处理渲染函数、创建 Mouth 和 Fire 等。
  • 强调需物理设备测试,运行应用后可看到面部在 ARSCNView 中,张嘴时火会喷出。
阅读 1
0 条评论