CityEngine建模示例教程6:Basic Shape Grammar之Part 3:给建筑物制作LOD
LOD技术主要是根据距离建筑物对象的距离来调用不同复杂度的模型,即在较远距离时显示复杂度低的模型,在较近距离时显示复杂度高的模型。在CityEngine中为了提高显示效率,也可以使用LOD机制。本节我们就给建筑物模型添加一个简单的LOD机制。当我们要创建大范围的建筑物模型时,可以由此降低模型的复杂度(多边形的数量)。
- 1. 添加LOD属性
attr LOD = 1
在本示例中,只设置两个显示级别:
LOD 0:代表较低级别,低复杂度
LOD 1:代表较高级别,高复杂度
因为模型制作中,我们做的模型已经是搞分辨率的模型,因此现在通过简单的步骤创建低分辨率模型。
- 2. 为模型设置LOD
在目前的模型中,对于window类型的模型,之前是使用obj文件创建的一个较复杂的窗户,可以通过使用纹理平面代替obj这种复杂模型。需要添加红色部分的代码:
Window -->
case LOD > 0 :
s('1,'1,0.4)
t(0,0,-0.25)
texture(randomWindowTexture)
i(window_asset)
else :
texture(randomWindowTexture)
当LOD大于0时,使用的是之前创建的高分辨率的窗户模型,否则,使用的是一个简单的平面。同样的,对Door和SolidWall对象也添加类似的代码。
Door -->
case LOD > 0 :
s('1,'1,0.1)
t(0,0,-0.5)
texture(frontdoor_tex)
else :
texture(frontdoor_tex)
SolidWall -->
case LOD > 0 :
color(wallColor)
s('1,'1,0.4)
t(0,0,-0.4)
texture(wall_tex)
set(material.dirtmap, dirt_tex)
i("builtin:cube:notex")
projectUV(0) projectUV(2)
else :
Wall
应用这个规则之后,选择一个建筑物并查看其属性,会发现多了一个LOD属性。将LOD属性值改为0,属性表中的Source字段就从Rules改为Value。当再次应用规则时,将使用0值作为LOD的值应用在建筑物模型上。
当LOD为0时,模型显示如下:
当LOD为1时,模型显示如下:
显示模型时,按数字7键显示/隐藏模型上的黑线,按数字5键显示/隐藏纹理图片,按字母D键显示模型包含的面数。使用LOD之后,模型的面数从3699个面降低到了475个。
转载于:https://www.cnblogs.com/esrichina/archive/2012/08/27/2658505.html
CityEngine建模示例教程6:Basic Shape Grammar之Part 3:给建筑物制作LOD相关推荐
- 使用 SQL Server 2012 Analysis Services Tabular Mode 表格建模 图文教程
原文 http://www.cnblogs.com/biwork/archive/2013/05/22/3093896.html BI Work 使用 SQL Server 2012 Analysis ...
- struts2登录注册示例_Struts 2控制标签示例教程
struts2登录注册示例 We learned about Struts 2 Data tags in the last post, today we will look into the cont ...
- Android ActionBar示例教程
Today we will look into Android ActionBar. Action Bar is one of the important part of any applicatio ...
- Spring Security示例教程
Spring Security provides ways to perform authentication and authorization in a web application. We c ...
- jsf集成spring_JSF Spring Hibernate集成示例教程
jsf集成spring Welcome to JSF Spring Hibernate Integration example tutorial. In our last tutorial, we s ...
- jaxb教程_JAXB示例教程
jaxb教程 Welcome to JAXB Example Tutorial. Java Architecture for XML Binding (JAXB) provides API for c ...
- Maya硬表面建模学习教程 Master Hard Surface Modeling in Maya 2020
Maya硬表面建模学习教程 Master Hard Surface Modeling in Maya 2020 流派:电子学习| MP4 |视频:h264,1280×720 |音频:aac,48000 ...
- JQuery图表插件Highcharts示例教程
JQuery图表插件Highcharts示例教程,先上图,大伙Show一下效果:先上三个图,分别是曲线.柱状.扇形. 图表中的数据纯属于DEMO的测试数据,没有实际用意.下面讲下大致的实现步骤 第一步 ...
- jquery饼状图插件的指引线_JQuery图表插件Highcharts示例教程
JQuery图表插件Highcharts示例教程,先上图,大伙Show一下效果:先上三个图,分别是曲线.柱状.扇形. 图表中的数据纯属于DEMO的测试数据,没有实际用意.下面讲下大致的实现步骤 第一步 ...
最新文章
- UC伯克利发现「没有免费午餐定理」加强版:每个神经网络,都是一个高维向量...
- 2018-2019年新一代AI领域十大最具成长性技术展望
- lodop打印不显示页码_CAD上明明有图,但是打印的时候不显示怎么办?原来要这样设置...
- 混合app用百分比还是rem_如何用平板APP和手机APP控制混合音视频矩阵切换器
- javascript 强制类型转换
- java与java ee_计划Java EE 7批处理作业
- 打docker镜像_从安全到镜像流水线,Docker 最佳实践与反模式一览
- 高流量站点NGINX与PHP-fpm配置优化
- oracle mysql分页语句怎么写,sqlserver ,mysql,oracle 语句实现分页
- 【hdu 6396】Swordsman
- windows下游戏服务器端框架Firefly安装说明及demo运行
- 关于Maven构建的项目依赖范围
- oracle8i odac for c,ODAC for delphi
- 计算机与科学技术会学机械,计算机科学与技术和机械设计制造及其自动化的区别...
- LED背光源和LED背光灯区别
- Pytorch基础知识之pth文件与DataLoader数据加载器
- SystemUi通知栏
- Java实现 四舍五入取整到百位 四舍五入取整到千位 数字取整到千位 数字取值到千位 数字取整到百位 数字取值到百位
- 微信小程序——瘦金社区
- 【Linux】动态链接库 cannot find -lxxx问题总结