您可以通過使用PROTO機制實現你想要的。從
PROTO SmallSphere [
exposedField SFVec3f SmallSphere_translation 0 0 0
]
{
Transform {
translation IS SmallSphere_translation
children [
Shape {
appearance Appearance { material Material {} }
geometry Sphere { radius 1 }
}
]
}
上面的代碼基本上創建了一個PROTO(如在面向對象編程一類的東西)的變換,其中翻譯是可變的。然後,你必須按照以下步驟創建它的實例:
SmallSphere { SmallSphere_translation 96.0 85.0 76.0 }
SmallSphere { SmallSphere_translation 3.0 8.0 6.0 }
SmallSphere { SmallSphere_translation 936.0 385.0 746.0 }
...儘可能多的,只要你想,當翻譯,你從一個實例更改爲另一個參數。如果你需要一些其他領域與實例來改變你只需要按照上面的例子。例如你想要的球的半徑是可變的,你就必須創建PROTO如下:
PROTO SmallSphere [
exposedField SFVec3f SmallSphere_translation 0 0 0
exposedField SFFloat SmallSphere_radius 2.0
]
{
Transform {
translation IS SmallSphere_translation
children [
Shape {
appearance Appearance { material Material {} }
geometry Sphere { radius IS SmallSpehere_radius }
}
]
}
請注意:SmallSphere_translation和SmallSphere_radius是由我選擇的名稱。您可以根據需要命名這些字段。
來源
2017-09-11 22:17:54
CpS