首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于游戏开发的2D矢量建模

用于游戏开发的2D矢量建模
EN

Stack Overflow用户
提问于 2010-01-17 07:33:39
回答 3查看 4.5K关注 0票数 11

让我的小行星克隆(用C语言)我已经爱上了基于矢量的实体,但我只是简单地将它们编码为x,y点数组。这对于像小行星这样的东西是很好的,但是如果我想要制作更复杂的2D模型,我应该怎么做呢?

我注意到那里有an awful lot of 3D modelling software,还有大量的教程和帮助,可以将3D模型导入到C/C++程序中,以便与Open GL一起使用。

然而,我对创建2D基于矢量的模型比3D更感兴趣,因为我非常乐意继续尝试2D游戏一段时间。是否存在2D建模这样的概念?是否有工具可用于创建和导出2D模型以及专门用于导入2D模型的库,或者只需在3D软件中创建平面模型,然后导入这些文件(例如.3ds、.ms3d)并将其平铺到z轴上?

到目前为止,我唯一的想法可能是使用Inkscape之类的东西进行建模,生成SVG文件,然后使用Cairo导入和呈现它们。这会很好地工作吗,或者你有其他建议吗?

请注意,我对任何类型的建模都有点新手,所以我可能会问一个愚蠢的问题……

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-17 07:36:46

就2D矢量游戏编程而言,它通常是Flash和Flex的领域。

尽管如此,SVG和通过Cairo加载它似乎是一个可行的解决方案。尽管我会注意确保你启用了硬件加速(最好是OpenGL后端)。

就2D格式而言,对任何格式的SVG都不会得到很好的支持,所以我会坚持使用它。从技术上讲,像Collada或X3D这样的东西确实支持2D图形,但实际上它们(对于2D程序员)有很多无用的膨胀。

票数 6
EN

Stack Overflow用户

发布于 2010-01-17 10:38:52

没有必要夸大我自己的答案,但我已经对SVG的使用做了更多的研究。因为我使用的是OpenGL,所以似乎OpenVG可能是一个很好的匹配。

  • AmanithVG -基于OpenGL构建的OpenVG的商业实现,具有软件和硬件渲染功能。下载只用于评估,它工作得很漂亮,尽管我不知道它有多costs.
  • ShivaVG -作者对AmanithVG的商业化感到恼火,所以用纯ANSI实现了他自己的开源实现,尽管有一段时间没有更新。At SourceForge.
  • Anti-Grain Geometry -不确定这一点。我认为有对SVG的支持,但我认为软件-渲染only.
  • librsvg -使用Cairo作为渲染SVG的主要后端。看起来不错。

似乎除了librsvg之外,所有的库都没有真正允许加载SVG文件,所以可能还需要另一个步骤,将SVG解析成适当的OpenVG结构(大多数看起来都是大的浮点数组,所以不要太难)。同样,似乎存在从SVG到OpenVG的项目的一对一映射,这是很有希望的。据我所知,OpenVG很大程度上是为SVG设计的。

我可能会使用ShivaVG。也许它并不完美,但它画出了一只老虎,我喜欢纯C/ OpenGL实现,我严重怀疑我现在还能做那么复杂的事情。

票数 7
EN

Stack Overflow用户

发布于 2010-01-17 07:40:47

SVG是2D的必由之路:)

如果绘图速度是个问题,你必须小心你的文件有多复杂-注意SVG也没有针对解析速度进行优化,所以当你加载你的模型时,你可能会遇到很大的启动时间损失。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2079386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档