nock Posted July 1, 2011 Report Share Posted July 1, 2011 ich habe ein Level mit einer Tür , einem Cube und einem button (ähnlich wie in portal nur ohne portal gun). Nun suche ich ein script dasn den button aufleuchten lässt wenn er mit dem cube in berührung kommt Link to comment Share on other sites More sharing options...
Thalendor Posted July 1, 2011 Report Share Posted July 1, 2011 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 to comment Share on other sites More sharing options...
Sascha Posted July 2, 2011 Report Share Posted July 2, 2011 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 to comment Share on other sites More sharing options...
Schlumpf Posted July 15, 2011 Report Share Posted July 15, 2011 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 to comment Share on other sites More sharing options...
Sascha Posted July 15, 2011 Report Share Posted July 15, 2011 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 to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.