2013-10-21 14 views

Antwort

10

Auf Kollision prüfen. Wenn die gewünschte Kollision ausgelöst wird, können Sie die Transparenz ändern.

GameObject g; 

// 50% Transparency. 
g.renderer.material.color.a = 0.5f; // a is the alpha value. 

// 100% Transparency. 
g.renderer.material.color.a = 1.0f; 

Sie tun können, nur dieses Programms Wartezeit zu machen: http://docs.unity3d.com/Documentation/Manual/Coroutines.html

Sie das Beispiel feststellen, genau Ihre Frage.

+2

Einheit ermöglicht es Ihnen nicht, Wert von Color.a zu ändern. Sie müssen eine temporäre Variable verwenden. – Mostafa

4

diese Erweiterung Methode Versuchen:

public static void ChangeAlpha(this Material mat, float alphaValue) 
{ 
    Color oldColor = mat.color; 
    Color newColor = new Color(oldColor.r, oldColor.g, oldColor.b, alphaValue);   
    mat.SetColor("_Color", newColor);    
} 

Sie können es dann rufen:

gameObject.renderer.material.ChangeAlpha(Your Alpha Value); 
1

das Objekt, das Sie diese anrufen müssen einen Shader haben, die Transparenz unterstützt. Wenn Sie in Unity5 den Standard-Shader verwenden, müssen Sie ihn explizit auf "Transparent" setzen, um den Alpha-Wert bearbeiten zu können. Geben Sie Bildbeschreibung hier

enter link description here

Es sollte auch Ihnen klar sein, dass der Alpha-Wert ein Schwimmer ist, die sich von 0.0f und 1.0f geht, so z.B. Einstellung

var other : GameObject; 
other.renderer.material.color.a = 0.5; // 50 % transparent 
other.renderer.material.color.a = 1.0; // 100% visible 

wird das Objekt 50% transparent machen.

0

in Unity 5 der beste Weg, der für mich funktionierte (um ein Objekt unsichtbar zu machen) war, alle Materialien des Spielobjekts, die ich unsichtbar sein wollte, im Rendermodus unsichtbar zu machen. DANN klicke auf die kleine runde Schaltfläche neben Albedo und scrolle dann nach unten in der Liste der Gegenstände, bis du eine namens UIMask findest. Markieren Sie es und drücken Sie die Eingabetaste. Ich bin ein Anfänger also fragen Sie, ob Sie mehr Klarheit brauchen.

* Beachten Sie, dass dies ein Hardwarefix ist und ich nicht sicher bin, ob Sie das mit Code ändern können.

** Dies wurde für die Grenzen in Roll-a-Ball mit einer Player-Jump-Funktion enthalten gemacht. benötigt, um die Wände unsichtbar zu machen, aber auch kollisionsfähig, um die Luft zu stoppen geboren Spieler Objekt

Verwandte Themen