Moire problem in Video Texture basiertem Material - Ideen um es loszuwerden?

  • OK ich hab ein Material gemacht um einen TFT/LCD/CRT Monitor zu simulieren.


    Hier mal eine klassische Streifenmaske - sprich ich zerlege meine Input Textur (Video textur) in Subpixel (Die Streifenmaske). Das klappt auch einwandfrei. Allerdings bekomme ich ein typisches Moire je nach Bildmaterial, also sprich diese unschönen Muster.


    Ich habe das recht unelegant gelöst indem ich die Kamera Position von der ObjektPosition abziehe, die Vector Länge messe und dann einen threshold gesetzt habe (Sagen wir mal 50) und sprich wenn die Kamera zu weit (mehr als 50) vom Objekt entfernt ist dann wird die Video textur direkt ausgegeben statt der Subpixel.


    Das unschöne ist daß es dann diesen Popup-Effekt gibt wenn man zwischen der maximalen Kamera Distanz und darunter wechselt, sprich "Plopp sind die Subpixel da, popp sind sie weg wenn ich mich entferne".


    Habe jetzt überlegt die Vectorlänge als Faktor für den Blend zu nehmen, aber dann hab ich gedacht - ich frag einfach mal hier ob es alternative ideen gibt, ich denke mal Moire hat ja jeder schon mal gesehen und vielleicht hat einer ne gute Idee.


  • Ich bin mir nicht ganz sicher, da ich mich mit Monitortechnik nicht so ganz auskenne.


    Aber kommen derartige muster nicht dadurch zustande, weil das Raster eines dargestellten Musters und die Auflösung des Monitors nicht zusammenpassen? Wenn dem so ist, wirst du es kaum verhindern können. Zumindest fällt mir da momentan nichts ein. Ich halte es aber mal im Auge, vielleicht kommt mir da ja noch was.

  • Detail Texture ist ein cooler node, aber bringt mir erst mal nix - ich könnte damit noise oder so einbauen um das zu verwaschen, aber ansonsten bringt es gegen Moire nix.


    Ich hab jetzt als billige Lösung erst mal ne Funktion gemacht um die Lochmaske weniger strikt darzustellen - sprich der schwarze Teil der Lochmaske bleibt nicht strikt schwarz sondern wird etwas mit eingefärbt. Ist nicht 100% realistisch aber hat das Moire Problem zum größten Teil entschärft.

  • Im Link fast am Ende werden Tipps und Tricks gezeigt.
    Der Material Graph unter 3.) ist eine Möglichkeit.;)


    Zwei Texturen (oder Nodes) werden je nach Entfernung gemischt. Wenn der Spieler sehr nah ist, werden zusätzlich zum Bild die RGB Farbkomponenten angezeigt. Entfernt sich der Spieler, dann werden die RGB Farbkomponenten blasser bis sie unsichtbar sind und nur noch das Fernsehbild sichtbar ist.^^

  • Hmm, ja das ist eigentlich genau die Lösung die ich am Ende meines ersten Posts gemeint habe. Bin aber momentan zu faul die zu implementieren und die bisherige (Schwarz Wert der Maske nicht so streng nehmen) sieht Moire mässig auch einfach besser aus. Ganz ohne Moire geht es aber auch einfach nicht - habe eine Demo von diesem 30 Dollar Marketplace plugin (CRTify) runtergeladen und probiert - hat exakt die gleichen features und Moire Probleme wie meine derzeitige Lösung. Eigentlich ist CRTify fast sogar geschummelt - weil es nur mit Standbildern arbeitet, nicht mit Videos - dadurch ist der Moire Effekt viel einfacher zu vertuschen.


    Letztlich im Spiel ausprobiert - eigentlich ist das alles Schwachsinn weil der Spieler in meinem Spiel nie nah genug an den Monitor rankommt damit man das wirklich bemerkt. Ist halt ne Spielerei. Ich bin manchmal extrem wenns um Materials geht.