分享

ZAM 3D入门教程(1):初识ZAM 3D

 xyjackxjw 2013-05-26

ZAM 3D入门教程(1):初识ZAM 3D

 Electric Rain ZAM 3D是一个功能齐全的3D建模软件,可轻松创建,定制和动画基于Windows Vista 应用的3D界面要素. 用于快速创建3D网格,并让3D网格动起来。Electric Rain ZAM 3D自动生成XAML(扩展应用程序标记语言)标记可以方便的拷贝至Visual Studio或者Expression Blend中。

官方网址是:http://www./products/zam3d/DefaultPDC.asp目前的版本是1.0

 

先来看下安装后的界面:如下图,

 

 

下面以一个3D的Hello World实例来演示如何使用zam 3d进行3d开发。

假设你已经安装好了Electric Rain ZAM 3D

1.启动程序,打开场景编辑器选项卡片(默认卡片即场景编辑器)

2. 点击工具栏的文本工具,修改文本为Hello World,如下图

 

3. 修改后的图片如下:字体为Old English Text MT

 

4. 下面开始录制动画,点击Animating图标

 

5. 点击后发现Animating图标的背景色变红了,表示在录制动画的状态,而且上方的时间帧也处于可拖动状态,如下图

 

6. 选择3D动画的效果,

 

7. 拖动选中的动画效果至Hello World文本处

 

8. 此时会发现,时间轴默认跳到2秒处,这是这个预定义动画的执行时间,我们可以自己调整,如我们想要动画执行的慢一点,我们可以将这个时间拖长一点,,而且此时的播放键已经可以点,我们可以点此来预览动画

 

9. 此时,我们可以将这个动画导入到我们的WPF或者Silverlight项目中,这个我是导入至Expression Blend中的,我们可以使用菜单栏—>编辑—>Copy XAML将xaml代码拷贝出来,或者使用菜单栏-->文件—>Export Scene to XAML直接导出为XAML文件

 

10. 这里我们选择导出为xaml文件,可以选择保存路径,默认路径为安装路径下的ZAM 3D\Version 1.00\Files中

11. 打开Expression Blend,创建项目,直接复制XAML文件至项目下,修改启动窗体

 

12.最终的运行效果如下:

 

 

小结:我们发现我们可以使用ZAM 3D十分方便的创建出适合WPF和Silverlight的3D效果

 

ZAM 3D入门教程(2):场景编辑器

  场景编辑器是我们在使用ZAM 3D是最常用的编辑器,我们可以将各种各样的模型在一个编辑器中编辑。在上篇文章中,我们大致介绍了场景编辑器中的一些图标、按钮的功能。下面的图片显示了场景编辑器的主要区域和介绍:

属性工具栏

属性工具栏看上去就像一个大的集合,我们在属性面板中可以设置对象的属性,如设置文本对象的文本、字体等。

视口工具栏(Viewports)

你要创建的三维场景的窗口 ,我们放置对象的地方。如,我们将一个文本对象放置到视口中,然后对文本对象进行动画,如在上一篇文章中的Demo一样。

主工具栏

主工具栏包含一系列的按钮,让你插入对象,创建灯光和照相机,操纵各种场景的其他部分。

快捷图标按钮

这些按钮可以让我们快速打开文件、创建一个新的文件和保存当前项目。

创建对象按钮

这些按钮允许我们在场景中创建文本和简单的对象()。使用他们十分方便,点击一下就会替代你在X,Y和Z轴线的交点您所选择的对象。所有的这些对象当被用到场景中会保持他们默认的样式。

创建灯光按钮

这四个按钮允许我们创建在场景中被操纵的灯光。

创建照相机按钮

我们可以创建两种不同的照相机:Free Camera(自由照相机)和Target Camera(目标照相机)。这些照相机是唯一的,他们可以在场景中被直接操作并且支持动画。

将文本转化为路径

这个按钮可以将你选择的文本转换为一系列的路径,我们可以在Extrusion Editor中编辑这些路径。

Frame所有对象

这个按钮允许我们快速重新定位场景中的所有对象到照相机

放大按钮

这个按钮允许我们将选选定的对象放大

撤销/恢复按钮

撤销上一步的操作或者恢复撤销的步骤

动画工具栏

动画工具栏被用来使我们的场景变得生动(只有当我们点了动画按钮后)。每当你的场景随时间的变化,动画工具栏都会做出相应的改变。它可以用来作为使用拖和拖放动画的参考,或者作为一个强大的关键帧动画工具,就像Adobe Flash一样。

旋转轨迹球工具栏

在场景编辑器的左下角有两个球形的工具栏,你可能重来没有使用过这样的工具栏。我们叫他们“水晶轨迹球”,使用他们十分简单方便。我们使用鼠标拖动他们就感觉像是在旋转水晶球一样,并且对象在视口窗体中也会发生相应的变化。

旋转轨迹球被设计用来让我调整在场景中对象的定位。一旦我们在视口窗体中选择了什么对象,则旋转轨迹球中就会出现什么对象,然后我们就可以旋转这个对象,这同样适用于多个对象。

下边的一张图解释了旋转轨迹球左侧按钮的用途

灯光轨迹球工具栏

灯光轨迹球可以让你控制照亮你场景的灯光的放置、位置和类型。

画廊工具栏(Gallery ToolBar)

各种各样预定义对象的集合,有材料、动画、灯光场景、模型库和斜角类型。我们也可以自己创建自己的对象,在对应的库中右击鼠标即可,然后就会弹出相应的对话框,这里就不再描述了
ZAM 3D入门教程(3):Viewport

在上一篇文中介绍了场景编辑器中的一些按钮的用法,其中视口(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(对象骨骼):对象骨骼显示在层次工具栏中对象的轴点建立的父子关系之间的连接,父节点连接着所有的子节点,其实就是我们平时接触的树。这些“骨头”只是作为一个层次结构的可视化表示。具体的说明见下图:

Pivot Point(支点):此选项允许您关闭所有对象轴点在视窗显示。

Hidden-Locked Object Stipple(隐藏锁定对象的点画:当这个选项被启用,隐藏对象都会以一个红色的点画效果来显示,而锁定的对象则是一个蓝色的点画效果来显示。请注意,你还必须勾选显示--->隐藏对象,以查看隐藏的对象。

3.2.3 Orthographic View(正投影视图)
场景编辑器中的任何Viewport都可以切换到正投影视图。当处于正投影编辑模式时,Viewport中的按钮就会变成绿色以显示正投影视图正在使用中。如下图:

当在三维空间工作时使用二维正投影查看选项提供了许多好处,下面是一些原因来解释为什么有许多好处:
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. 在颜色面板中选择你想要的颜色即可
ZAM 3D入门教程(4):Extrusion编辑器

在前面的两篇文章中我们主要讲解了Zam 3D中的场景编辑器,接下来我们来看一下另一个主要的编辑器:Extrusion编辑器

下面先来看下Extrusion编辑器的主要界面以及相关解释


4.1 工具栏

钢笔工具:使用方法同Expression Blend中的钢笔工具

选择工具:选择要操作的对象

角点工具:通过此工具可以移动图形的点

曲点工具:通过此工具可以将路径弯曲

切点工具:通过此工具处理点的切线

4.2 模型库

在Zam 3D界面的右下角,有许多库文件,我们可以选择库文件,直接拖至场景编辑器中

如,我们选择一个名为Cactus的模型,拖到Viewport中,如下图:

切换到Extrusion编辑器中,如下图,在Extrusion编辑器,我们可以拖到点,弯曲点来编辑这个模型

4.3 点属性面板

当我们选择某个具体的点后,点属性面板才会被启用,如下图:

类型:即选中点的类型,弯曲的点,角点还是切点

位置:即设置点的具体位置,分为X轴和Y轴

键盘递增值:即我们使用键盘方向键进行微调时的增值大小

4.4 编辑路径

当我们鼠标移至点附近时,会发现有如下的鼠标指示箭头

我们在初中的时候就知道两点确定一条直线 ,其实两点确定的不只是一条直线,还有曲线等。不论这些,反正我们知道了线是由点构成的,我们在操作点的同时也改变了线的样子。

通过对点的操作我们可以弯曲路径、旋转路径、移动路径等。

同样我们也可以复制路径,选择要复制的路径,双击要复制的路径,按快捷键Ctrl+C即可。

4.5 处理复杂的图形

Zam 3D的Extrusion 编辑器默认带了几个图形,我们只有双击就能将其添加到extrusion编辑器中

接下来我们就可以编辑这些默认的图形来做我们想要的图形

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

在上一篇文章中,大致介绍了Extrusion编辑器的用法,在本篇博客中继续讲解另一个编辑器,即Lathe编辑器。

先来看一下Lathe编辑器的界面,和Extrusion编辑器很类似。

5.1 lathe Editor

Lathe:车床的意思,那么什么是Lathe编辑器呢?

其英文解释是这样的:

The lathe editor is a special function in Zam 3D that lets you draw a curve or a shape of some sort. Then, once in the scene editor, your curve/shape is rotated and duplicated in a circle as many times as it needs to until it meets again.

翻译一下:lathe 编辑器在Zam 3D中是一个允许你绘制曲线或者其他图形的特殊功能。然后,你一旦转换到场景编辑器中,你的曲线或者图形将会被旋转复制直到满足要求位置。

我们在lathe中绘制这样一个曲线,来看一下具体的效果:

我们在lathe 编辑器中绘制如下的曲线,注意要沿着绿线,即y轴

则,我们到场景编辑器中就看见这样的效果,很是神奇。

5.2 lathe 属性面板

在场景编辑器中,我们选中刚刚Zam 3D自动绘制的图形,则属性面板会自动选择为lathe,如下图

扫描角度(Sweep Angle):调整扫描的角度,默认是360,即一圈全扫了,我们将其改变为150,并在旋转轨迹球旋转角度,会发现上面完整的图形被切割了,如下图

实际上是,在扫描绘制的时候就绘制了150度的角度

分割半径:我们来看一下两张对比图,就知道这个是什么意思了

将半径调小

还有一个辐射状是否平滑的勾选框

5.3 从模型库中选择lathe

我们可以在场景编辑器中选择自带的lathe进行编辑,自带的lathe还是蛮漂亮的,如下图

ZAM 3D入门教程(6):导入AI和EPS格式的文件

在Zam 3D中我们可以导入.ai和.eps格式的文件(当然还有.dxf和.dxb格式的文件,这个下一篇博客中介绍)。

先来简单介绍这两种个格式的文件

AI格式

AI格式文件是一种矢量图形文件,适用于Adobe公司的Illustrator软件的输出格式,与PSD格式文件相同,AI文件也是一种分层文件,用户可以对图形内所存在的层进行操作,所不同的是AI格式文件是基于矢量输出,可在任何尺寸大小下按最高分辨率输出,而PSD文件是基于位图输出。

EPS(Encapsulated PostScript)格式

EPS文件是目前桌面印前系统普遍使用的通用交换格式当中的一种综合格式。就目前的印刷行业来说,使用这种格式生成的文件,那到哪里都不会出什么问题,大部分专业软件都会处理它。EPS文件可以应用于Pagemaker软件的排版、设计。EPS文件,它是一种很好的文件格式,应用它可以给我们进行文件交换带来很大的方便。

导入的AI和EPS文件的材料

当我们将AI或EPS文件导进来的时候,Zam 3D会做相应的运算将导入的材料转换为Zam 3D所能接受的材料,这里面就会有色调的丢失。

这里有一些AI和EPS的免费素材下载网站,还是很不错的 http:///vectors/

下面以一个具体的Demo来演示下导入功能

1. 打开Zam 3D,选择文件-->导入..,弹出导入对话框,默认的路径是安装路径下的Files文件夹,如下图,

2. 选择pioneer_logo.eps ,导入Zam 3D,导入后如下图

3. 在层次视图中,我们可以看到刚刚导入的eps文件是有一系列Extrusion构成的,我们选中一个Extrusion进行编辑,直接在层次视图中选择Extrusion即可,如下图:

4. 切换到Extrusion编辑器中,如下图

5. 随意编辑该Extrusion,像我就随意拖动了几个点:(Tips,按Ctrl+A会将所有的锚点显示出来)

6. 下面我们来制作一个简单的动画,就是这个logo的每个字母依次跳动 ,我们可以在Zam 3D中录制,然后直接copy至Blend中,这里推荐一个不错的XAML代码效果预览的工具,其实相当于以前的XAMLPAd,Kaxaml ,网站:http:///

这里我选择在Blend中制作动画

7. 直接使用Edit-->Copy XAML ,创建一个新的WPF应用程序,命名为Zam3D-2,切换到XAML代码模式,粘贴,切换至设计,可以看到如下的画面

8. 这里为了简单起见,我们只使其中的前两个字母动起来,将对象和时间线面板的ZAM3DViewbox展开,找到Extrusion03OR32GR33节点,可以看到美化板中也选中了相应的Extrusion。


9. 同时,我们可以看到有类似坐标轴的图片,通过它我们可以拖动、转动Extrusion。

10. 对于第一个字母,在时刻0.5秒我们将其分离,在时刻1.0时我们将其复原,如下图

11. 最后的时间线上的关键帧如下图:

12. 运行程序,可以看到最终的效果如下:

大家可以做更复杂的效果,以及动画触发的事件也不是onload,比如鼠标点击、拖动事件等,这里就不说明了

随笔- 165 文章- 0 评论- 2319

ZAM 3D入门教程(8):Zam3D中的材质

概述

在Zam 3D是世界里,我们使用材质来描述颜色。不同于二维世界中的矢量图形,在Zam 3D中,我们可以使用灯光、是否平滑等来控制我们的对象的表面。

WPF材质限制

1. 在WPF中,所有的3D材质都是以笔刷的形式实现的。Zam 3D

2. 尽管微软支持模糊(Diffuse)材质、放射(Emissive)材质和漫反射(Sepcalar)材质。但是在目前的Zam 3D版本中只支持模糊(Diffuse)材质和漫反射材质。

3. 位图纹理。在拷贝Zam 3D代码的时候,位图等是不会被拷贝的

材质库

在场景编辑器和高级模型的面板中,我们可以看到在右下角有如上图的库。第一个选项就是材质库,包含了位图材质、平滑材质、带光泽材质以及纹理材质。

应用材质

应用材质十分的简单,选择ViewPort中的对象,然后选择你想要应用的材质,将其拖到对象中即可。

材质属性页

材质的属性面板也十分简单,有二个选择项,一个是应用材质的表面,还有一个是用于编辑材质的弹出窗体

编辑材质

双击上图属性面板中的的图片 就能打开编辑材质的窗体,如下图所示。

编辑界面非常的简单。下面着重来将以下Color和Texture这两个。

Color是描述这个材质的颜色,它有一个模式来定义这个color

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多