在上一篇文中介绍了场景编辑器中的一些按钮的用法,其中视口(Viewport)只是介绍了它的用处,本文着重介绍Viewport。

Viewport的属性包括:属性页面中的布局和环境属性以及Viewport的菜单中的设置。

3.1布局

3.1.1 布局

布局器是我们设置最终导出文件的大小和比例的地方。设置的宽度和高度会被呈现在有×××边框包围的视口窗体中。

当我们将XMAL文件导出为Viewport3D或者Canvas控件时,这些控件的宽度和高度就是是在ZAM 3D中的设置值。然而,如果你导出为控件的时候,Viewbox控件的宽度和高度是自动分配的,但嵌套在Viewbox中的Viewport3D控件的宽度和高度仍然是在ZAM 3D中设置的值。因此,任何对Viewbox大小的改变都会造成你原始3D场景变得或大或小。

3.1.2 选项

在选择中有一个勾选,重绘所有视口(Redraw All Viewports),如果勾选上了,则当你在一个Viewport中移动对象的时候,其他的Viewport中也对应移动。如果没有勾选,则是当你停止移动的时候,其他的Viewport才会重绘对象。

3.1.3 设置

在设置中,可以设置增量微调的值。该值是控制当你使用键盘微调的时候,你按一下方向键时移动的距离,默认值为0.1。

3.2 显示模式

我们可以通过Viewport菜单按钮设置哪些东西将要被展现以及如何展现。点击在Viewport中的按钮会发现有很多的选择项,如下图

下面一一说明:

3.2.1 显示模式设置

Texture Smooth Shaded(纹理平滑阴影):这是默认的显示选项。当这个选项被选中时,对象呈现为光滑、带有阴影的固体材料对象。如果纹理或者位图图像应用到一个对象上,该显示选项也将呈现OpenGL所能提供的最好的效果。显示纹理一定会使得Viewport渲染的速度减慢,所以如果你在做一个复杂的场景,最好切换到其他的显示模式,以提高工作效率。

Smooth Shaded(平滑阴影):从字面上就能看出这个与纹理平滑阴影的区别,该显示选项将不会显示任何的纹理或者位图。

Flat Shaded(平面阴影):这种显示模式渲染你的对象为灰色,但是没有平滑的梯度。相反,你会看到你的对象由一系列的多边形组成,而且每一面都是平的。当你在做处理细节工作的时候该显示选项有助于提高渲染速度。

下图是Texture Smooth Shaded(纹理平滑阴影)和Flat Shaded(平面阴影)的渲染对比图。

Wireframe(线框):这个显示选项显示对象的时候只显示线框,没有阴影。换句话说,你会看到他们的多边形结构而不是平滑的表面。当你在处理复杂的三维模型的时候这种显示选项将会有用,因为它加速了你的对象每次重绘的速度。

Draw Backfaces:默认情况下,Draw Backfaces在所有的Viewport中都是启用的。这意味着当前显示的对象正在显示背面或者对象的网格正在偏离照相机。

Reference Grid(参考网格):可以设置X、Y、Z坐标轴的开和关。默认是显示X-Y轴的,当我们全部启用的时候会发现多了几条网格,如下图

3.2.2 显示

Animation Paths(动画路径):任何已应用到一个对象的动画路径将显示为紫色的线。这些路径也可以通过点击在主工具栏上的动画路径模式按钮进行编辑。
Hidden Objects(隐藏对象):这是用来显示或隐藏已被指定为隐藏的对象(这是从工具栏对象的属性页来完成)。这个选项默认是关闭的,当启用这个选项后,隐藏的对象将会显示成有红色效果(而且也只能在层次窗体中才能选择这些隐藏的对象)。具体的效果如下图所示:

Object Bones(对象骨骼):对象骨骼显示在层次工具栏中对象的轴点建立的父子关系之间的连接,父节点连接着所有的子节点,其实就是我们平时接触的树。这些“骨头”只是作为一个层次结构的可视化表示。具体的说明见下图:

当在三维空间工作时使用二维正投影查看选项提供了许多好处,下面是一些原因来解释为什么有许多好处:
1. 在一个正投影视图中,所有的对象都会被笔直的显示并且保持着他们正确的角度和平行度,以减少你对它进行移动、旋转、变形等操作的机会。
2. 所有的对象,不考虑他们之间Z轴的距离(实际上,是相对的Z轴),都会显示他们实际的大小。当你经常希望能够比较事物的实际大小和正投影之间的区别时,这一点十分的重要。

当处于正投影编辑模式时,我们只能看到对象在三个轴中的其中两个轴方向的变化,或者是平面的变化。例如,如果你在使用前视正投影视图,你可以清楚地看到活跃的一个对象沿X或Y轴移动,但到Z轴的变画将不会明显。但是,如果更改发生,他们将在正投影视图关闭时立即生效。

3.3 环境(Environment)属性

在这个页面中我们可以设置场景的背景颜色和环境照明颜色。

背景颜色

设置场景的背景颜色

我们可以通过如下的步骤来改变背景颜色

1. 点击属性工具栏中的环境(Environment)页面

2. 双击环境照明颜色(Ambient Light Color)

3. 在颜色面板中选择你想要的颜色即可

环境照明颜色(Ambient Light Color)

想象一下,有一个巨大的球包围着你的场景。你选择的任何应用于这个球的颜色都被认为是环境照明颜色,并且任何在场景中的带有固体光泽的材料都会被包围一种色调。环境照明颜色简单的说就是我们生活的真实世界的照明光。在程序中,我们通常使用它来模拟真实着色效果,但对于一般的三维场景,它的能力范围是有限的。

我们可以通过如下的步骤来改变环境照明颜色

1. 点击属性工具栏中的环境(Environment)页面

2. 双击环境照明颜色(Ambient Light Color)

3. 在颜色面板中选择你想要的颜色即可

转载于:https://blog.51cto.com/alexis/574654

ZAM 3D入门教程(3):Viewport相关推荐

  1. ZAM 3D入门教程(5):Lathe编辑器

    在上一篇文章中,大致介绍了Extrusion编辑器的用法,在本篇博客中继续讲解另一个编辑器,即Lathe编辑器. 先来看一下Lathe编辑器的界面,和Extrusion编辑器很类似. 5.1 lath ...

  2. c语言3d入门教程,WebGL入门教程四:借助 ? image3D绘制三维图形入门(一个简单的例子)...

    作者:心叶 时间:2019-09-12 14:51 通过前面三篇文档的说明,大家应该基本了解了webgl的绘制方法,为了下一步更深入的学习,我们先来学习一下一个辅助库image3D,这个库主要是提供一 ...

  3. 3D脚本 maxscript入门教程(7)

    3D脚本 maxscript入门教程(7) (2013-05-23 19:59:40) 转载▼ 标签: it 分类: 脚本 --创建地面-- ground=plane length:300 width ...

  4. 3D脚本 maxscript入门教程

    入门教程内容结构 本教程内容分为五个部分,用几个具体的例子讲解大多数的脚本操作和语法知识. 一.MAXScript简介 1.说明什么是MAXScript以及它有什么功能,能给用户带来什么好处. 2.访 ...

  5. 3D MAX 入门教程内容结构

    入门教程内容结构 本教程内容分为五个部分,用几个具体的例子讲解大多数的脚本操作和语法知识. 一.MAXScript简介 1.说明什么是MAXScript以及它有什么功能,能给用户带来什么好处. 2.访 ...

  6. 3D脚本 maxscript入门教程(6)

    3D脚本 maxscript入门教程(6) (2013-05-23 19:59:32) 转载▼ 标签: 建模 maxscript 3dmax it 分类: 脚本 * 这是伏羲先天八卦,乾1兑2离3震4 ...

  7. [Away 3D] Away3D4.0入门教程(1)--这个世界的基础

    大多数Flash程序员想要接触3D项目的时候,应该都和我一样,最关心的是怎么造一座山,怎么在场景里显示流动的河水,或是怎么让模型动起来(奔跑,攻击,或是跳舞),又或是怎么才能给人物换装,怎么让人物装备 ...

  8. Visual C++/MFC入门教程

    Visual C++/MFC入门教程 VC开发指南 1.1 如何学好VC 这个问题很多朋友都问过我,当然流汗是必须的,但同时如果按照某种思路进行有计划的学习就会起到更好的效果.万事开头难,为了帮助朋友 ...

  9. 资深程序员的Metal入门教程总结

    1.Metal Metal 是一个和 OpenGL ES 类似的面向底层的图形编程接口,可以直接操作GPU:支持iOS和OS X,提供图形渲染和通用计算能力.(不支持模拟器) 图片来源 https:/ ...

最新文章

  1. 关于struts2如何去掉默认的后缀(.action)
  2. MQSeries_XA_RMI XAER_RMERR (-3)
  3. 如何在python中显示电脑中的图片-如何在python界面显示图片
  4. 【Pandas】dataframe 设置完全显示所有列
  5. c# task添加顺序_关于c#:Task和async等待所需的指导
  6. 如何查看.net framework 版本
  7. Zookeeper安装以及启动详解
  8. 华为发布智能数据解决方案FusionData,重定义数据基础设施,释放数据价值
  9. 200与mcgs485实例 smart_SMAART200与MCGS-工业支持中心-西门子中国
  10. 关关采集器如何配置代理ip【图文教程】
  11. 智头条:萤石拟科创板上市将投18.5亿建厂,Matter智能家居标准延迟至明年,涂鸦、公牛、极米等企业发布
  12. web资源优化-图片篇(一)
  13. 《Python+Kivy(App开发)从入门到实践》自学笔记:Python文件+.kv 文件实现“Hello world”
  14. 关于CRC校验的一些总结
  15. iOS 极光推送没有声音怎么办?
  16. 几何分布期望与方差推导
  17. 带通滤波器c5000汇编语言,基于SIW技术的高选择性带通滤波器的设计与实现
  18. 小黑静待身边朋友的考研佳音,明天准备面试,在白塔咖啡帐篷里的一下午的leetcode之旅:70. 爬楼梯
  19. Linux压缩包,解压缩包,vim,yum仓库,zip,用户管理
  20. 继承(extends)

热门文章

  1. 移动端功能测试需要注意的点
  2. [Leetcode]@python 68. Text Justification
  3. Web打印连续的表格,自动根据行高分页
  4. (64位oracle使用32位的PLSQL)安装64位的oracle数据库软件,使用32位的PLSQL Developer连接方法...
  5. Spring 3.2.* MVC通过Ajax获取JSON数据报406错误
  6. .NET Core微服务 权限系统+工作流(一)权限系统
  7. C# 执行查询语句,返回DataSet
  8. Python解释器有哪些?Python解释器种类
  9. Zabbix 3.2.6通过SNMP和iDRAC监控DELL服务器
  10. 第1次作业:这是我的一个响亮的标题X!