Frage

Haftungsausschluss: Ich bin nicht wirklich versucht, ein zu machen, ich bin einfach nur neugierig, wie es getan werden könnte.

Wenn ich sage "Genaueste" habe ich auch die Grundlagen

  • Wand
  • Entfernung
  • Licht Ebenen

und die mehr kompliziert

  • Staub in der Atmosphäre
  • Regen, Graupel, Schnee
  • Wolken
  • vegetation
  • Rauchen
  • Feuer

Wenn ich zu wollen, zu Programmieren, welche Ressourcen sollte ich achten und in welche Dinge sollte ich achten?Außerdem sind dort alle einschlägigen Bücher über die Theorie hinter der line of sight, darunter alle diese Variablen?

War es hilfreich?

Lösung

Normalerweise man die Welt als eine Reihe von Raumvolumina in einer Art Raumaufteilung Datenstruktur gehalten darstellt, schneidet dann den Strahl Ihre „Sichtlinie“ darstellt, mit dieser Struktur die Menge von Objekten zu finden, es trifft; diese sind dann in der Reihenfolge von Strahlen Ursprung ging das Gesamtergebnis zu bestimmen. Reflektierende Objekte verursachen weitere Strahlen abgefeuert werden, undurchsichtige Objekte beenden die Wanderung und halbtransparente Objekte teilweise zum Ergebnis beitragen.

Sie können gerne auf Raytracing lesen; gibt es eine große Menge an Literatur zu diesem Thema und gut verstandenen Wegen zur Lösung, was im Grunde die gleichen Probleme sind Sie Liste vorhanden ist.

Andere Tipps

Ich persönlich weiß nicht, zu viel über dieses Thema aber eine schnelle paar Google-Suchanfragen schaltet sich einige formale Papiere auf, die einige sehr relevante Informationen enthalten:

http://www.tecgraf.puc-rio.br/publications /artigo_1999_efficient_lineofsight_algorithms.pdf - Bietet eine detaillierte Beschreibung von zwei verschiedenen Methoden effizient eine LOS-Berechnung durchgeführt wird, zusammen mit verbundenen Fragen

http://www.agc.army.mil /operations/programs/LOS/LOS%20Compendium.doc - Dies zielt darauf ab, „eine aktuelle Liste der einzigartigen LOS Algorithmen“ zu halten; es hat einen Abschnitt ganz Auflistung ein paar und beschreibt sie im Detail mit einem Fokus auf militärische Anwendungen.

Hope, das hilft!

Die offensichtliche Frage ist, wollen Sie wirklich die Genaueste und warum?

Der ich gearbeitet habe, Spiele, hing auf die Sichtlinie, und Sie müssen wirklich klar zu denken über welche Art von Linie der Anblick, den Sie wollen.

Zuerst, kann die KI sehen, jede Teil von Ihren Körper?Oder redest du von "Auge um Auge" LOS?

Zweite, wenn der Spieler die Kamera-Ansicht ist nicht seine avatar-Blick, den Spieler nicht wahrnehmen, Ihre hochgenaue LOS als sehr präzise.An welcher Stelle Ungenauigkeiten sind in Ordnung.

Ich versuche nicht, Sie davon abzubringen, aber denken Sie daran, dass die Spieler Erfahrung ist die #1, und das kann bedeuten, dass nicht das beste LOS.

Ein guter Freund von mir getan hat, die KI für eine lang=laufende Serie des beliebten Spiele-Konsole.Er oft die Geschichte erzählt, wie die AIs sind die interessantesten (und Spaß) im ersten Spiel, weil Sie stolpern in Sie eher sehen, als Sie aus der Ferne.Nun, er hat das große LOS und verbringt seine Zeit mit dem Versuch zu dumm, Sie Sie nach unten, um Sie zu machen genauso viel Spaß wie Sie waren, in das erste Spiel.

Also, warum machst du das?Macht das Spiel benötigen Sie es?Oder wollen Sie einfach nur die Herausforderung?

Es gibt keinen „one-Algorithmus“ für diese, da die Eingänge nicht gut definiert sind. Wenn Sie Staub-In-Atmosphäre als konstanter Wert behandelt, dann gibt es einen Algorithmus, der es in Betracht ziehen kann, aber die Tatsache ist, dass die Staubbelastung von Punkt zu Punkt variieren und damit der Algorithmus Sie Bedürfnisse wollen mir bewusst sein, wie Ihre Staub-Daten strukturiert sind.

Die am häufigsten verwendete Algorithmus in der heutigen ray-Tracer ist nur inkrementeller ray-Marsch, die definitionsgemäß nicht korrekt ist, aber es hat die ultimative Antwort auf einen fairen Grad annähern.

Auch wenn Sie alle diese Eigenschaften in einem einzigen Master-Algorithmus integrieren verwaltet, würde man noch irgendwie zu tun haben, wie verschiedene Menschen die gleiche Einstellung wahrnehmen. Manche Menschen sind kurzsichtig, einige weitsichtige. Dann gibt es die farbenblind. Ganz zu schweigen davon, dass Staub-In-Atmosphäre Ebene auch Tränendrüsen beeinflussen, was wiederum beeinflusst die Sichtbarkeit. Und dann gibt es die ganze Zwiespalt zwischen dem, was die Menschen tatsächlich sind seeying und was sie denken, sie sind seeying ...

Es gibt viel zu viele Variablen, hier für eine einheitliche Lösung anzustreben. Behandeln Sie Ihre Umgebung als voxelated Raum und schießen Sie Strahlen durch. Ich vermute, das ist die einzige Lösung, werden Sie in einem einzigen Leben zu vollenden können ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top