Jump to content
Unity Insider Forum

blöcke aufleuchten lassen


nock

Recommended Posts

Das Aufleuchtenlassen von Objekten wird meines Wissens von Unity nicht unterstützt.

Das ganze wurde schonmal in einem Thread diskutiert. (Über Lampfen glaube ich)

In Blender und Co. kann man Objekten ja mithilfe des Emit-Parameters ein Eigenleuchtengeben, aber wie gesagt ist das unter Unity nicht so einfach möglich.

Wir haben in unserem momentanen Projekt qBot im Prinzip ein sehr ähnliches Szenario.

Dabei haben wir mit Projektoren ein Leuchten an die Decke des Raumes projeziert, wodurch der Button einen recht schönen Leuchteffekt bekommen hat.

Link zu diesem Kommentar
Auf anderen Seiten teilen

renderer.material

Damit graift man auf das Material des Renderers zu.

Man köönte z.B. die Farbe ändern:

renderer.material.color = Color(1,0.8,0.8,1); //vorher (0.6,0.5,0.5,1)

Oder man tauscht die Self-Illumination-Textur aus, was natürlich die Pro-Variante wäre und auch eine Textur pro Button zuließe.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 weeks later...

mach dir ein neues javascript das du "mauseover objekt heller machen" nennst.

dieses ziehst du in jedes objekt das du heller machen willst und startest dein projekt fertig *G

 


private var Urfarbe;

function Start (){
Urfarbe="";
Urfarbe = renderer.material.color;
}

function OnMouseExit (){//wenn die maus auf das objekt fährt
renderer.material.color = Urfarbe;
//Debug.Log("farbe original");
}

function OnMouseOver (){//wenn die maus auf das objekt fährt
renderer.material.color.r = Urfarbe.r*3;
renderer.material.color.b = Urfarbe.b*3;
renderer.material.color.g = Urfarbe.g*3;
//Debug.Log("farbe geändert");
}


 

bei mir funktioniert es tadellos gerade getestet

Link zu diesem Kommentar
Auf anderen Seiten teilen

Immer schön Typen benutzen, Variablen klein schreiben und Farben kann man, wie alle anderen Vektoren auch, direkt multiplizieren:

 

private var originalColor : Color;

function Awake()
{
originalColor = renderer.material.color;
}

function OnMouseOver()
{
renderer.material.color = originalColor * 3;
}

function OnMouseExit()
{
renderer.material.color = originalColor;
}

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...