Kojote Geschrieben 27. Januar 2018 Melden Share Geschrieben 27. Januar 2018 Grüße! Ich möchte bei meinem Charakter gern die Transparenz ändern, um so ein langsames entfernen vom Spielfeld zu ermögliche. Den Code hab ich schon: this.gameObject.GetComponentInChildren<SkinnedMeshRenderer>().material.color.a = 0; Ich brauche aber noch einen Shader der diesen Befehl auch annimmt. Hab nun schon mehrere Tutorials gelesen und man sagt nur, du brauchst einen Shader der das auch zulässt. Habt ihr eine Ahnung welchen Shader ich für den Charakter verwenden könnte? Grüße Kojote Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 27. Januar 2018 Melden Share Geschrieben 27. Januar 2018 Einfach beim Material des Spielers oben bei "Rendering Mode" auf "Fade" stellen. Wenn du jetzt den Alphawert senkst verschwindet er. Geht allerdings nur, wenn du den Unity Standardshader verwendest, dieser hat verschiedene Modi. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 27. Januar 2018 Autor Melden Share Geschrieben 27. Januar 2018 Klasse, ich danke dir! EDIT: Also so richtig wills nicht. Ich hab mir den Alpha genommen und nun das ausgeführt: materialAlpha = this.gameObject.GetComponentInChildren<SkinnedMeshRenderer>().material.color.a; while (materialAlpha >= 0.1f) { materialAlpha -= 0.01f; yield return new WaitForFixedUpdate(); Debug.Log(materialAlpha); } Die Hilfe in VS sagt mir a wäre richtigerweise der Alpha. Nur komisch ist, in Unity ist er 255 groß, in VS mit Debug nur 1. Gut, Script angepasst, aber er zählt nach unten, aber die Transparenz ändert sich nicht. EDIT: So, habs nun hin bekommen, warum ichs aber dermaßen kompliziert schreiben muss, damit was passiert versteh ich auch nicht: material = this.gameObject.GetComponentInChildren<SkinnedMeshRenderer>().material; material.SetFloat("_Mode", 4f); col = material.GetColor("_Color"); col.a = 105; // 0-255 material.SetColor("_Color", col); Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Zer0Cool Geschrieben 27. Januar 2018 Melden Share Geschrieben 27. Januar 2018 Naja, das Problem ist SetColor arbeitet mit RGB-Wert 0-255 und der Shader arbeitet mit 0-1. Mit SetFloat "_Mode" setzt du den Modus des Shaders vermutlich auf "Fade". "_Mode" und "_Color" sind dabei immer Properties des Shaders, die man aber von Außen leider nicht sieht, daher ist es immer ein wenig "Tricky". Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 27. Januar 2018 Autor Melden Share Geschrieben 27. Januar 2018 Sogar ziemlich "Tricky"! Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Kojote Geschrieben 27. Januar 2018 Autor Melden Share Geschrieben 27. Januar 2018 Haha, es klappt und das sogar richtig gut! Ja ja, wer auf den falschen Schalter drückt, der hat ein Problem.... https://streamable.com/suf70 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.