幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 9331|回复: 10

[3D工具&引擎] [下载]3D GameStudio A6 6.22 专业版 (游戏开发引擎):

[复制链接]

19

主题

86

帖子

1万

积分

⑧专业

C4D达人王

积分
17227
发表于 2006-4-17 20:22:36 | 显示全部楼层 |阅读模式
3D GameStudio A6 6.22 专业版 (游戏开发引擎):

下载地址





3D GameStudio/A6 Pro 德国开发三维3D游戏的著名工具软件,3D GameStudio 游戏引擎代表了当今2D、3D及时游戏引擎的领先水平,已经有上百种使用该引擎的游戏公开发行,官方价格近万元。本软件应游戏开发者的要求提供(包括教程与手册等)!

3D GameStudio 引擎结合了高端的3D引擎,2D引擎,物理引擎,地图和建模编辑器,脚本编译器和大量的3D物体库,工艺品和半成品的游戏。这将使你更容易的制作第一人称游戏、第三人称游戏,角色扮演游戏,滚屏游戏,飞行模拟器,棋类游戏,运动类游戏,及时战略游戏,以及虚拟展示应用程序。。。或者以前没有出现过的3D程序类型。

GS引擎适合每个想作游戏的人。它提供了三种层次的游戏制作方法;


可以通过简单的按键,一步一步的制作简单的游戏,如射击类游戏。

使用C脚本,来制作成熟的商业游戏项目。

使用C++语言,达到更细微的专业开发
使用游戏制作引擎将成为未来游戏制作的主流。甚至不需要编程知识,花一个下午的时间,就能通过教程,一步一步的制作出简单的动作游戏。如果使用脚本语言的话,就能制作出具有商业品质的公开发行游戏。要更详尽的了解该引擎,可以看看demos,屏幕截图,阅读FAQ(常见问题),还有用户杂志。


“非常优秀的3D图形程序开发包”
Dr.Dobb's Journal

总之3D GameStudio A6具有3D引擎和3D贴图、动作编辑器,同时提供了大量的素材库。使用3D GameStudio 你可以制作第一人称、第三人称、冒险、RPG、回合制、飞行模拟、空战模拟、坦克模拟、体育竞技、3D Pinball等多种游戏!现在已有很多游戏公司使用该软件开发大量游戏!



一些用3D GS引擎制作的商业游戏。



编辑器


GS引擎本身包含有专业水平的建模、地形编辑器,这样可以避免使用第三方程序所带来的格式转换方面的问题。通过编辑器可以方便的创建外景,设置光效,定义移动路径和模型动作。有超过1200种纹理、建筑物、家具、交通工具、武器、动态角色库可用于制作。良好的引入兼容性,可以使你通过互联网下载或自己创建各种格式的3D建模、纹理等所需资源。(当然游戏中的模型,渲染等支持其他3D软件的导入如Max或Maya...)

3种制作方法都包含丰富的环境资源,其中有固定的和可移动的部分,外景、地牢、建筑和城市。在环境中,你可以设置不定数量的彩色光源,真实的投影,3D音效和背景音乐。你可以使用任何作图程序来制作纹理和精灵图。活动的3D模型使用 建模编辑器(MED)来制作。
引擎可以输入目前流行的3D游戏编辑器所制作的动画模型,如Worldcraft 或 Milkshape。兼容一般的3D文件格式(X, 3DS, MDL, MD2, MAP, WAD) 。由免费的地形生成器Terragen制作的文件也允许输入。如果你使用高端的3D程序,如MAYA或3DS MAX,你应该使用其插件来转换成适合的格式。通过Milkshape兼容过滤器接口,各种格式的文件可以方便的输入输出。

在开发完成后,一个按键可以生成CD格式的发行版本。并且可以选择生成一个加密的压缩包。




A6引擎  游戏引擎是整个开发系统的核心,它可以产生3D图像和控制虚拟世界的运行方式。由于结合了BSP-树木地形渲染器,GS引擎可以很好的处理室内外场景。光线引擎支持真实的投影和移动光源。甚至在低档的硬件上,成熟的三倍精选算法可以渲染10万个多边形,并且达到 70 fps。通过使用插件,程序可以获得新的效果个特征。

渲染器 ...........................................................

- 6度自由的,多摄像机和渲染窗
- DX8.1 DirectPlay, DirectShow, DirectSound
- 自动选择合适的3D硬件加速
- 支持DX8.1和以上版本
- 窗口或全屏模式,最大支持1600x1200
- BSP/PVS, Portal and frustrum culling
- Geometric LOD and trilinear mip mapping
- 静态和动态的点光源,投射光源和方向光源
- 静态和动态的投影
- 彩色雾区
- Portals and mirrors
- Vertex and pixel shaders
- 凹凸和环境帖图
- 多纹理帖图(最大8),光线帖图,精细纹理
- 静态动态物体的材质属性
- 动画3D精灵和帖纸
- 无缝的室内外可变海拔地形?
- 变形网格建模,骨骼和节点动画,动画合成?  
- 可编程的离子和波生成器
- 拥有动态云层和背景图的天空系统
- 2D渲染器,渲染静态图像,2D精灵,面板,按钮,滑动条,覆盖图,Truetype 和位图字体,屏幕截图,和电影。
- 3D视图和电影可以被渲染到弯曲的表面,达到扭曲效果
- 可编程的2D和3D效果,如镜头角度,弹孔,卡通等

游戏引擎 ........................................................

- 多边形水平的碰撞测试,应用于地形和3D物体
- 物理引擎支持重力,聚集,阻尼衰减,弹力,摩擦力和 绞链,球,车轮,滑杆的互动
- 3D音源 (WAV and OGG) 多普勒效果
- 快慢动作效果
- 任意轴向的旋转,应用于太空、飞行模拟器
- 摄像机,角色,交通工具的路径轨迹
- 鼠标捕捉和操纵 3D物体
- 游戏任意位置的进度存取
- 局域网和互联网上的客户/服务器模式的多人游戏
- 分布式/多服务器 支持多人在线的游戏
- Expandable through DLL plugin interface






C脚本 编程语言
我们可以通过设计水平,设置项目和怪物,并附加其行为举止,和添加游戏菜单来创建一个完整的游戏。 那么我们是否真正需要一个编程语言呢?


在使用第一种简便方法完成你的游戏后,你可能希望制作更成熟的游戏。就像用编程制作的那样,自己设计玩家的动作,结果,人工智能,用户界面,代替预定义的脚本。GS引擎的 C脚本语言 可以让游戏制作的新手制作出具有专业水平的游戏。  C脚本是简单化的C++,C++应用于专业的编程。如果你曾经用javascript编辑过网页,你会比较适应 C脚本。否则,你应该去看手册中的简易教程《6天游戏编程速成》。C脚本 是学习游戏编程最好的方法,并且每当你输入代码,都可以立刻从虚拟的世界看到结果。


虽然非常易懂,但和真正的编程语言一样有较高的自由度,包括 多任务,数组,结构,指针,全局和局部变量,字符串和向量函数,文件读写等。引擎提供高亮度显示语法条的编辑器,调试器,编译器。和Bisic解释执行方式不同,C脚本是可编译的。用C脚本制作的程序,运行速度和直接编程的程序运行速度相当。执行速度,对于大多数游戏来说都是重要的。


当然,如果你更喜欢使用你的C++或Delphi开发系统,GS引擎也提供扩展的Dll插件接口。

官方网址:http://www.3dgamestudio.net/

由该软件开发的游戏壁纸:

http://www.conitec.net/english/gstudio/gallery.php
回复

使用道具 举报

5

主题

28

帖子

812

积分

⑤进阶

TaylorFMT

积分
812
发表于 2006-4-18 12:04:04 | 显示全部楼层
[s:8] 星星~~~~怎么突然出现又突然消失~
Bearing region of the magic
回复 支持 反对

使用道具 举报

9

主题

1512

帖子

9136

积分

荣誉群

Cod3r

积分
9136

终身成就奖

发表于 2006-4-18 17:31:53 | 显示全部楼层
突然想到幾點,或許可以供大家參考下

以上的功能很多都在專業版才有,當然樓主提供的是專業版位置
如果你知道他的原始價格(專業版)是美金900元,說不定會有點驚訝

C-Script編譯之後的執行速度跟真正的機械碼還是有段差距,
不過說起運行速度大概有HSP的水平吧...

很多用這個製作的商業遊戲在遊戲中會有一時卡住的情況,
我不知道是否為Loading帶來的問題,但是這樣會讓遊戲失去一點流暢感

不過他是少數All-in-One的開發環境,不過如果有習慣第三方編輯器
(如MAX),或許不會用自帶的編輯器了
(\\__/) (O.o ) (> < ) This is Bunny.
回复 支持 反对

使用道具 举报

1

主题

11

帖子

1619

积分

⑥精研

积分
1619
发表于 2006-4-18 21:27:03 | 显示全部楼层
那个似乎要购买吧,楼主
http://www.wxsmzx.com/Soft/cxym/shangye/200601/537.asp

这里有免费下载的,pro版,附带范例和教程(E文的)
回复 支持 反对

使用道具 举报

15

主题

94

帖子

926

积分

⑤进阶

积分
926
发表于 2006-4-24 10:56:07 | 显示全部楼层
我在提供个电驴的连接


http://lib.verycd.com/2006/04/18/0000099372.html
最平凡的事往往是奇迹的开端。
回复 支持 反对

使用道具 举报

0

主题

1

帖子

13

积分

②入门

积分
13
发表于 2006-4-24 12:08:58 | 显示全部楼层
引用第3楼blueghost12006-04-18 21:27发表的“”:
那个似乎要购买吧,楼主
http://www.wxsmzx.com/Soft/cxym/shangye/200601/537.asp

这里有免费下载的,pro版,附带范例和教程(E文的)
我为什么下不了啊?我用的是迅雷.你下了没有?
回复 支持 反对

使用道具 举报

9

主题

1512

帖子

9136

积分

荣誉群

Cod3r

积分
9136

终身成就奖

发表于 2006-4-24 20:36:17 | 显示全部楼层
那麼,看本區的置頂帖吧
(\\__/) (O.o ) (> < ) This is Bunny.
回复 支持 反对

使用道具 举报

125

主题

288

帖子

1387

积分

⑥精研

积分
1387
发表于 2006-4-26 04:33:25 | 显示全部楼层
引用第2楼yoxola2006-04-18 17:31发表的“”:
突然想到幾點,或許可以供大家參考下

以上的功能很多都在專業版才有,當然樓主提供的是專業版位置
如果你知道他的原始價格(專業版)是美金900元,說不定會有點驚訝

.......

在一般的整数计算和比较判断部分中,HSP的速度只有NATIVE CODE的1/100左右,涉及到数组操作时速度更是只有1/300……

写个AVG引擎我都觉得它很慢,真的,复杂一点的像STG基本上是不能做的,即使画面音频之类的通通都交给插件来处理。它的VM优化做得太差了,.NET要比它好得多。
回复 支持 反对

使用道具 举报

50

主题

994

帖子

6699

积分

管理员

爱干啥干啥!

Rank: 9Rank: 9Rank: 9

积分
6699
发表于 2006-4-26 12:29:09 | 显示全部楼层
寒一下楼上的分析和比较……[s:5]

“放下屠刀,立地成佛” 故应先杀生,然后再成佛。

(\\_/) (-_-) ()+() this is bunny priest.
回复 支持 反对

使用道具 举报

125

主题

288

帖子

1387

积分

⑥精研

积分
1387
发表于 2006-4-26 12:50:19 | 显示全部楼层
毕竟个人作品还是不能跟M$比的么[s:4]

举个极端点的例子,下面这两个程序执行相同效果的运算,所花费的时间比却是1:800左右(ASM的执行100W*1024次,HSP的执行1W*1024次)
  1. .386
  2. .model flat,stdcall
  3. option casemap:none
  4. include \\masm32\\include\\windows.inc
  5. include \\masm32\\include\\kernel32.inc
  6. includelib \\masm32\\lib\\kernel32.lib
  7. include \\masm32\\include\\user32.inc
  8. includelib \\masm32\\lib\\user32.lib
  9. include \\masm32\\include\\winmm.inc
  10. includelib \\masm32\\lib\\winmm.lib
  11. .DATA?
  12.     PlayerPositionX   DWORD    ?
  13.     PlayerPositionY   DWORD    ?
  14.     PlayerHitBoxW     DWORD    ?
  15.     PlayerHitBoxH     DWORD    ?
  16.     Time              DWORD    ?
  17.     IsHitting         db    1024    dup(?)
  18.     MessageBuffer     db    64    dup(?)
  19. .DATA
  20.     EnemyPositionX    dd    1024    dup(1)
  21.     EnemyPositionY    dd    1024    dup(1)
  22.     EnemyHitBoxW      dd    1024    dup(99999)
  23.     EnemyHitBoxH      dd    1024    dup(99999)
  24.     EnemyCounter      DWORD    1024
  25.     MessageFormat     db  &quot;Time spent : %u ms&quot;
  26. .CODE
  27. start:
  28.     call    timeGetTime
  29.     mov    Time,eax
  30.     mov    PlayerPositionX,12345
  31.     mov    PlayerPositionY,67890
  32.     mov    PlayerHitBoxW,12345 + 123
  33.     mov    PlayerHitBoxH,67890 + 456
  34.     xor    ecx,ecx
  35. @@:
  36.     mov    eax,PlayerPositionX
  37.     add    eax,ecx
  38.     mov    PlayerPositionX,eax
  39.     mov    eax,PlayerPositionY
  40.     sub    eax,ecx
  41.     mov    PlayerPositionY,eax
  42.     call    HitCheck
  43.     inc    ecx
  44.     cmp    ecx,1000000
  45.     jne    @b
  46.     call    timeGetTime
  47.     sub    eax,Time
  48.     push    eax
  49.     push    OFFSET MessageFormat
  50.     push    OFFSET MessageBuffer
  51.     call    wsprintf
  52.     add    esp,3 * 4
  53.     xor    eax,eax
  54.     push    eax
  55.     push    eax
  56.     push    OFFSET MessageBuffer
  57.     call    GetForegroundWindow
  58.     push    eax
  59.     call    MessageBox
  60.     xor    eax,eax
  61.     push    eax
  62.     call    ExitProcess
  63. HitCheck:
  64.     cmp    EnemyCounter,0
  65.     je    CheckFinish
  66.     pushad
  67.     xor    eax,eax
  68.     mov    edi,OFFSET IsHitting
  69.     mov    ecx,EnemyCounter
  70.     mov    edx,ecx
  71.     and    edx,SIZEOF BYTE + SIZEOF WORD
  72.     shr    ecx,2
  73.     cld
  74.     rep stosd
  75.     or    ecx,edx
  76.     jne    MemoryMisalignment
  77.     jmp    @f
  78. MemoryMisalignment:
  79.     rep stosb
  80. @@:
  81.   mov ebx,OFFSET EnemyPositionX
  82.     mov    edx,OFFSET EnemyPositionY
  83.     mov esi,OFFSET EnemyHitBoxW
  84.     mov edi,OFFSET EnemyHitBoxH
  85.     xor    ecx,ecx
  86. CheckLoop:
  87.     mov    eax,[edi + ecx * 4]
  88.     cmp    PlayerPositionY,eax
  89.     ja    CheckEnd
  90.     mov    eax,[esi + ecx * 4]
  91.     cmp    PlayerPositionX,eax
  92.     ja    CheckEnd
  93.     mov    eax,[edx + ecx * 4]
  94.     cmp    PlayerHitBoxH,eax
  95.     jb    CheckEnd
  96.     mov    eax,[ebx + ecx * 4]
  97.     cmp    PlayerHitBoxW,eax
  98.     jb    CheckEnd
  99.     mov    BYTE PTR[ecx + OFFSET IsHitting],1
  100.    
  101. CheckEnd:
  102.     inc    ecx
  103.     cmp    ecx,EnemyCounter
  104.     jne    CheckLoop
  105.     popad
  106. CheckFinish:
  107.     retn
  108. end start
复制代码
  1. #include &quot;llmod.as&quot;
  2.     dim    prm,1
  3.     dim    hDLL,1
  4.     dim    TIME,1
  5.     dim    ENEMY_COUNTER,1
  6.     dim    PLAYER_POSITION_X,1
  7.     dim    PLAYER_POSITION_Y,1
  8.     dim    PLAYER_HITBOX_W,1
  9.     dim    PLAYER_HITBOX_H,1
  10.     dim    ENEMY_POSITION_X,1024
  11.     dim    ENEMY_POSITION_Y,1024
  12.     dim    ENEMY_HITBOX_W,1024
  13.     dim    ENEMY_HITBOX_H,1024
  14.     dim    IS_HITTING,1024
  15.     ENEMY_COUNTER = 1024
  16.     PLAYER_POSITION_X = 12345
  17.     PLAYER_POSITION_Y = 67890
  18.     PLAYER_HITBOX_W = 12345 + 123
  19.     PLAYER_HITBOX_H = 67890 + 456
  20.     repeat    ENEMY_COUNTER
  21.         ENEMY_POSITION_X = 1
  22.         ENEMY_POSITION_Y = 1
  23.         ENEMY_HITBOX_W = 99999
  24.         ENEMY_HITBOX_H = 99999
  25.     loop
  26.     ll_libload    hDLL,&quot;winmm.dll&quot;
  27.     dllproc    &quot;timeGetTime&quot;,prm,0,hDLL
  28.     TIME = dllret
  29.     repeat    10000
  30.         PLAYER_POSITION_X += cnt
  31.         PLAYER_POSITION_Y -= cnt
  32.         gosub    HitCheck
  33.     loop
  34.     dllproc    &quot;timeGetTime&quot;,prm,0,hDLL
  35.     TIME = dllret - TIME
  36.     dialog &quot;Time spent : &quot; + TIME + &quot; ms&quot;
  37.     end
  38. *HitCheck
  39.     if ENEMY_COUNTER = 0 : return
  40.     repeat    ENEMY_COUNTER
  41.         IS_HITTING.cnt = 0
  42.         if (ENEMY_HITBOX_H.cnt &lt; PLAYER_POSITION_Y) | (ENEMY_HITBOX_W.cnt &lt; PLAYER_POSITION_X) | (ENEMY_POSITION_Y.cnt &gt; PLAYER_HITBOX_H) | (ENEMY_POSITION_X.cnt &gt; PLAYER_HITBOX_W) {
  43.             continue
  44.         }
  45.         IS_HITTING.cnt = 1
  46.     loop
  47.     return
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-3-29 04:41 , Processed in 0.028755 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表