CityEngine中的 Annotation 可以给规则和属性添加额外的信息,Annotation不会影响到规则本身的语法以及模型的产生,它主要影响的是用户界面的显示,例如:在Inspector 上,如何显示属性和规则。

@StartRule:

在起始规则选择器中标记起始规则,通常会变成粗体。

1
2
@StartRule
Start-->NIL

@Hidden:

标记一个属性或者规则隐藏,在 Inspector 中或者起始规则选择器中不显示。

1
2
@Hidden
attr hide_me = 0

@Group(“level_1-group”, …, “level_n-group”):

设置属性的在 Inspector 中的分组显示。

1
2
@Group("First", "Second")
attr grouped = 0

@Range(min, max):

设置某个属性的最大、最小值,控制属性的范围。

1
2
@Range(5, 50)
attr height = 20

@Range(item_1 = value, …, item_n = value):

设置某个属性的指定选择项,值可以是数值型或者文本型。

1
2
3
4
@Range(Low=0, Mid=1, High=2)
attr lod = 0
@Range(Red="#ff0000", Green="#00ff00", Blue="#0000ff")
attr color = "#000000"

@Color:

在 Inspector 中显示某个色彩属性使用色彩选择器。

1
2
@Color
attr userColor = "#000000"

@File:

将某个属性标记为一个文件名,在 Inspector 中以文件选择器显示。

1
2
@File
attr asset = "myfile.obj"

@File(“ext_1”, … , “ext_n”):

将某个属性标记为一个文件名,在 Inspector 中以文件选择器显示,规定指定的扩展名(“ext_1”, … , “ext_n”)。

1
2
@File("tif", "tiff")
attr texture = "tex0.tiff"

@Directory:

将一个属性标记为路径名,在 inspector 中,会显示路径选择器。

1
2
@Directory
attr assets = "/assets/lod" + lod

@Location(x, y):

为可视化 CGA 编辑器设置某个属性或者规则 2D 位置。

1
2
@Location(0, 0)
Init-->NIL

@Order(order):

设置在 Inspector 中属性的显示顺序。

1
2
3
4
5
6
@Order(1)
attr i_m_1st = 0
@Order(2)
attr i_m_2nd = 0
@Order(3)
attr i_m_3rd = 0

@Description(“description”):

为某个属性或者规则添加描述,这些描述会在 Inspector 中产生工具提示,或者在起始规则选择器中,或者样式管理器中作为描述显示。

1
2
@Description("The building width")
attr width = 40