Vorheriges Thema anzeigen: Nächstes Thema anzeigen: |
 Verfasst am: Do Aug 26, 2004 20:11 Titel: Interaktiver Farbraum
| Autor |
Nachricht |
pia
Anmeldedatum: 26.08.2004 Beiträge: 3
|
Verfasst am: Do Aug 26, 2004 20:11 Titel: Interaktiver Farbraum |
|
|
Hallo ihr da draußen.
Ich habe folgendes Problem und hoffe, ihr könnt mir helfen.
Ich möchte für die Uni einen RGB-Farbraum bauen (das ist ein Würfel, in dem alle - durch additive Mischung von Rot, Grün und Blau - darstellbaren Farben angeordnet sind), den der User später in alle Richtungen drehen können soll.
Außerdem soll es die Möglichkeit geben, dass durch Klicken auf die Würfelseiten die Schnittebene durch den Würfel an dieser Stelle sichtbar wird (die einzelnen Schnittebenen bestehen aus Farbverläufen);
z.B. soll der Würfel dann aufklappen und die Sicht auf die jeweilige Ebene freigeben. Dabei ist es völlig o.k., wenn man pro Seite nur 5 Schnitte nacheinander anwählen kann. Man könnte sich dann insgesamt 15 Schnittebenen des Würfels betrachten.
Bisher habe ich in 3dsMax einen Würfel aus 6 mal 6 mal 6 = 216 kleinen einzelnen Würfeln gebaut, um später die Schnitte animieren zu können.
Anschließend habe ich alle 15 Schnittebenen plus die 6 Außenseiten des Würfels als JPGs angelegt.
Danach probierte ich, mit zwei verschiedenen Vorgehensweisen weiterzuarbeiten:
Bei einer Vorgehensweise braucht mein Rechner unglaublich viel Arbeitsspeicher (1gb ddr vorhanden):
Ich habe jede der erstellten 15 Schnittebenen plus die 6 Außenseiten in 6 mal 6 kleine Flächen zerschnitten, so dass jedem der 216 kleinen Würfeln seine eigenen 6 Seiten zugewiesen werden können.
Für jeden der 216 kleinen Würfel erstellte ich ein Multi-Sub-Object, das über die Sub-Materials jedem Würfel seine entsprechenden 6 Bitmaps zuweist. Jedes der 6 Bitmaps pro Würfel ist 10 KB groß. Um diese fertige Würfeldatei laden zu können braucht mein Rechner nun fast 750 MB Arbeitsspeicher, was einfach zu viel ist.
Das liegt sicher daran, dass ich 216 Materialien laden muss, und nicht so sehr daran, dass jedes Material aus 6 Bitmaps mit 10 KB besteht, oder?
=> Gibt es irgend eine Möglichkeit, diesen Würfel mit einem geringeren Arbeitsspeicher-Verbrauch zu bauen?
Bei einer recht schnellen Vorgehensweise, die ich ausprobiert habe, bin ich leider nicht sehr weit gekommen:
Bei dem Würfel aus 6 mal 6 mal 6 kleinen Würfeln habe ich zunächst um alle Scheiben, die entstehen, wenn man den Würfel von links nach rechts zerschneidet (also 6 Scheiben), je ein Box-UVW-Map gelegt und bei jedem „Map-Channel 1“ gewählt. Mit 6 Multi-Sub-Objects wies ich den 6 Scheiben über die entsprechenden Sub-Materials jeweils nur die zwei Bitmaps zu, die links und rechts an den Scheiben zu sehen sein müssen.
Nach wenigen Klicks war mein Würfel bereits mit allen Schnittflächen versehen, die von links nach rechts durch den Würfel verlaufen.
Ich kann nun um alle Scheiben, die von oben nach unten durch den Würfel laufen jeweils ein anderes Box-UVW-Map legen und „Map-Channel 2“ wählen. Ich kann 6 weitere Multi-Sub-Objects erstellen, mit denen ich jeweils die zwei Bitmaps zuweisen, die oben und unten an den Scheiben zu sehen sein müssen. Mit diesen neuen Multi-Sub-Objects „überschreibe“ ich aber die Bitmaps links und rechts wieder, die ich doch gerade im Arbeitsschritt zuvor zugewiesen habe.
=> Kann man nicht irgendwie einem Multi-Sub-Object den Befehl geben: zeige bei den IDs für die Seiten links und rechts einfach gar nichts und zeige dort nur die Bitmaps, die ich in einem anderen UVW-Map auf einem anderen Channel zugewiesen habe?
Und noch eine Frage:
=> ist es vielleicht für das Weiterarbeiten (also das Animieren des Würfels) gar nicht
so schlimm, dass der Würfel bis jetzt schon so viel Arbeitsspeicher benötigt?
Wie ihr sicher schon bemerkt habt, bin ich noch ein Neuling in der 3d-Welt.
Um so mehr würde ich mich über eure Hilfe freuen.
Vielen lieben Dank im Voraus.
Pia |
|
| Nach oben |
|
 Verfasst am: So Aug 29, 2004 00:57 Titel:
| Autor |
Nachricht |
Alibi

Anmeldedatum: 22.11.2002 Beiträge: 491 Wohnort: Near Hamburg
|
Verfasst am: So Aug 29, 2004 00:57 Titel: |
|
|
Hi,
wäre das nicht eher ein Anwendungsgebiet für ne Applikation mit OpenGL oder DirectX? |
|
| Nach oben |
|
 Verfasst am: Mo Aug 30, 2004 22:58 Titel:
| Autor |
Nachricht |
pia
Anmeldedatum: 26.08.2004 Beiträge: 3
|
Verfasst am: Mo Aug 30, 2004 22:58 Titel: |
|
|
Hm, sicher keine schlechte Idee, aber leider hab`ich vom Programmieren keinen Plan.
Hast du vielleicht noch ne andere Idee??
Grüße
Pia |
|
| Nach oben |
|
 Verfasst am: So Sep 05, 2004 09:03 Titel:
| Autor |
Nachricht |
mr.green

Anmeldedatum: 25.09.2002 Beiträge: 180
|
Verfasst am: So Sep 05, 2004 09:03 Titel: |
|
|
das einzige was mir hierzu einfällt ist: die bitmaps durch prozedurale ersetzen. versuchs mit GRADIENT. da brauchst nicht so viel speicher. (braucht halt mehr rechenzeit)
im allgemeinen wird max ziemlich unrund wenn dir der speicher "ausgeht" ==> crash ohne viel herumzufackeln (
aus meiner erfahrung - wenn du keine andere lösung findest - wirst du die anim aufsplitten müssen und nachher die filmdateien zusammenstückeln müssen.
trick wie du das ganze dann dennoch rendern kannst: NETWORK RENDERING !! muss nicht unbedingt wirklich in einem netzwerk stattfinden. es reicht wenn du den renderjob an deinen rechner selbst schickst. |
|
| Nach oben |
|
 Verfasst am: Mo Sep 06, 2004 22:17 Titel:
| Autor |
Nachricht |
pia
Anmeldedatum: 26.08.2004 Beiträge: 3
|
Verfasst am: Mo Sep 06, 2004 22:17 Titel: |
|
|
Hallo.
Das Map Gradient hab`ich gefunden, allerdings erreiche ich damit nicht die Verläufe hin, die ich oben auf den Bildern gezeigt habe. Also keinen Verlauf, bei dem in jeder Ecke der Fläche eine Farbe liegt und alle Farben dazwischen generiert werden.
Geht das überhaupt?
LG
Pia |
|
| Nach oben |
|
|
|