返回首页

介绍
启动3D编程不是一件容易的任务来完成。有很多发挥的新事物,他们从不同选择一种编程语言,选择正确的3D建模软件。
这些事情,当他们完成后,无论在什么语言和渲染引擎是什么,你可以考虑自己在这个问题上半专家。建立自己的自定义图形初始化函数
3D引擎和平台种类繁多的今天,这个任务总是被授予那些。我还记得的时候,你不得不与所有的窗口函数初始化OpenGL的,你如何管理窗口的句柄和资源加载自己。理解事情是如何内部管理,并会给你更多的理解你在做什么,这是非常有用的。我的建议是找在讷河教程开始,它有一个图形初始化函数在C和与Windows的API在第一章写的。如果这是你来处理了很多,你应该在C相当于函数或试图将它们移植到托管语言如C#,Java或Python。有很多例子,在互联网上。实现自己的相机
您可以复制并粘贴从互联网上的摄像头代码,并使用无重大问题,但它不是直到你从头开始自己的相机,你就会完全理解一些概念,如向量处理,转换矩阵,转换角度等,您应该开始编码FPS(第一人称射击)相机,它拥有的一切,它需要得到你准备好。以后,如果你想使自己的游戏,你不能使用它,我建议你到找出类型的相机,最适合您的需求。了解基层的3D概念
当我开始,我开始听到这样的,抗锯齿,各向异性过滤,阻塞测试,Z-缓冲,alpha测试,着色语言,凹凸映射等也许很多新词,如果你是一个玩家,你见过他们中的一些配置你的游戏图形设置。确保你花一些时间阅读关于这个,因为它会给什么是3D编程的概述。一切你可以了解向量和矩阵
这总是低估了,我强烈建议,为了正确地管理,如照相机,地形下面,射线追踪的东西,你应该知道这一切。你也应该了解最低三角的基础。现在我明白了我的生活,如果我只花了几个小时研究这个问题,本来多么容易。编写自己的3D模型装载机
我建议。OBJ文件或。STL文件的开始,因为他们有一个ASCII格式表示。以后,你可以移动到其他更复杂的格式.3 DS一样。有了这个,你不仅会了解如何保存3D模型,你会画在其原始的方式:三角形,然后你就会明白一切都在绘制图形引擎。成功地使自己的碰撞算法
这是一个thingnbsp;画一个世界,另一件事来管理它的几何形状。在3D世界中,有没有物理定律,你必须创建它们。如果你想要一个对象不走穿过墙壁,然后你必须创建一个内部的墙壁的几何表示,使自己所有的计算。有几种方法来处理冲突,我建议迷宫项目的二进制碰撞开始。尝试更多信息。实现一个小的粒子引擎
我感到失望时,我发现,火灾,烟雾,一些照明和其他令人惊艳的效果,你在3D游戏中所看到的颗粒,颗粒在本质上飞机是面对摄像机的纹理。添加了更多的粒子,看起来更加逼真的效果,但性能更损害。我的第一个粒子引擎是火箭的烟雾,我不看在粒子引擎教程。后来我意识到,我已经彻底改变了方向盘,但我这是真的。通过开展这项,你会明白像粒子发射器,粒子的行为和法案寄宿技术的概念,等等。了解3D建模软件的基础知识
为了使您想在您的应用程序中使用的3D模型的变化,你应该知道,至少操作如平移,缩放,旋转,变形,导出到其​​他格式和制作简单的模型。如果不这样做,你会受到其他人视做您的第一场比赛。我曾与一些建模软件,我强烈推荐3D Max或Maya。加载和播放动画
装载和正确播放动画是在3D,我做过的最困难的事情。我不得不这样做逆向工程三维最大。XAF文件。我也像骨骼层次,矩阵插值等等,学习的东西。在最后,这是十分可喜的目光移到自己在自己的模型。我建议开始动画,因为动物和人一样的机器人模型,需要另一种方法称为剥皮。 代码二维自定义的图形用户界面(GUI)
当我开始在XNA编程;我被迫建立自己的GUI,因为新华社不实施任何窗口控件。这给了我两件事,第一是能够使我的自定义GUI控件和其他类似事件的处理和捕获事件的概念的理解。这是不容易的,我所作出的最困难的控制是一个ListBox,但一旦你可以使用它无处不在。
我相信,当你管理来实现这十件事,你可以说你有3D编程的基本知识。我写了这个,因为我花了很多工作,以实现这些目标,因为我想每个人都有一个小的指引,在这个世界开始时。我的建议是开始做一个小游戏,并尝试适应他们在旅途中。我认为这是最好的方式,因为试图了解这一切都没有看到它在行动的可能性也不是很激励。如果你喜欢这个小文章中,您可以访问更多这样的东西。GL_Terminator

回答

评论会员:游客 时间:2012/02/04
大名单!:1969267|会员:我只是想对你所说的话使一对夫妇评论1)既然你提到了新华社,你可能想提一提,新华社已经有支持网动画透过。OBJ进口的。这是一个好的开始,你也许可以做免费使用Blender。就我个人而言,我觉得新华社被骗取一点点-我想戒掉自己2)去皮动画对我来说,是所有3D编程的圣杯。这绝对需要在您的名单国际海事组织。除此之外,作为一个新望3D程序员,我觉得你要遵循的步骤奠定了不错的列表。我本来非常有大约三年前,像这样的列表。搞好|GL_Terminator
我同意你的说法,皮肤动画是3D编程的圣杯,但实在是太难了,自己做,我没有地方,我的名单上。它甚至很难了解,工程代码。加载X文件的代码,看到自己的DX SDK,看看我
评论会员:游客 时间:2012/02/04
会员1969267:嘿嘿绝对只是因为这个问题,我切换新华社和C#。这是对我来说还是蛮硬的,但我是后几天的拔头发,从几个不同的游戏一些皮肤模型能够在Maya中,国防部,它们导入到我的XNA程序的动画。这对DirectX的样品打我的头3年后,像你提到的
|马林Shalamanov:它似乎非常有用的。我打算把它添加到我的TODO列表。 {S0的}
评论会员:游客 时间:2012/02/04
AspDotNetDev:仅供参考,我已经报道"错误类型"这篇文章。希望网站管理员可以将它移动到一个技巧/诀窍。没有附加的代码,截图,或内联代码,并考虑它是如此之短,这是更适合于小费/伎俩,而不是一篇文章。马丁・福勒写道:"任何傻瓜都能写代码,计算机可以理解的。好的程序员写的代码,人类可以理解{BR​​}
hkon83:我看到一些人给予批评本文内容缺乏如何
但它确实只是一个有用的指导,想学习的人。

人们可能需要1-2年获得通过此处列出的所有材料,因此扩大的议题将超出本文的范围。使用一些更深入的教程,建立一个完整的发动机的基础上,这将是凉的,虽然。完成后,可以成为亚马逊上最畅销的游戏编程的书,因为没有一本书真的把所有的疙瘩。

一起把这个名单道具
:会员1969267
评论会员:游客 时间:2012/02/04
我同意。我很惊讶,没有一个完整的DirectX/演练,建立一个基本的3D动画引擎。我不认为在任何一个步骤,但我现在可以按照他们的全过程,从设计和纹理的三维模型在Maya和Photoshop动画,和他们在一场比赛中使用导入(使用C#,而不是C到新华社)。我总是害怕"教程,"不过,因为有人会来告诉我,我是一个业余的(这是真的)。你认为它值得把他们放在一起反正?如果有人有兴趣,让我知道。我会很乐意给它一个镜头
GL_Terminator
评论会员:游客 时间:2012/02/04
我认为99%的3D编程的人都是业余的。这是因为3D是一个领域,没有信息的人可以看到真正看到你在做什么,所以管理3D编程给你的一种他人之间的声誉。如果你想给它一个镜头,我很乐意借给你我的博客发布的教程:会员3396140:我从来没有发表。我张贴在这个场合,因为我喜欢,认为文章有很大的潜力。它开始了伟大的,是很容易阅读,但希望看到一些像"二元冲突"的东西。多年来,我没有做3D编程,但这篇文章了我的注意去。希望本文可以扩大更多的事情。也许可以转成一系列文章。好运和感谢
DaveAuld
评论会员:游客 时间:2012/02/04
首先,祝贺您的第一篇文章。张贴的文章很容易,张贴了一篇好文章,是硬盘位{S0}其次,不幸的是,我不知道它真的。我认为这将是一个位轻描淡写地说这是一个有点缺乏文章。真正给这篇文章的一些生活,你应该对你的十个主题,每年扩大,可能给那么如何做到这一点,或参考材料的例子......认为它需要检修,让它去......你读了{A3}]?你也许应该采取本文脱机直到你牛肉位,我想你会发现它会被评为其他一些不良。我不会评论这篇文章,在这个阶段。希望这种反馈是耐人寻味的。戴夫找到我:{A4纸}折叠统计:A5的{}
|会员8093743:这是相当不错的好了第一篇文章。它给读者很多思考。经开始(未完成 - 介意你)。自己在3D引擎,我可以说这是一个伟大的清单
你是绝对正确的,它需要一些润色。
但是,这是肯定会在我的书签。

院长
评论会员:CIDev 时间:2012/02/04
我不得不同意与他人。有很好的材料在这篇文章中,什么是有明确的书面。然而,真的应该是一个完整的一篇文章中更深入的材料。
只是因为代码的工作,它并不意味着它是良好的代码