UDN
Search public documentation:

InstancedMaterials_TimeVaryingCH
English Translation
日本語訳
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 主页 > 材质 & 贴图 > 实例化随时间变化的材质
UE3主页 > 粒子 & 特效 >Decals(贴花) > 实例化随时间变化的材质

实例化随时间变化的材质


概述


随时间变化的材质实例是UE3中的另一种类型的实例化材质。它的主要目的是使得内容团队对材质随着时间如何改变有更多的控制。通常,为了获得随着时间变化的材质,您必须使用代码驱动我们想避免的参数。

使用它们使贴花淡出而不是发生突变现象,这是进行额外润色的很好的方法。

制作 MITV


您将需要设置您的 BaseMaterial,使用您希望可以随时间变化的参数。如果您希望随着时间出现淡出效果,那么您将需要使用一些参数,可以使用 FadeVal;当它为 0 时,材质不会淡化,当它为 1 时,会将它将完全淡出)

要制作一个实际的 MITV,您需要按照制作 MIC 时采用的步骤进行操作。具体地说,右击一个材质,然后选择: “创建新的随时间变化的材质实例 (Create New Material Instance Time Varying)”

MITV 部件以及用途

只要您有一个 MITV,您就会有一些可以填写的参数,以便使MITV 可以随时间进行变化。

bLoop: 如果为 true,那么 CycleTime 为循环时间和时间循环

bAutoActivate: 它将会自动激活这个参数

CycleTime: 它可以控制时间规范化和循环时间

bNormalizeTime: 如果为 true,那么使用 CycleTime 调整时间,使所有关键帧在 0 和 1 之间。

OffsetTime: 在实际启动之前,它将要等待的时间。它用于使曲线保持为只可以控制参数的数据,而不是开头的一堆闲置空间(例如,等待 N 秒,然后开始淡化)

bOffsetFromEnd: 如果使用的是 OffsetTime,那么最好是从贴花生命周期结束的时候开始偏移(例如,您想要淡出这个贴花,那么您需要在它彻底淡出之前更改贴花的颜色等等)

various curve data: 这是将会进行计算的数据,然后会将参数设置为这个值。所以,就像虚幻引擎 3 中的其他曲线一样,会将一个值(在这个实例时间中)传递到曲线中。这条曲线可以计算这个 InVal,然后将这个参数设置为计算后的值。

示例


MITV 示例

MITV.jpg

这个 MITV 具有两个可以进行淡化的参数。一个是 Fade_Out,一个是 Glow。

Glow 是一个恰好在将这个材质放置在世界中时开始启用的参数,在这个曲线中,我们可以看到从 1 到 0 大约需要 .4 秒的时间。这个发光效果可以散发光,然后慢慢淡化直到消失为止。

Fade_Out 参数有 bOffsetFromEnd。这意味着这个曲线从结束的时候开始启用 OffsetTime(在这种情况下,为 3 秒)。 因此,如果这个材质是通过代码生成的,而且对它可以延续的时间有所限制,那么这个 Fade_Out 指的是: 从结束到开始 淡出 (Fading Out) 需要 3 秒钟,在 3 秒钟时间内将 Fade_Out 参数从 0 变化为 1。

写给程序员


在脚本中使用 MITV

使用 MITV 的方法与使用 MIC 非常相近。唯一不同的是您需要将 Duration 设置为与 MITV 的长度相近的时间,这样所有正确的 TimeVarying 才会出现。

下面是一个生成的 MITV 的示例,其中 "SetDuration" 调用可以设置持续时间并“启动”MITV。

      MITV_Decal = new(self) class'MaterialInstanceTimeVarying';
      MITV_Decal.SetParent( Source.DecalMaterial );
      MITV_Decal.SetDuration( DecalLifeSpan );
      SetDecalMaterial(MITV_Decal);