代码之家  ›  专栏  ›  技术社区  ›  Mark

OpenGL ES与现实世界开发

  •  3
  • Mark  · 技术社区  · 15 年前

    我正在努力快速学习OpenGL ES(我知道,我知道,但这些是我所承受的压力),并且我已经被广泛阅读过,在渲染基本模型、一些基本照明和“一些”纹理成功方面取得了很大的成功。

    但这一直是所有OpenGL ES教程的结束点,他们永远不会说出现实生活中的应用程序可能需要什么。所以我有几个问题希望不会太难。

    1. 人们如何从他们最喜欢的3D建模工具中获得3D模型,并将其应用到iPhone/iPad应用程序中?我看过一些博客文章,其中有人为诸如Blender之类的工具编写了一些Python脚本,这些工具可以创建您可以使用的.h文件,这是人们每次都会做的吗?或者“大”工具套件(3DS、maya等)是否具有导出功能?

    2. 假设我的模型在一个漂亮的.h文件中,所有顶点、纹理点等。排好队,我怎样才能让我的模特(比如说一个普通人)走路?或者更一般地说,你是如何制作模型的“部分”动画的(只有腿,转头,等等)?它们需要大量混合不同的小模型吗,或者你能在这些天把动画预烘焙成模型吗(不知何故)

    3. 真正伟大的iPhone 3D游戏(我敢肯定)是难以置信的复杂,但人们(游戏开发公司)似乎如何管理设计师/开发人员的工作流程?当然不是所有的动画、纹理等…通过编程完成。

    我希望这些不是愚蠢的问题,事实上,我试图研究如何制作的应用程序非常简单,只是一个基本的3D模型,我希望能够使用触摸来移动/倾斜。有没有人做过或看到过这样的事情,我可能会读到?

    感谢您能给予的帮助,我感谢所有类型的回答,无论大小:)

    干杯, 作记号

    3 回复  |  直到 15 年前
        1
  •  2
  •   Olof Hedman    15 年前

    试图解释为什么这个问题的答案总是模糊不清的。

    opengles的级别非常低。它的全部功能是将三角形推到屏幕上,填充像素,而不是基本的其他功能。

    你需要创建一个游戏,正如你已经意识到的,很多代码用于管理资产,加载对象和世界,管理动画,纹理,声音,可能是网络,物理等等。

    这些部分是“游戏引擎”。

    开发公司有自己的偏好。有些人购买游戏引擎,另一些人则喜欢自己开发。大多数使用一些购买的技术、开源和内部构建的技术和工具的组合。市场上有许多发动机,每个人都有自己的意见,哪一种最好……

    使用的工作流程和工具各不相同,从角色严格、预算大的大公司到由两个男人和女孩组成的独立小组,他们可以做任何需要做的事情来完成游戏:—)

    对于爱好者和独立开发人员来说,有几个便宜的开源引擎可以使用不同的成熟度和文档/支持的数量。同样的,你必须环顾四周,直到找到你喜欢的人。

    在游戏引擎之上,您编写的游戏代码使用游戏引擎(以及您可能需要的任何其他库)来创建您想要制作的任何游戏。

        2
  •  2
  •   UncleZeiv    15 年前
    1. 许多人在开始OpenGL开发时都感到惊讶的是,没有一种模型的“OpenGL文件格式”,更不用说动画模型了。(例如,DirectX提供了一种支持的.x文件格式)。这是因为OpenGL的作用在一个较低的层次上。当然,正如tm1rbrt所提到的,有很多可用的库。但是,如果只需要几何图形,您可以轻松创建自己的文件格式。当你想同时考虑动画和阴影时,事情会变得更加复杂。看一看 Collada 为了这类事情。

    2. 同样,动画可以通过多种方式完成。角色通常是用骨架动画制作的。看看 cal3d 以图书馆为起点。

    3. 您肯定想花些时间为您的内容创建创建一个好的管道。艺术家必须有一套工具来创建他们的模型和动画,并在游戏引擎中测试它们。艺术家还必须得到关于引擎极限的指导,无论是在多边形还是阴影方面。有时,复杂的自定义编辑器被编码为以符合您特定需求的方式创建级别、世界等。

        3
  •  1
  •   user181351    15 年前
    1. 编写或使用模型加载库。或者使用现有的图形库;这将具有加载模型/纹理的例程。

    2. 在3D模型编辑器中,使用骨骼来设置模型的动画。图形库将负责为您移动顶点等。

    3. 不,艺术家创造艺术,程序员创造引擎。

    This is a link to my favourite graphics engine.

    希望有所帮助