问一下 关于DirectX编程的问题
由于本人在DirectX这一方面是一位初学者,想问一问各位:
1、我已经安装了最新版本的DirectX SDK,若在VC++环境中编程时,应该建立什么类型的项目?Win32项目还是空项目还是其他?
2、用DirectX是只能绘制不能控制的模型么?我的意思是我想用DirectX绘制一个可以用键盘ASDW四个键滚动的小球,不知道可不可以。如果可以,或是有其他的办法,能提供以下代码么?
3、对于已经建立好的3D模型,贴图和渲染是在什么时候?我想渲染成水彩画的效果,或是传统意义上的3D效果不是很强的效果是否可以?
4、用3D MAX做完场景后,怎么导入到已经做好的能滚动的小球中去?或者说怎么把这个小球放到这个场景中?用什么游戏制作的软件可以导入?.fbx文件又是怎么回事?
5、关于镜头的设置,是在VC++中编程实现,还是在游戏制作软件中实现?有没有比较好的,支持C++的游戏制作软件?
这是我这几天关于制作一款小3D游戏的思考,求助各位专家解答,先谢谢各位了。
[解决办法]
一般是要建立win32 Application工程,建议你看一本书《windows游戏编程大师技巧(第二版)》,看完你就知道2D的游戏编程了,还有3D的你可以找下。写3D要很好的线性代数功底,所有的坐标数据的转换都是通过矩阵完成的。
[解决办法]
[解决办法]
看有关图形的例子,就会有你想要的了.
[解决办法]
1、我已经安装了最新版本的DirectX SDK,若在VC++环境中编程时,应该建立什么类型的项目?Win32项目还是空项目还是其他?
具体问题具体分析,单纯的做游戏一般是win32 application,如果要在mfc界面下作三维显示,就是mfc工程,如果你的dx相关要做成控件,就选控件工程~~
2、用DirectX是只能绘制不能控制的模型么?我的意思是我想用DirectX绘制一个可以用键盘ASDW四个键滚动的小球,不知道可不可以。如果可以,或是有其他的办法,能提供以下代码么?
可以。游戏主循环中,先检查输入,再进行渲染。比如小球初始位置(0,0,0),监测打按键动作,更新位置为(0,1,0),下一次绘制小球的时候按新的坐标绘制,小球就动了~~代码我没有,应该不难实现。
3、对于已经建立好的3D模型,贴图和渲染是在什么时候?我想渲染成水彩画的效果,或是传统意义上的3D效果不是很强的效果是否可以?
主循环中进行渲染的时候。水彩效果现在一般用shader,可以看下HLSL或者GLSL,现在书和例子很多。
4、用3D MAX做完场景后,怎么导入到已经做好的能滚动的小球中去?或者说怎么把这个小球放到这个场景中?用什么游戏制作的软件可以导入?.fbx文件又是怎么回事?
场景和小球(或更复杂的几何体)都可以用建模软件(3dmax、maya)来做,绘制两个物体,一平面、一小球,也是一个场景。严格的“场景”对象可能持有小球和平面(可绘制几何体),控制其绘制关系。fbx没用过。
5、关于镜头的设置,是在VC++中编程实现,还是在游戏制作软件中实现?有没有比较好的,支持C++的游戏制作软件?
视点控制一般编程实现,根据用户输入调整视点。“游戏制作软件”提的太泛泛,美工软件?程序软件?感觉你对“游戏制作软件”的概念不太清楚
[解决办法]
HLSL或GLSL你可以baidu下,解释很清楚;
平衡球的话,不算太复杂,完全自己写也可以,物理模拟做好就行了。或者找现有的引擎,不过找来的引擎或制作工具一般大而全面,反而不利于练手。
如果你自己的程序能够完成渲染、资源加载、逻辑处理等等,也是一个“引擎”。关于镜头、场景控制等等,建议你先看下directX或openGL,建立起初步的概念再说,你见到的“引擎”、“工具”基本上也都是用dx、gl实现的,用c++直接调用图形sdk(gl/dx),是完全可以做出平衡球的,其它的工具可以看做只是对dx/gl的封装~