|  | | GMAX & Airport (SceneGenX) 2. 6. 2004 / 23:25 | |
|  | Cus,
protoze letiste (vesmes pohybove plochy) kreslim v APW resp SceneGenX a objekty v GMAXu mel jsem problem, jak v APW napojit veci k objektum, kdyz nevim, kde presne jsou.
Proto jsem si udelal GMAX script, ktery mi vygeneruje z objektu definici, ktera se da vlozit do APT souboru a v APW to potom vidim jako building.
Bohuzel free verze GMAXU neumi pracovat se soubory, takze je vystup scriptu smerovan do script listeneru. Od tamtud je to potreba zkopirovat treba do notepadu, odstranit vsechny uvozovky a tecky nahradit carkama. Pak se to vlozi do APT souboru pred "FIN".
V APT je to pred kompilaci potreba schovat (ve vlastnostech objektu dat Hidden) nebo smazat. Problem je trochu v tom, ze APW bere rozmer pouze v celych metrech, coz generuje nejakou nepresnost a nici objekty s velikosti do 1m. Je take potreba mit stejny referencni bod v APT i GMAXu - ja pouzivam ARP (v GMAXu = pocatek souradnic)
Script je odladen pouze na tom, co pouzivam, takze urcite neni chybovzdorny, takze pokud to chcete zkusit, tak zalohovat, zalohovat...
Tady je ten script, pokud se bude nekomu hodit :
for o in objects do
(
rr=o.rotation.z_rotation
rotate o -rr z_axis
length = (o.max.y - o.min.y) as string
width = (o.max.x - o.min.x) as string
height = (o.max.z - o.min.z) as string
px=(o.center[1]) as string
py=(o.center[2]) as string
pz=(o.center[3]) as string
rotate o rr z_axis
print ("BUILDING GMAX_" + o.name)
print "-ACTIVE = True"
print "-DISPLAY = 5 255 255"
print ("-POSX = "+px)
print ("-POSY = "+py)
print ("-LONGUEUR = " + length)
print ("-LARGEUR = " + width)
print "-HAUTEUR = 5"
print "-TYPE = 00000"
print ("-ORIENTATION = " + rr as string)
print "-PITCH = 0"
print "-BANK = 0"
print ("-ORIENTATION = " + rr as string)
print "-ALTITUDE = 0 M AGL"
print "-DETAIL = 1"
print ("-COMMENT = GMAX_" + o.name + "_Material:" + o.material as string )
print "-ADVTYPE = 0"
print "-ROOFTYPE = 0"
print "-ADVLEVEL1 = 10 0 256 256 256"
print "-ADVLEVEL2 = 10 0 256 256 256"
print "-ADVLEVEL3 = 10 0 256 256 256"
print "-ADVROOF = 10 0 256 256 256"
print "-ADVOTHER = 0 0 0"
Print ""
)
Radek |
| |
|