EntityTexture - wie schnell?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Abstauber

Betreff: EntityTexture - wie schnell?

BeitragMi, Mai 09, 2012 12:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

wie schnell gestaltet sich das Texturieren von vielen verschiedenen 3d-Modellen auf einen Schlag?

Mal angenommen, ich habe etwa 100 verschiedene "Mutter"-3d-Modelle (hier: Gebäude) geladen, die jeweils zwei große Texturen nutzen (einmal Tag, einmal Nacht (also abgedunkelt, leuchtende Fenster)). Diese Modelle werden anschließend nach Bedarf kopiert und auf der Karte verteilt. Die Karte greift also auf einen Modell-"Pool" zu.

Wenn jetzt also die Nacht anbricht, soll ein harter Wechsel von hell auf dunkel vollzogen werden. Ich habe mir dabei gedacht, die Karte von den kopierten Modellen zu befreien, die (unsichtbaren) Mutter-Modelle neu zu texturieren (mit der Nachttextur) und dann per Schleife alle Modelle wieder an die entsprechende Position zu kopieren.

Ist dies die schnellste Lösung oder würdet ihr jedes bereits kopierte Gebäude nicht löschen, sondern stur texturieren? Das ist doch sicher langsamer, als einmal zu texturieren und das Modell einfach nur zu kopieren?

Oder soll ich die kopierten Gebäude verknüpfen mit Ihren Mutter-Modellen? Werden die Texturen dann übernommen?

(Ja, die üblichen Fragen eines Frischlings, sorry. B3D-Buch ist aber gestern schon eingetroffen und auch die Online-Hilfe ist mir nicht unbekannt. Ganz im Gegenteil. Ich gelobe Besserung.)
  • Zuletzt bearbeitet von Abstauber am Mi, Mai 09, 2012 12:33, insgesamt einmal bearbeitet

Xeres

Moderator

BeitragMi, Mai 09, 2012 12:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Neue Geometrie zu erstellen wird langsamer sein, als einfach der vorhandenen eine neue Textur zu verpassen. Ob das schnell genug geht? Ausprobieren.
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
 

bjh

BeitragMi, Mai 09, 2012 13:52
Antworten mit Zitat
Benutzer-Profile anzeigen
du könntest aber auch alle fenster und die zugehörigen häuser laden.

um dann auf nacht zu schalten, kannst du einfach ambientlight tiefer setzen und die fenster mit entityfx xy,1 belegen.
dann würdest du dir die nachttextur sparen.
auf jedem fall würde ich versuchen, nur eine textur zu verwenden. Wink
 

Abstauber

BeitragMi, Mai 09, 2012 14:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Probiere ich heute Abend aus, Xeres, danke. Smile

bjh: Ja, an so was dachte ich auch schon. Wenn ich zusätzlich Jahreszeiten berücksichtige, müsste ich sogar noch mehr Texturen erstellen, was Zeit und Speicher kostet. Da ist deine Variante wesentlich klüger.

Kann ich eigentlich Texturen einfach in Grautönen laden und dann auf dem Objekt einfärben? Also auf diese Weise:

Modell inklusive Grauton-Textur laden -> Menge an Childs abfragen, Child nach Bezeichnung färben (Grauton wird also bei "gruenflaeche01" grün eingefärbt, sofern kein Schnee liegt oder rot bei "rotesdach01" usw.) -> bei Wechsel von Tag/Nacht, Jahreszeit oder Schneefall Child neu färben

Dann kann ich die in der Nacht leuchtenden Fenster ja auch "ganz faul" etwas gelblich färben und tagsüber trotzdem eher dunkel erscheinen lassen.

ZaP

BeitragMi, Mai 09, 2012 15:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Du kannst die Vertexfarben ändern, einfach durch die Surfaces iterieren und mit VertexColor beliebig einfärben.
Starfare: Worklog, Website (download)
 

bjh

BeitragMi, Mai 09, 2012 15:11
Antworten mit Zitat
Benutzer-Profile anzeigen
bei meinem aktuellen projekt benutze ich das auch.

meine grastextur und meine bodentextur sind beide grau. ich färbe die vertexe meiner map dann anhand der höhe mit einer bestimmten formel. das gras färb ich dann mit entitycolor so wie der boden ist.

ich find das ganz praktisch.
aber wenn ich ein licht einbaue, dann sieht das nicht mehr so gut aus, weils dann wegen dem zusätzlichen farben wieder grau wird.
naja Wink
 

Abstauber

BeitragMi, Mai 09, 2012 15:21
Antworten mit Zitat
Benutzer-Profile anzeigen
bjh hat Folgendes geschrieben:
aber wenn ich ein licht einbaue, dann sieht das nicht mehr so gut aus, weils dann wegen dem zusätzlichen farben wieder grau wird.
naja Wink

Heißt das, dass ich nachts keine Lichter (Laternen?) vor die Gebäude setzen könnte, weil die Textur in den Aufhellungen an Farbe verliert? Hm... Ich könnte dann ja immer noch halbdurchsichtige Lichtkugeln platzieren.

Na ja - ich schaue heute Abend mal. Vielen Dank erst mal für eure Unterstützung. Das lob' ich mir. Very Happy
 

bjh

BeitragMi, Mai 09, 2012 21:44
Antworten mit Zitat
Benutzer-Profile anzeigen
also wenn dein licht eine lightcolor von 255,255,255 hat, dann werden die meshes, die eingefärbt wurden, grau. also sehen dann so aus wie die textur.

naja dann muss man halt das licht etwas abschwächen: z.b. lightcolor l,127,127,127

solltest du aber sowieso selber mal teste und rumprobieren Wink
einfach mal ausprobieren.

EDIT:
oder eher update

ich wollte noch was zum licht sagen:

wenn objekte eine textur haben und nichts mit entitycolor oder vertexcolor gemacht wurde, dann gibt es auch keine unerwünschten effekte.

ein mesh das entitycolor 0,0,255 hat würde mit einem 255,255,255 licht wieder weiß werden, da das licht ja alle drei farben beeinflusst.
also musst du dir keine gedanken über sowas machen Wink

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group