Hallo zusammen,
ich habe hier ein kleines Problem, bei dem auch eifriges Googlen nicht zu einem wirklich zufriedenstellenden Ergebnis führt, da die meisten Lösungsvorschläge ihre unangenehmen Negativseiten haben.
Das Ergebnis soll folgendermaßen aussehen:
Gegner bei 100% Health = Default Material
Gegner bei 75% Health = Blutspritzer auf dem Material
Gegner bei 50% Health = mehr Blutspritzer auf dem Material
Gegner bei 25% Health = Material ist mit Blut vollgesudelt
Ich kaue da schon eine ganze Weile darauf rum und folgende Lösungsmöglichkeiten erscheinen mir sinnvoll:
3 Blutmaterials, die zur Laufzeit je nach Healthwert auf das Default-Material des Enemys gepinselt werden. Aber ich glaube, das ist performancetechnisch eine Katastrophe (oder?).
2 Materials auf dem GameObject Enemy. Das zweite (Blut-) Material wird je nach Healthwert prozentual eingeblendet. Ich las allerdings öfter, dass man prinzipiell keine zwei Materialen auf ein GO packen soll. Außerdem hat man ja durch das zusätzliche Material einen weiteren DrawCall.
1 Substance auf dem Enemy. Über einen Float-Regler die Blutmap einblenden. Vorteil: Nur ein Material. Nachteil: Ändere ich das Material selbst, ändert es sich auch bei allen anderen Instanzen des GOs ebenfalls. Das hieße: Ein Gegner blutet = alle Gegner bluten. Sieht bestimmt witzig aus, ist aber nicht das, was ich möchte.
Man sieht das, was ich vorhabe, ja nicht selten in Games. Weiß einer, ob es da so was wie ein Best Practise gibt?