unity3d游戏开发之 游戏贴图、模型基本规范(Q&A)

一个游戏角色的好坏的贴图可以说起了70%的作用。对于面数比较低的角色而言游戏角色的大部分细节都是靠贴图来表现的。

Q
游戏的贴图在尺寸上有些什么要求?是不是必须是正方形的?

A 游戏贴图的长宽都必须是2的倍数的任意组合,例如2,4,8,16,32,64。。。。。1024等。并不一定必须是正方形,例如长宽可以是256,128也可以是1024*32。

Q
一个游戏角色是否只可以有一张贴图?

A 不是。一个角色可以有好几张贴图,根据不同情况有不同要求。例如有些网络游戏,它的角色的上身,下身,手脚头的贴图都是分开的好几张,为的是便于做纸娃娃系统。但通常情况下都是一个角色一到两张贴图,如果有武器等附属品通常另外计算。

Q
游戏角色的贴图可以用在些什么通道?是否只能用色彩通道?

A 游戏角色的贴图视引擎的不同,可以使用的通道也不一样,另外也要考虑角色在游戏中的重要性而定。首先最基本的两个通道是色彩通道和透明通道,这两个通道大部分引擎都支持。另外大多数引擎支持的通道还有反射通道和高光通道。目前比较新的引擎还支持normal map通道。

Q
游戏贴图在存储时一般是24位还是256色?更多精彩请点击【狗刨学习网

A 这也是视不同引擎和游戏而定。一般来讲游戏贴图都是存为24位,带ALPHA通道的存为32位。比较早的游戏都是用256色贴图,包括CS也是。另外还有一种叫做PAL的技术,这种技术是为每张贴图制作N个专用的色板,这些色板颜色数是自定义的,并且它甚至可以将一张图划分为颜色分别相近的几个区域,为每个区域单独生成一个对应的色板。并且同种类贴图还可以通用一个色板。这就使每张图的实际颜色数大大减少,甚至少于256色。这种技术大大缩小了贴图的尺寸,在一些比较早的游戏中应用比较多。

Q
游戏角色贴图上是否要画出明暗和阴影?还是会由灯光计算?

A 游戏角色贴图通常都需要画出基本的明暗和阴影,特别是细节部分的明暗阴影。因为场景灯光对角色通常只计算投射到场景上的阴影,而不会详细去计算角色本身的阴影,另外场景中灯光的数量也不足以表现出漂亮的角色光感来。所以大部分明暗光感都是开贴图来绘制的。在制作的时候,可以在3D软件中将材质的自发光开到60%左右,然后放置一盏主光,这样比较接近游戏中的实际效果。

好了,游戏贴图的规范没有模型那么复杂,不过还有一个最基本的原则,那就是一定要最大限度的利用贴图的空间!更多精彩请点击【狗刨学习网

Q
经常看见模型要求多少多少面这样的制作要求,那么你们是怎样计算面数的?

A 通常我们提到游戏模型的面数都是指的三角面,而通常在你在3D软件中所看到它计算的面数都是四边面。一个四边面等于两个三角面,但并不是说你想了解你的模型有多少面就直接将你看到面数*2就行了。因为如果你的模型中还有三角面的结构甚至大于四条边的结构(当然这是不允许的),你所计算的面数就会有所出入。所以保险的办法还是将你的模型先用工具转换为全三角结构后再看他的面数。在3DSMAX中你只需要很简单的将他塌陷为Editable Mesh就可以了。

Q
那么一个游戏角色通常要求多少面呢?

A 那要看这是一个什么游戏了,还有他使用的什么引擎。比如格斗游戏每个角色的面数就比动作游戏多很多,因为格斗游戏整个画面通常就两个人,而动作游戏同画面会有一大堆人出现。而网络游戏角色的面数就更为节约,因为几十上百个玩家在同一画面出现并不是什么新鲜事,为了不让玩家的机器因此而卡住他们只好最大限度缩减角色的面数。再一方面,主角的面数通常比配角多,配角的面数又比敌人多,但是有一个例外,那就是BOSS,BOSS的面数可能比主角还要多。为什么呢?因为决定一个游戏角色的面数并不完全是按照角色本身在故事中的重要性的,而是按照这个角色在出场的时候同画面可能会有多少角色出现。而在BOSS出场的时候,通常只有主角和BOSS两个人而已(喜欢带着一堆小敌撑腰的没胆BOSS除外),所以BOSS可以有很多面。而主角则不一样了,他贯穿整个游戏,如果他的面数太多,遇到同屏幕有很多敌人的情况,游戏就会很卡了。说到这个问题,有人又会问照这么说主角的面数应该非常少,但是为何在一些特写镜头的时候看着这么细腻呢?这是因为在游戏中通常会为主角制作几套模型,面数从低到高,分别用在各种不同的场合,当有特写镜头时,就会切换到面数较高的那个模型,这种技术叫做LOD(Level
OfDetail)。说了半天也没说一个角色通常多少面,因为这个确实是不同场合都有不同要求,如果一定要问的话,大概是1000-5000三角面吧。

Q
游戏模型都是有三角面计算的,我下载了很多游戏模型看到他们也都是三角结构,那是不是说我也需要将我的模型制作成三角面结构呢?

A 不需要。请不要误解为游戏模型在制作时都需要用三角结构来做。我们在制作游戏模型的时候通常都是用四边面,只有在计算面数的时候才转换为三角面来计算。但是因为游戏模型在最终导出到引擎时都需要转换为三角结构,所以预先转换为三角结构来调整模型是很有必要的。

Q
游戏模型是否面数越少越好呢?

A 很多新手在主管告诉他角色必须限制在多少多少面以内的时候他总是非常的小心,最后将面数控制得远远低于主管的要求,这其实是错误的。因为每个角色多少面都是策划和程序员精确计算出来的,你如果做得面非常的少的话其实是浪费了他们分配给你的资源。应该算做是没有有效利用现有资源吧(笑)。所以好的游戏模型并不是面越低越好,而是越接近要求的面数越好。

Q
经常听说游戏模型需要SMOOTH,这样的话模型的面数不是会变得非常的多吗?

A 你听到的SMOOTH并不是说网格细分,而是说表面光滑组显示。所谓表面光滑组显示只是一种对多边形的显示方式的平滑处理,并不会增加它的面数。游戏模型通常都需要添加表面光滑组显示。

以上回答了一些关于模型方面的基本问题,现在来谈一下游戏模型在建立的时候有些什么忌讳。基于不同的游戏引擎,都有不同的要求,所以所忌讳的东西也不一样,下面所列举的是一些通常情况下应该尽量避免的。

1,空点。所谓空点就是说在模型上只有点而没有面,这种情况通常不是故意造成的,而是不小心复制了某个点或者一些错误的操作造成的。

2,开放的几何体。所谓开放的几何体就是指没有闭合的多边形,比如只有5个面的BOX等。

3,多余重合的面。这种情况也通常是因为不小心复制了某个面造成的。虽然这些都是些细小的问题,但是在制作完成后一定要仔细检查模型,确保没有这些问题。

4,大余四边的面。游戏模型不允许有大于四边的面出现,这一点一定要注意。

5,过于尖锐的点。这个可能不太好理解,举个例子大家就明白了,比如长矛的尖端,尖端处尽量不要只用一个点,最好在尖端处用一个面来表示。

6,尽量不要使用MAX中的split命令,同样的也尽量少的为一个模型不同的区域指定不同的光滑组ID。因为这会打断模型的三角连续。

7,物体之间尽量不要穿插,也就是说尽量不要有一个物体插入另一个物体的情况出现。事实上把各个部件尽量做成一个物体会节省一些运算和加载速度。

时间: 2024-10-14 10:15:41

unity3d游戏开发之 游戏贴图、模型基本规范(Q&A)的相关文章

Unity3D射击游戏-UNITY3D软件开发、游戏开发、UNITY3D游戏开发

Unity3D射击游戏-UNITY3D软件开发.游戏开发.UNITY3D游戏开发 上海诸君信息科技有限公司是以Oculus.Unity.虚拟现实作为核心业务的民营高科技企业,坚持精益研发与技术创新,拥有丰富Oculus.Unity.虚拟现实的软件与游戏开发经验,能提供优质的技术解决方案. 公司拥有全面强大的团队,拥有优秀的设计师与美术人员,有大量的游戏项目制作管理经验,能优质控制游戏产品质量和制作时间,成功服务于海内外多家公司,拥有丰富的客户案例. 诸君信息科技已服务的客户包括,普华永道.交大.

Unity3d游戏开发之法线贴图

[狗刨学习网]unity极致学院,致力于打造业内第一 一:法线贴图的原理 二:法线贴图的实现 三:法线贴图的使用 四:法线贴图的格式 一:法线贴图的原理 光照效果很大程度上是由垂直于物体表面的法线决定的,因为法线影响反射光的方向.均匀垂直的法线是镜面贴图.但是有时候我们会给一个平面使用砖墙贴图,砖墙应该是凹凸不平的,而如果让砖墙使用该平面的法线的话,画面就会很假,神马?一面墙像镜子一样反光=.= 而如果按真实砖墙去做模型的话,即做高精度模型,一方面制作麻烦,另一方面运行时对性能损耗大. 法线贴图

JavaFX横幅类游戏开发 教训 游戏贴图

上一节课,我们即将完成战旗Demo有了一个大概的了解.教训这,我们将学习绘制游戏地图. 由于JavaFX 2.2中添加了Canvas相关的功能,我们就能够使用Canvas来实现游戏绘制了. 游戏地图绘制主要用到GraphicsContext.drawImage方法. drawImage(Image image,double sx,double sy,double sw,double sh,double dx,double dy,double dw,double dh); 当中image 表示源图

Android游戏开发之游戏帧动画的播放与处理

带你走进游戏开发的世界之游戏帧动画的处理<ignore_js_op> 1.帧动画的原理 帧动画帧动画顾名思义,一帧一帧播放的动画就是帧动画. 帧动画和我们小时候看的动画片的原理是一样的,在相同区域快速切换图片给人们呈现一种视觉的假象感觉像是在播放动画,其实不过是N张图片在一帧一帧的切换罢了.            如图所示:人物行走动画的实现方式, 4帧行走动画在播放区域 一帧一帧向左切换播放 给人们一种播放动画的假象 ,图片就动了起来, 很简单吧,其它三方向播放动画的方法类似我就不再一一举例

在线捉鬼游戏开发之一 - 游戏流程介绍与技术选用

看过芒果台某知名节目的朋友们应该对“谁是卧底”不会陌生:N人参与,N-1人拿到同一个词(如馒头),剩余一人拿到另一个词(如包子),N人都只能看到自己的词,故没人知道自己是否和别人描述的不一样.游戏采用轮流发言制,想尽办法描述自己手中的词,让自己不被怀疑,且又不能让真正的卧底猜出自己和别人不一样,直到猜出谁是卧底. 此类游戏的有趣之处在于描述的尺度要拿捏在明确且不点破之间,机器没有人的智慧那么发散,人的参与感就更重要了(不然好比我喜欢的飞行棋,你还真不知道网络对面的对手是不是条狗). 捉鬼 这个游

cocos2d-x游戏开发之游戏主循环

首先还是就我个人的理解,讲讲游戏引擎的处理流程. 其实游戏逻辑简单化就是一个死循环,如下: 1 2 bool game_is_running = true; 3 4 while( game_is_running ) { 5 update_game(); 6 display_game(); 7 } 我们所看到的游戏画面,游戏音乐,以及一些触控,输入等.在逻辑上就是这么一个死循环.这个循环一直在跑,期间会处理一些列的事件,简化之就是上面的两个函数. cocos2d-x引擎也是如此,所有的逻辑都是在这

unity3f游戏开发之游戏设计中运营重用体系

游戏设计中,运用重用体系重用资源包括有以下几个设计目的: 1).方便玩家识别 为了方便玩家识别某一类游戏中的要素,而采用的设计目的.如某种某种动物的皮毛的道具图标.为了区分不同,除了基本图素相同外,不同之处只是以变换颜色和更改名称加以区分,这样可以方便玩家快速识别图标. 2).降低客户端的容量 游戏中最占用硬盘空间的,其实是大量的资源,如模型文件.贴图等美术资源文件.为了降低客户端的容量,开发者除了要采用压包技术进行资源压包外,在设计的过程中,设计师还要考虑到客户端容量大小的问题(特别是某些2D

csdn vip文章:Unity游戏开发-小游戏-非常简单的游戏-unity-

原文https://blog.csdn.net/qq_20484877/article/details/81841190 1*创建物体 Create菜单下 3D Object菜单下Cube 1.1设置属性x100   z100作为地面  1.2在创建一个立方体物体 1.3 Create菜单下 3D Object菜单下Cube 1.4复制立方体 创建一个空物体放立方体 代码 #pragma strict function Start () { } var speed : int =5; var s

Aery的UE4 C++游戏开发之旅(2)编码规范

目录 C++基础类型规范 命名规范 头文件规范 字符串规范 字符集规范 参考 C++基础类型规范 由于PC.XBOX.PS4等各平台的C++基础类型大小可能不同(实际上绝大部分都是整型类型的大小不同),因此UE4提供了如下可移植基础类型的别名来统一规范类型大小: bool 代表布尔值(不会假定布尔尺寸). TCHAR 代表字符(不会假定TCHAR尺寸). uint8 代表无符号字节(1字节). int8 代表带符号字节(1字节). uint16 代表无符号"短"字符(2字节). int