介绍
启动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