Jump to content
Unity Insider Forum

Tiefenwirkung


Kojote

Recommended Posts

Hallo!

Hoffe mal ich bin hier richtig. Mir geht es um folgendes, ich möchte gerne eine Tiefenwirkung erzeugen. Wenn ein Charakter irgendwo herunter fällt, möchte ich in der Tiefe sozusagen eine Box haben. Um so tiefer der Chrakter nun in diese Box fällt, um so mehr soll die dunkelheit ihn umhüllen, sprich er soll schlechter zu sehen sein. Wie wäre so etwas möglich, könnt ihr mir da weiter helfen?

Vielen Dank und Grüße von Kojote

Link zu diesem Kommentar
Auf anderen Seiten teilen

Warum ne Box nehmen?
Sobald dein Char fällt weisst du das ja. Entweder hat der Char einen Rigidbody und dann kannst du die Velocity von y auslesen, oder aber du Fragst den Untergrund (meist isGrounded) ab und weisst somit, wann er anfängt zu fallen.

In diesem Moment fragst du die YPosition deinens Chars ab. Ja und je mehr die momentane Y Psoition von der Abgefragten Y Position abweicht, umso mehr verdunkelst du deine Szene.

Wie du das System jetzt verdunkelst, ist wiederum abhängig von dem, was du da machst. Ist es ein 2D Spiel mit Unlit Texturen oder ein 3D Spiel mit echter Beleuchtung?
Hast du echte Lichter drin, die du verdunkeln kannst oder reicht es aus die ambiente Beleuchtung zu manipulieren? Willst du die Shader manipulieren oder vielleicht mit einem Camerafilter arbeiten?

Das weiß ich alles nicht und deswegen musst du das dir selber einfach mal überlegen. Jedenfalls gibt es da echt viele Möglichkeiten und ich habe oben mit meinen Fragen ja jetzt Hinweise gegeben, die möglich wären. :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also es werden mehrere Chraktere Steuerbar sein, fällt einer herunter ist das nicht das Spielende, man kann noch mit anderen herum rennen.

An sich spielt das gesamte in einen Dungeon mit Fackelbeleuchtung. Wenn einer der Charaktere nun fällt denk ich es wäre das einfachste, den Wänden nach unten hin in der Textur einen Schwarzverlauf zu verpassen und beim Charakter an der Textur herum zu spielen und diese in der Beleuchtung zu ändern sprich nach und nach schwarz einfärben.

Ist auch erst mal nur eine rein hypothetische Frage, beschäftige mich erst einmal nur rein mit dem Scripten, da hab ich als Anfänger schon genug zu tun, aber man will ja auch etwas planen! :D

Von daher kann ich echt noch nicht genau sagen, wie das mit der Beleuchtung und dem Shader wird.

Link zu diesem Kommentar
Auf anderen Seiten teilen

In dem Fall könnte man es so lösen:

Color _color;
Material _material;

void Start()
{
	_material = GetComponent<Renderer>().material;
    _color = _material.color;
}

void Update()
{
	material.color = _color * Mathf.Clap01((1f - (distanceY / maxDistanceY));
	if(Mathf.Clap01((1f - (distanceY / maxDistanceY)) == 0)
	{
		//Was auch immer passieren soll
	}
}

kannst auch anstatt des Abstandes die Fallgeschwindigkeit nutzen

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

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

×
×
  • Neu erstellen...