R4 1.0.1

R4 1.0.1

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2014年12月

未声明 维护。



R4 1.0.1

  • 作者:
  • Srdan Rasic

R4: 3D 版本的 SpriteKit

R4 是一个基于 Apple 的 SpriteKit 框架的 3D 图形渲染和动画库。该库的目标是通过提供类似 SpriteKit 接口的基础设施来简化 3D 游戏和应用程序的创建。对 SpriteKit 演员熟悉的人不应该在处理此库时遇到任何问题。适用于 SpriteKit 的概念也适用于 R4,只是多了额外的空间维度。R4 不是 SpriteKit 的扩展,而是一个独立的库。

该库处于开发早期阶段,缺乏某些与 SpriteKit 对应的功能,尤其是物理子系统,但对于创建简单的 3D 场景是可用的。它提供场景图基础设施,带有可绘制节点(如实体和粒子发射器),不可绘制节点(如相机和光源),以及用于组织和改进渲染过程的场景管理器。场景节点是响应对象,可以处理由 UIResponder 类定义的触摸事件,就像 SKNodes 一样。

R4 的渲染系统旨在允许轻松扩展。主渲染器处理基本的视口配置、帧缓冲区管理,并借助于场景管理器执行场景遍历,但将实际的绘制责任转发给更可扩展和可配置的组件——材料、技术和绘制。材料封装了所有关于如何渲染对象的详细信息,包括所有可能的渲染方式。一种技术描述了渲染对象的方式。通过指定一个或多个执行渲染的绘制过程来实现。每个独整容经过由着色器和 OpenGL 框架执行的实际渲染。

要了解更多关于 R4 的信息,请查看 Wiki 上的入门页面。继续阅读 类参考页面。如果您是游戏开发新手,请考虑阅读 Apple 的 Sprite Kit 编程指南。它提供了很好的起点,其中描述的大多数概念也适用于 R4。

功能

  • 基于 SpriteKit 的设计。
  • 一个节点树 表示场景内容。有关更多信息,请参阅 R4Node 和 R4Scene。
  • 节点是 响应对象 - 它们可以接收触摸事件。有关更多信息,请参阅 R4Node。
  • 支持基于 动作 的动画和逻辑。有关更多信息,请参阅 R4Action。
  • 粒子发射器 兼容 Xcode 粒子编辑器。有关更多信息,请参阅 R4EmitterNode。
  • OBJ 网格文件加载器 用于包含一个多边形组和一张纹理的文件。有关更多信息,请参阅 R4Mesh。
  • 可扩展的渲染系统 用于自定义效果。有关更多信息,请参阅 R4Material、R4Technique 和 R4Pass。

计划中或正在进行中

  • 完全支持 NSCopying 和 NSCoding。
  • 支持更多 3D 文件格式和扩展的 OBJ 文件加载器。
  • 扩展的 R4Action 类集合。
  • 基于 SKTransition 类的场景和摄像机过渡支持。
  • 更多开箱即可用的材质和着色器。
  • 基本的物理子系统。
  • 骨骼动画。

要求

R4 目前支持 iOS 7。如果不使用 R4EmitterNode 类,也能在之前的版本上运行。简单的场景可以在老旧的设备如 iPhone 4 上流畅渲染,但对于更复杂的内容,则需要通过使用更简单的着色器或降低绘制分辨率等优化措施来支持这些设备。

性能说明

iOS 模拟器执行软件渲染,因此您可能希望在设备上进行调试。如果您自行构建库,请注意编译器优化。在 Debug 与 Release 构建(发布版本)之间有显著的性能差异。

开始使用

请访问 Wiki 上的开始使用页面。

贡献

请访问 Wiki 上的贡献页面。

许可证

R4 在 MIT 许可证下提供。

版权(c)2013 Srđan Rašić

任何人获得此软件及其相关文档(“软件”)的副本(以下简称“软件”),均可免费处理该软件,不受限制,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本的权利,并允许向获得软件的人授予此等权利,前提是遵守以下条件

上述版权声明和本许可声明应包含在任何软件的副本或主要部分中。

本软件提供“现状”,不提供任何明示或暗示的保证,包括但不限于适用性、用于特定目的和非侵犯性保证。在任何情况下,作者或版权所有者不对任何索赔、损害或其他责任负责,无论是基于合同、侵权或其他原因,无论该索赔、损害或其他责任源于、产生于或与软件或软件的使用或其他方式相关。