' Do you want to overwrite existing vertex colors? 1 = yes; 0 = no overwrite_VC = 1 ' #################### search for 3d objects if selection.count > 0 then for each obj in selection if typename(obj) = "X3DObject" then ' search for VC clusters 'for each cl in obj.ActivePrimitive.Geometry.VertexColors 'logmessage obj.name & " " & cl.type 'next ' #################### add VC cluster if obj has none already_has_VC_cluster = 0 if obj.ActivePrimitive.Geometry.VertexColors.count = 0 then CreateVertexColorSupport , , obj else already_has_VC_cluster = 1 end if VC_cluster_name = obj.ActivePrimitive.Geometry.VertexColors(0).name logmessage "VC cluster name: " & VC_cluster_name ' #################### add render map if there's none ' search for rendermaps rm = 0 for each p in obj.Properties if p.type = "rendermap" then logmessage "render map name: " & p.name rm = 1 ' rm_name = p.name end if next ' create render map if there's none if rm = 0 then AddProp "RenderMap", obj end if ' #################### overwrite old VC cluster if overwrite_VC = 1 or already_has_VC_cluster = 0 then ' set render map settings SetValue obj & ".RenderMap.maptype", 1 SetInstanceDataValue , obj & ".RenderMap.cav", VC_cluster_name SetValue obj & ".RenderMap.attribute", 1 ' integrate rander map into VC cluster RegenerateMaps obj & ".RenderMap" end if end if next else logmessage "no selection" end if