动画不同类型的属性
A-Frame 的动画系统可以为不同类型的属性设置动画。
vec3 属性
A-Frame 具有标准的 vec3
组件(即 position
,rotation
和 scale
)。这些组件由三个因素组成:X,Y 和 Z.我们可以将三个以空格分隔的数字传递给 from
和 to
属性,就像我们在实体上定义它们一样。在这种情况下,动画系统将假设我们正在为 vec3
值设置动画。
例如,如果我们想要为从一个点到另一个点的实体设置动画,我们可以为 position
组件设置动画。
<a-entity>
<a-animation attribute="position" from="1 1 1" to="2 4 -8"></a-animation>
</a-entity>
布尔属性
A-Frame 具有接受单个布尔值的标准组件。布尔值也可以通过在每个动画周期结束时翻转布尔值来动画化。
例如,我们可以定义一个动画,在 5 秒后切换实体的可见性。
<a-entity>
<a-animation attribute="visible" dur="5000" to="false" repeat="indefinite"></a-animation>
</a-entity>
数字属性
我们也可以为数字属性设置动画。例如,我们可以设置光基元的强度动画。
<a-light intensity="1">
<a-animation attribute="intensity" to="3"></a-animation>
</a-light>
颜色属性
我们可以为任何具有颜色类型的组件属性设置动画。例如,我们可以将一个框从白色设置为红色。
<a-entity id="blushing-cube" geometry="primitive: box">
<a-animation attribute="material.color" from="white" to="red" dur="1000"></a-animation>
</a-entity>
组件属性
我们可以为多属性组件的某个属性设置动画。为此,我们使用点语法选择组件属性:componentName.propertyName
。
例如,要为圆锥的顶部半径设置动画,我们可以使用 geometry.radiusTop
选择 radiusTop
值。
<a-entity geometry="primitive: cone; radiusTop: 1">
<a-animation attribute="geometry.radiusTop" to="0.5"></a-animation>
</a-entity>