3D形状

227次阅读
没有评论

共计 2465 个字符,预计需要花费 7 分钟才能阅读完成。

3D 形状对象

3D 形状对象可以将基本的 3D 元素添加到你的项目中,例如一个 3D 盒子。可以为形状的每一个面绘制六张图像。

尝试使用 3D 形状示例来视觉展示 3D 形状对象可以做什么。起始页面在 3D 标签下有许多其他示例。

你可以在教程《在 Construct 中使用 3D》中了解更多关于 3D 形状以及它如何与其他 3D 特性一起工作的信息。

脚本编写

使用 JavaScript 或 TypeScript 编码时,可以通过 I3DShapeInstance 脚本接口访问此对象的功能。

尺寸和 Z 轴位置

Construct 的常规 2D 编辑特性涵盖了 X 和 Y 坐标以及尺寸。要调整 Z 轴上的位置,请更改 Z 高度属性(这是用于移动其他 2D 对象(如 Sprite)在 Z 轴上上下移动的相同属性)。要调整形状的高度(即其深度),请更改 3D 形状对象的 Z 高度属性。

透明度

由于 3D 渲染的工作方式,3D 形状对象中的透明度可能不会按预期工作。为了正确渲染 3D 特性,Construct 必须使用深度缓冲区,但这仅完全支持不透明的表面。因此,3D 形状对象最适合使用不透明的图像。

使个别面不可见按预期工作,因为这意味着该面完全跳过绘制,而不是绘制假设为不透明的内容。

有关更多信息,请参阅教程《在 Construct 中使用 3D 特性》中的透明度部分。

3D 形状属性

图像
点击“编辑”链接以编辑对象用于面部图像的六张图像,每个面一张。并非所有形状都使用全部六张图像。某些图像也可能根据其出现的面的形状被裁剪。例如,棱柱形状的端面是三角形的,因此这些端的图像被裁剪以仅显示图像的三角形部分。
形状
从几个预定义的形状中选择对象将使用的形状。并非所有形状都使用全部六张图像,因为有些面少于六个。可用的形状包括:

  • 盒子:六面的立方体或长方体形状。
  • 棱柱:五面的棱柱形状,像帐篷。不使用前面。
  • 楔形:像立方体对角线切割成的一半一样的五面形状,向右上方倾斜。不使用前面。
  • 金字塔:底面为正方形的五面金字塔,金字塔的顶点位于底部的中心。不使用前面。
  • 角落(外):类似于金字塔的五面形状,顶点与右上角落对齐。不使用前面。这个名字来源于这个形状可以在外部角落处连接 Wedge 形状的行。
  • 角落(内):类似于盒子的六面形状,其中前面和后面在左下方连接。前面被使用,但在图像的左下半部分向下倾斜。这个名字来源于这个形状可以在内部角落处连接 Wedge 形状的行。
    Z 高度
    设置形状在 Z 轴上的高度,即其深度。注意这必须是正数。如果你希望显示对象更低,请更改其 Z 高度。
    初始可见性
    设置对象在布局开始时是显示(可见)还是隐藏(不可见)。
    面可见性(后 / 前 / 左 / 右 / 上 / 下)
    设置形状的六个面是否最初可见。
    默认情况下,背面是隐藏的,因为通常它无法被看到,因此最好跳过绘制。如果你使另一个面不可见,你可能希望再次使背面可见。
    使用对象图像作为面(后 / 前 / 左 / 右 / 上 / 下)
    可以选择一个 Sprite、Tiled Background 或 9 -Patch 对象来代替 3D 形状自己的面图像显示给定形状的一个面。必须在相同的布局中放置该对象的实例才能使其工作。这个实例的属性也可以用于控制 3D 形状上的外观。这使得可以使用动画面图像(通过 Sprite)、或用于面图像的瓦片 / 重复图像的变种(通过 Tiled Background 和 9 -Patch)。
    Z 平铺因子
    默认情况下,相机出现在 Z =100 并向下看至 Z =0,意味着相机通常比布局高 100 单位。但是,当使用平铺图像作为 3D 形状面的图像时,如 Tiled Background 或 9 -Patch,这可能导致意外的平铺结果。例如,Z 高度为 25 的 3D 形状将显示平铺背景,就好像它是 25 像素高,这对于显示的对象大小可能太小。Z 平铺因子是用于平铺图像时的 Z 高度的倍数。例如,默认值为 8 意味着 Z 高度为 25 实际上会像 200 像素高一样平铺,这通常会得到更好的平铺结果。

    3D 形状条件

    有关与其他对象通用的条件,请参阅通用条件。

比较形状
比较当前使用的形状。这可以通过设置形状操作来改变。
比较 Z 高度
比较形状的当前 Z 高度(即深度)。
检查面是否可见
检查形状的六个面之一当前是否设置为可见。注意,这只检查当前是否启用了可见性,无论是在对象的属性中还是通过设置面可见操作 – 它并不测试面是否真的在屏幕上显示。

3D 形状操作

有关与其他对象通用的操作,请参阅通用操作。

设置面图像
将形状的一个面更改为使用其他面图像之一。例如,这允许将前面的图像替换为后面的图像。要恢复原始图像,请使用相同的面作为两个参数,例如将后面的图像设置为后面的图像。
这也撤销了设置面对象,恢复了 3D 形状自己的面图像,而不是另一个对象的图像。
设置面对象
将形状的一个面使用的图像替换为 Sprite、Tiled Background 或 9 -Patch 对象使用的图像。当前布局上必须存在给定对象的实例。有关更多信息,请参阅使用对象图像作为面的属性。
这个操作可以通过设置面图像来撤销。
设置面可见
启用或禁用形状的一个面的可见性。有关更多信息,请参阅面可见性属性。
设置形状
更改对象当前使用的形状。有关更多信息,请参阅形状属性。
设置 Z 高度
更改 3D 形状的 Z 高度,即深度。这必须大于或等于 0。有关更多信息,请参阅 Z 高度属性。
设置 Z 平铺因子
更改沿对象的 Z 高度平铺图像时使用的倍数。有关更多信息,请参阅 Z 平铺因子属性。

3D 形状表达式

对于其他对象共有的表达式,请参见通用表达式。

FaceImagePointCount(Face)
FaceImagePointX(Face, ImagePoint)
FaceImagePointY(Face, ImagePoint)
FaceImagePointZ(Face, ImagePoint)
检索 3D 形状的任何面上图像点的 3D 位置。面是基于 0 的索引,如图像编辑器中所示:
0: 背面
1: 前面
2: 左侧
3: 右侧
4: 顶部
5: 底部
图像点由图像点的名称或编号指定。使用数字时,请注意,与其他图像点表达式一样,第一个图像点的编号为 1,因为 0 表示原点。
ZHeight
ZTilingFactor
返回当前的 Z 高度和 Z 平铺因子属性。有关更多信息,请参阅上述相应属性的文档。

正文完
 0
评论(没有评论)