set 操作

语法

  • set(attribute, value)

参数

  1. attribute - selector
    要设置的形状属性的名称。
  2. value - (bool、float、string、bool[]、float[]、string[] - 与属性类型相同)
    要分配给形状属性的值。
    注:

    并非所有形状属性均可写入。

描述

set 操作用于将值分配给当前形状的形状属性。 共有两种类型的形状属性:内置属性,例如 material.colorscope.tx;以及通用属性,声明为规则属性(请参阅 CGA 属性)。

相关内容

示例

内置形状属性

启用水平修剪平面

set(trim.horizontal, true)

设置范围 0 的 x 平移

set(scope.tx, 0)

将材料颜色的红色组件设置为 0.5

set(material.color.r, 0.5)

将内置测试纹理分配给色彩映射表通道

set(material.colormap, "builtin:uvtest.png")

通用形状属性

在通用属性 floorHeight 中存储楼层索引。 然后使用属性将所有第 3 层窗户的颜色变为粉色。

attr floorNumber = -1

const floorHeight = 4

Init -->    extrude(30)
            comp(f)  { side : Side }
   
Side -->    split(y) { ~floorHeight : Floor }*
   
Floor -->   set(floorNumber, split.index)
            split(x) { ~1   : Wall 
                     | {~3  : Tile }* 
                     | ~1   : Wall } 
Tile -->    split(x) { 0.5  : Wall 
                     | ~1   : MidTile 
                     | 0.5  : Wall }
MidTile --> split(y) { 0.5  : Wall 
                     | ~1   : Window 
                     | 0.5  : Wall }
			
Window -->  case floorNumber % 3 == 0 :
                color(1.0, 0.0, 1.0) X.
            else : X.
使用