Swift引擎,有兴趣一起玩啊

发布于

第一篇帖子就是“砸场子”的帖子,哈哈哈。目前我在业余时间开发了一个用Swift编写的引擎,旨在探索引擎技术和编辑器的技术。因为是独立开发,所以没有选择C++做跨平台,而使用Swift尽可能让Apple平台提供更多的支持。引擎只支持Metal,便于探索现代图形API的各种特性,而不至于在跨平台RHI上耗费太多的时间。

https://github.com/ArcheGraphics/SwiftArche

整个引擎的结构和Unity会比较类似,图形层也尽量暴露出来方便做一些实验性的尝试。Swift准确的说只是上层语言,和C#的作用差不多。物理引擎,动画引擎,以及其他仓库都通过Objective-C++桥接上来。目前物理引擎的功能除了HeightField之外基本都接入了,其余功能都还比较残疾,现在已经开发的特性包括:

ARKit integration

  1. Face Tracking with morph

PhysX

  1. Collider
  2. Character Controller
  3. Joint
  4. Scene Query

Rendering

  1. Cascade Stable ShadowMap
  2. PBR Rendering (roghness-metallic, clearcoat)
  3. HDR IBL Lighting and baker (pure compute shader)
  4. Fog (Linear, Exponential, ExponentialSquared)
  5. ACES ToneMapping with auto luminance exposure
  6. Custom Shader with split Metal Shading Library

Animation

  1. Skinned Animation
  2. Morph Traget

Gizmos

  1. SDF Text
  2. Debugger tools with auxiliary wireframe rendering

GPGPU

  1. Fluid simulation

接下来准备做几件事:

1. 重点围绕序列化反序列化进行重构

2. 利用反射做UI绑定(基本方法已经加入,但各种组件都还要做适配)

3. 利用SwiftUI+Combine做编辑器框架

坐完这几件基础工作后,会再回到引擎层做功能的开发


感兴趣的小伙伴欢迎了解,有兴趣的话题我后续还会在社区里进行介绍。

11
评论 1
收藏 1
  • MR7
    MR7
    太棒啦!欢迎“砸场子”,Piccolo社区热烈欢迎各路游戏引擎爱好者们加入交流~