[MaxScript] Ziel-Kameras in FOR-Schleife rendern klappt nicht richtig

maddineytsch

Mitglied
Hallo,

eigentlich gehört das Thema eher in die Programmingecke, aber vielleicht wird mir hier auch geholfen.
Ich habe folgendes Problem:

Ich möchte von beliebig vielen Ziel-Kameras in einer Szene rendern lassen, dh. ich bekomme N Bilder bei N Kameras.
Das Teil des Skriptes sieht folgendermaßen aus:

button buttonrender "Render all Positions" pos: [200,250] width:120 height:20
on btnallrnd pressed do
(
for c in cameras do
( viewport.setCamera c
render c outputwidth:320 outputheight:240 outputFile: (c.name + ".bmp")
)
)

Das klappt auch wunderbar bei freien Kameras, allerdings nicht bei Zielkameras, da Max die Zielpunkte der Zielkameras auch als seperate Kamera interpretiert und somit bei drei Kameras nicht drei Bilder entstehen, sondern 6. Die drei Zielbilder sind jeweils identisch zu den Kamerabildern.

Ist also doppelter (sinnloser) Rechenaufwand. Wie krieg ich das behoben?
Über Lösungsvorschläge würde ich mich sehr freuen.

Mfg,
Martin
 
Eigentlich verrät Dir das schon die MaxScrip-Hilfe:
Since a taget object will be returned as part of the Lights or Cameras collections, it is important to filter the TargetObject out before performing any Light or Camera-specific operations!

Die Target-Objekte gehören zur GeometryClass., also einfach noch eine Bedingung einbauen:
Code:
for c in cameras where superclassof c != GeometryClass do
 
Zurück