本文提到的所有数字模型制作,全部是用3D MAX建立模型,即使是不同的驱动引擎,对模型的要求基本是相同的。当一个VR模型制作完成时,它所包含的基本内容包括场景尺寸、单位,模型归类塌陷、命名、节点编辑,纹理、坐标、纹理尺寸、纹理格式、材质球等必须是符合制作规范的。一个归类清晰、面数节省、制作规范的模型文件对于程序控制管理是十分必要的。

首先对制作流程作简单介绍:

素材采集-模型制作-贴图制作-场景塌陷、命名、展UV坐标-灯光渲染测试-场景烘培-场景调整导出

第一章  模型制作规范

1   在模型分工之前,必须确定模型定位标准。一般这个标准会是一个CAD底图。制作人员必须依照这个带有CAD底图的文件确定自己分工区域的模型位置,并且不得对这个标准文件进行任何修改。

导入到MAX里的CAD底图最好在(0,0,0)位置,以便制作人员的初始模型在零点附近。
2   在没有特殊要求的情况下,单位为米(Meters),如图所示。

3    删除场景中多余的面,在建立模型时,看不见的地方不用建模,对于看不见的面也可以删除,主要是为了提高贴图的利用率,降低整个场景的面数,以提高交互场景的运行速度。如Box底面、贴着墙壁物体的背面等。

4    保持模型面与面之间的距离推荐最小间距为当前场景最大尺度的二千分之一。例如:在制作室内场景时,物体的面与面之间距离不要小于2mm;在制作场景长(或宽)为1km的室外场景时,物体的面与面之间距离不要小于20cm。如果物体的面与面之间贴得太近,会出现两个面交替出现的闪烁现象。模型与模型之间不允许出现共面、漏面和反面,看不见的面要删掉。在建模初期一定要注意检查共面、漏面和反面的情况;

5    可以复制的物体尽量复制。如果一个1000个面的物体,烘焙好之后复制出去100个,那么他所消耗的资源,基本上和一个物体所消耗的资源一样多。

6    建模时最好采用Editable Poly面片建模,这种建模方式在最后烘焙时不会出现三角面现象,如果采用Editable Mesh 在最终烘焙时可能会出现三角面的情况。如图所示。

7  模型的塌陷

当一栋建筑模型经过建模、贴纹理之后,然后就是将模型塌陷,这一步工作也是为了下一步烘焙做准备。所以在塌陷的时候要注意一些问题:

(1) 按照“一建筑一物体”的原则塌陷,体量特别大或连体建筑可分塌为2-3个物体,但导出前要按建筑再塌成一个物体,城中村要按照院落塌陷。

(2) 用Box反塌物体,转成Poly模式,这时需检查贴图有无错乱;

(3) 塌陷物体,按楼或者地块来塌陷,不要跨区域塌陷;

(4) 按项目对名称的要求进行严格的标准的命名;

(5) 所有物体的质心要归于中心,检查物体位置无误后锁定物体;

备注:所有物体不准出现超过20000三角面的情况,否则导出时出错。

8  模型命名  不能使用中文命名,必须使用英文命名,不然在英文系统里会出问题。地块建筑模型不允许出现重名,必须按规范命名。

9  树的种植方法

用十字交叉树或简模树。在种植树木的时候,要考虑到与周围建筑的关系,不能乱种树,要根据现状放置不同的树种、位置;重点建筑地块需种简模树,并在原地与之对应的种上十字片树(替换用);导出时模型树和与之对应的十字片树为单棵的,其它十字片树可塌一起,但面数不能超过1万。

10  模型的级别

也就是模型的精细程度,有时我们在建模的时候要根据建筑所处的具体位置,重要程度对该建筑进行判断是建成何种精度的仿真模型。可以将建筑分为五个等级。

其中,一级为最高等级,五级为最低等级。

单个物体的面数不要太大,毕竟是做虚拟现实,而不是制作单张效果图。单个物体面数要控制到8000个面以下。

11 镜像的物体需要修正

用镜像复制的方法来创建新模型,需要加修改编辑器修正一下。

第一步:需要选中镜像后的物体,然后进入Utilities面板中单击Reset XForm,然后单击Reset Selected;

第二步:进入modfiy面板选取Normal命令,反转一下法线即可。

12 烘焙的物体黑缝解决对办法

在烘焙的时候,如果图片不够大的时候,往往会在边缘产生黑缝。

处理小技巧 :

1)如果做鸟瞰楼体比较复杂可以把楼体合并成一个物体变成多重材质,然后对楼体进行整体完全烘焙;这样可以节省很多资源。2)对于建筑及地形,须检查模型的贴图材料平铺的比例,对于较远的地表(或者草地),可以考虑用一张有真实感的图来平铺,平铺次数少一些。对于远端的地面材料,如果平铺次数大了,真实感比较差。

第二章   材质贴图规范

1  材质和贴图类型

我们目前使用的是Unity3D软件作为仿真开发平台,该软件对模型的材质有一些特殊的要求,在我们使用的3dsMax中不是所有材质都被Unity3D软件所支持,只有下面几种材质是被Unity3D软件所支持。

Standard(标准材质)

默认的通用材质球。基本上目前所有的仿真系统都支持这种材质类型。

Multi/Sub-Object(多维/子物体材质)

将多个材质组合为一种复合式材质,分别指定给一个物体的不同次物体选择级别。要注意的是,在VR场景制作中,Multi/Sub-Object材质中的子材质一定要是Standard标准材质。否则不被unity3d支持。我们在制作完模型进行烘焙贴图前都必须将所有物体塌陷在一起,塌陷后的新物体就会自动产生一个新的Multi/Sub-Object多维/子物体材质。因此,这种材质类型在我们的仿真制作中经常使用。

2  贴图通道及贴图类型

Unity3D目前只支持Bitmap贴图类型,其它所有贴图类型均不支持。只支持Diffuse Color(漫反射)同self-Illumination(自发光,用来导出lightmap)贴图通道。

Self-Illumination(不透明)贴图通道在烘焙lightmap后,需要将此贴图通道额channel设置为烘焙后的新channel,同时将生成的lightmap指向到self-Illumination。

3贴图的文件格式和尺寸

建筑的原始贴图不带通道的为JPG,带通道的为32位TGA,但最大别超过2048;贴图文件尺寸必须是2的N次方(8、16、32、64、128、256、512),最大贴图尺寸不能超过(1024×1024)。

在烘培时将纹理贴图存为TGA 格式。

4贴图和材质应用规则

(1) 贴图不能以中文命名,不能有重名;

(2) 材质球命名与物体名称一致;

(3) 材质球的父子层级的命名必须一致;

(4) 同种贴图必须使一个材质球;

(5) 除需要用双面材质表现的物体之外,其他物体不能使用双面材质;

(6) 材质球的ID号和物体的ID号必须一致。

(7) 若使用CompleteMap烘焙,烘焙完毕后会自动产生一个Shell材质,必须将Shell材质变为Standard标准材质,并且通道要一致,否则不能正确导出贴图。

(8) 带Alpha通道的贴图,在命名时必须加_al以区分。

5通道纹理应用规则

模型需要通过通道处理时需要制作带有通道的纹理。在制作树的通道纹理时,最好将透明部分改成树的主色,这样在渲染时可以使有效边缘部分的颜色正确。通道纹理在程序渲染时占用的资源比同尺寸普通纹理要多。通道纹理命名时应以-AL结尾。

第三章   模型烘焙及导出

模型烘焙

1场景灯光

(1) 渲染方式:采用Max自带的Light Tracer光线追踪进行渲染。

(2) 灯光效果控制:

该项目在烘焙前会给出固定的烘焙灯光,灯光的高度、角度、参数均不可调整,可以在顶视图中将灯光组平移到自己的区块,必须要用灯光合并场景然后烘焙。

2  烘焙贴图方式

建筑模型的烘焙方式有两种:一种是LightMap烘焙贴方式,这种烘焙贴图渲染出来的贴图只带有阴影信息,不包含基本纹理。具体应用于制作纹理较清晰的模型文件(如地形),原理是将模型的基本纹理贴图和LightMap阴影贴图两者进行叠加。优点是最终模型纹理比较楚,而且可以使用重复纹理贴图,节约纹理资源;烘焙后的模型可以直接导出FBX文件,不用修改贴图通道。缺点是LightingMap贴图不带有高光信息;

另一种是CompleteMap烘焙方式,这种烘焙贴图方式的优点是渲染出来的贴图本身就带有基本纹理和光影信息,但缺点是没有细节纹理,且在近处时纹理比较模糊。

3   烘焙贴图设置

① CompleteMap烘焙方式

在进行CompleteMap烘焙设置时,应注意以下几点:

a) 贴图通道和物体UV坐标通道必须为1通道,见图所示;

b) 烘焙贴图文件存储格式为TGA格式;

c) 烘焙设置见图所示。

② LightingMap烘焙方式

在进行LightingMap烘焙设置时,和CompleteMap设置有些地方不同:

a) 贴图通道和物体UV坐标通道必须为3通道,见图所示;

b) 烘焙时灯光的阴方式为Adv.RayTraced阴影,见图所示;

c) 烘焙设置见图所示;

d) 用LightingMap烘焙时,背景色要改为白色,可避免有黑边的情况;而用CompleteMap烘培时,背景色要改为与贴图近似的颜色。

e) 在使用lightmap烘焙后,需要将材质改回Standard,然后将新生成的map拷贝到Standard的self-Illumination内,并设置正确的贴图通道。

4  贴图UV编辑

必须手动进行UV编辑。

模型导出

1、将烘培材质球改为标准材质球,通道为1,自发光100;

2、将所有物体名、材质球名、贴图名保持一致

3、合并顶点(大小要合适);

4、清除场景,除了主要的有用的物体外,删除一切物件;

5、清材质球,删除多余的材质球(不重要的贴图要缩小);

6、按要求导出fbx(检查看是否要打组导出);

第四章  场景模型验收

模型制作流程

模型验收流程

模型验收标准

第五章    模型备份提交标准

文件标准备份模式:

l UV 坐标:存放地型和建筑烘培前编辑的UV坐标;

l 导出fbx:存放最终导出的地型和建筑的fbx文件;

l 烘培贴图:存放地型的最终贴图和建筑的最终烘培贴图,tga格式的,     同时这里面有一份转好的贴图;

l 原始贴图:存放地型和建筑在制作过程中的所有的贴图;

l Max文件:原始模型,未做任何塌陷的,有UVW贴图坐标的文件。

烘焙前模型,已经塌陷完的,展好UV的,调试好灯光渲染测试过的文件。

烘焙后模型,已经烘培完的,未做任何处理的文件。

导出模型,处理完烘培物体,合并完顶点,删除了一切没用物件的文件。

第六章 项目命名要求

1、建筑模型命名:区域名_jz_编号;如:SH01_01_jz_01、SH01_01_jz_02……

2、建筑贴图命名:模型名_编号;如:SH01_01_jz_01_01……

3、地形模型命名:区域名_dx_编号;如:SH01_01_dx_01……

4、地形贴图命名:模型名_编号;如:SH01_01_dx_01_01……

5、镂空贴图:要加“_al”后缀

6、需要加特效的玻璃要加“_bl”后缀;(需要加特效的要单独一个物体烘焙)

第七章    创建各资料路径

1、航片存放路径

2、各区域CAD导出的MAX文件

3、照片资料

4、公共纹理库资料

5、客户提供的所有资料

第七章 特殊制作要求

1、 围墙、护栏、雨棚、车棚等要按实际制作。

2、 照片与图纸不符时,以实际照片为主。

3、 沿街店铺尽量与实际一致。

4、 预估尺寸时尽量去借助照片中的参照物,如人、汽车、树木等。

5、 除重点建筑外尽量简化模型,贴图做精,能用贴图表现结构的尽量用贴图表现。

6、 绿化的种类、颜色尽量去实际一致。

7、 建筑顶部的结构及顶部的附属设施尽量按实际制作。

8、 建筑贴图时顶部要留出女儿墙的高度,避免出现窗户顶到建筑顶部。

9、 建筑要制作入口。

10、 地形、绿化要丰富。

11、 书报亭、公交站、变电箱、烟囱、信号塔等要简单制作,以丰富场景。

12、 所有贴图UV大小要准确,避免失真。

数字模型制作规范(转自Unity3D群)的更多相关文章

  1. Unity3D模型制作规范[转]

    本文提到的所有数字模型制作,全部是用3D MAX建立的模型,即使是不同的驱动引擎,对模型的要求基本是相同的.当一个VR模型制作完成时,它所包含的基本内容包括:场景尺寸.单位,模型归类塌陷.命名.节点编 ...

  2. unity3d模型制作规范

    1. 单位,比例统一 在建模型前先设置好单位,在同一场景中会用到的模型的单位设置必须一样,模型与模型之间的比例要正确,和程序的导入单位一致,即便到程序需要缩放也可以统一调整缩放比例.统一单位为米. 2 ...

  3. 音频工具kaldi部署及模型制作调研学习

    语音识别简介 语音识别(speech recognition)技术,也被称为自动语音识别(英语:Automatic Speech Recognition, ASR).计算机语音识别(英语:Comput ...

  4. 如何优雅地制作精排 ePub —— 个人电子书制作规范及基本样式表

    随着大数据时代的到来,多种移动阅读终端方兴未艾 —— Amazon Kindle不再小众.各互联网巨头纷纷推出旗下的电子书阅读软件.有了阅读的软件/硬件支持,必不可少的就是阅读什么的问题了.ePub格 ...

  5. 制作docker-jdk7-zookeeper镜像(非集群版)

    ## 准备工作 用到的工具, Xshell5, Xftp5, jdk-7u79-linux-x64.tar.gz, zookeeper-3.4.9.tar.gz, docker.io/centos:l ...

  6. JAVA数字证书制作生成

    1.加密算法 为了网络通讯中的报文安全,一般需要对报文进行加密,目前常用的加密算法有: 非对称加密算法:又称公钥加密算法,如RSA.DSA/DSS,最常用的就是RSA算法(算法公开,可自行百度了解算法 ...

  7. 【pano2vr】网页Flash中简单实现炫酷的3D模型制作

    花了两天时间学习如何能够高效的实现3D模型效果,毕竟是从0开始学习,感觉pano2vr这款软件挺容易上手,并且可以很容易实现简单的热点交互,可以根据交互需求设置皮肤,故将这一款软件推荐给大家: 1.简 ...

  8. Java内存模型-jsr133规范介绍

    原文地址:http://www.cnblogs.com/aigongsi/archive/2012/04/26/2470296.html; 近期在看<深入理解Java虚拟机:JVM高级特性与最佳 ...

  9. Java内存模型-jsr133规范介绍(转)

    最近在看<深入理解Java虚拟机:JVM高级特性与最佳实践>讲到了线程相关的细节知识,里面讲述了关于java内存模型,也就是jsr 133定义的规范. 系统的看了jsr 133规范的前面几 ...

随机推荐

  1. ios模拟器已安装但xcode无法显示

    最近把系统抹盘重装了, 然后用Time Machine恢复到原始状态, 一切安好, 但是使用xcode的时候发现一个模拟器都没有了: 各种折腾, 重装SDK啊, 重装xcode啊,最后发现, 如果你的 ...

  2. Unity3d开发“类三消”游戏

    新建一个Project,导入图片素材和声音文件,把图片的Texture Type都修改为Sprite(2D and UI)[1].新建一个命名为Background的GameObject,为之添加背景 ...

  3. Ubuntu下安装配置redis

    安装redis apt-get install redis-server 查看是否启动 ps -aux|grep redis 客户端连接 注: 安装Redis服务器,会自动地一起安装Redis命令行客 ...

  4. 【转】ZooKeeper学习第二期--Zookeeper命令操作

    一.Zookeeper的四字命令 Zookeeper支持某些特定的四字命令字母与其的交互.他们大多数是查询命令,用来获取Zookeeper服务的当前状态及相关信息.用户在客户端可以通过telnet或n ...

  5. zabbix服务端安装指南及常见问题解决

    1. 首先要准备LNMP环境 2. 在mysql中创建zabbix所需要的库和用户 mysql -uroot -pmysql> CREATE DATABASE zabbix CHARACTER ...

  6. Windows 下 Chrome 快捷键大全

    Windows 下 Chrome 快捷键大全,即 Google 浏览器的快捷键. 1 Ctrl+N 打开新窗口. 2 Ctrl+T 打开新标签页. 3 Ctrl+Shift+N 在隐身模式下打开新窗口 ...

  7. create table repo_folder_operate_log_bak as select * from repo_folder_operate_log;

    create table repo_folder_operate_log_bak as select * from repo_folder_operate_log;

  8. MySQL--指定浮点型数据的精确度TRUNCATE

    INSERT INTO perf_week(node_id,perf_time,pm25,pm10,temp,humi) ) ) ) ) AS humi FROM perf_pm25 WEEK) AN ...

  9. UTF8 & GBK之间的转换

    使用lua的时候,在lua中给字符串赋值的中文,但是在C中读出来的就是乱码,是因为在lua中使用的是UTF8编码,而在C(windows下面)中使用的是GBK编码,将UTF8转成GBK就可以了,下面的 ...

  10. java中类相关注意事项

    下面default类就是默认修饰符的类 1.Java中调用类中属性或方法(不管是否静态属性或方法)都要在类的方法中调用,虽然这个太基础,但今天想在类中调用静态类的静态变量,不能调用: 2.Java调用 ...