游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1362|回复: 1

3D地图中的问题

[复制链接]

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2007-5-27 15:38:00 | 显示全部楼层 |阅读模式
* 地形纹理
大概分两种类型:rts型和fps型

**第一种:rts型。
和二维做法差不多,把地图分为很多Block,每块Block可能又由m*n个Tile组成。每块Block使用一张纹理。适合rts等俯视类型游戏,《魔兽3》、《魔域帝国》用到。
优点:图像精细,适合表现细致的场景。
缺点:渲染时纹理切换频繁。没法做大面积LOD(Level of Detail),LOD被限制在Block内。由于Block边缘顶点纹理坐标问题,导致Block间没法共用顶点。

地貌间过渡处理: 如草地过渡到土地,简单的方法是让美术做好所有可能用到的不同地貌过渡的图片,程序计算拼接。复杂点的做法是程序计算纹理融合,在渲染是用多层纹理来解决过渡问题,《Empire Earth》,《C&C将军》使用类似做法。

特效处理:
水深效果:使用顶点色形成水下体积雾效果。

**第二种:fps型。
整个地形用一张基本纹理(如:1024*1024)铺满,这张纹理是由程序计算生成(Terrain Texture Generation)。适合室外大场景游戏,如室外fps,飞行模拟。《Battle Field 1942》用到。
优点:任意的LOD范围。无纹理切换问题。可以把计算好的地形LightMap融入基本纹理,一次渲染。
缺点:图像精度不够,解决方法是在渲染时上面加一层细节贴图,如:BumpMap,《Ground Control》用到。


我现在的问题就是这样。因为我要做的场景细节问题非常多,如果使用纹理融合

一是细节效果达不到
二是
SetTextureStageState( 1, D3DTSS_COLOROP,   D3DTOP_BLENDDIFFUSEALPHA );
太消耗我的FPS

所以我打算采用RTS型的方式生成地图,大家觉得如何?

119

主题

1367

帖子

1393

积分

金牌会员

Rank: 6Rank: 6

积分
1393
发表于 2007-5-27 22:44:00 | 显示全部楼层

Re:3D地图中的问题

固定管线alpha 只能混两张,多了混不出效果,你看看shader怎样,应该可以搞定你的多细节纹理问题
我现在也暂时没去搞 shader
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 08:06

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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