Schnittstellen eines Vierecks mit einem Rastergitter
Übersicht

![]() |
eizdealerBetreff: Schnittstellen eines Vierecks mit einem Rastergitter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Wie immer wenn ich einen Thread erstelle, hab ich mal wieder ein kniffliges Problem für euch Tüftler ![]() Kurz zur Anwendung: Ich programmiere gerade Decals, die auf ein (höhenveränderbares) Rastergitter (ein Meshterrain) gelegt werden sollen. Hört sich erstmal einfach an, aber wenn man die Rasterpunkte in der Höhe verändert, gerät das Decal schnell unter das Terrain. Um das zu verhindern und das Decal der Terrainkontur anzupassen, müssen alle Rastereckpunkte des Terrains im Decal ein Vertex darstellen, der die restlichen Tris des Decals zerschneidet. Das konkrete Problem, an dem ich jetzt sitze, ist die Bestimmung dieser Schnittpunkte. Es gibt 4 Arten von Schnittpunkten: a) Die Eckpunkte (die sind einfach) b) Die Gitternetzpunkte des Terrains innerhalb des Decals (sollte einigermaßen einfach gehen, hinbekommen hab ich's trotzdem nicht) c) Die Schnittpunkte der äußeren Kanten des Decals mit den Rasterlinien (schon deutlich schwieriger, da müsste man wohl Geradengleichungen gleichsetzen) d) Die Schnittpunkte der äußeren Kanten des Decals mit den schrägen Rasterlinien (vergesst das, das ist hyperschwierig und ich habs auch nicht eingezeichnet) OK, ich wette das hat bis jetzt kein Schwein verstanden, deswegen hab ich PS bemüht: ![]() Ihr seht das Raster, das (grüne) Decal und die rot eingezeichneten Schnittpunkte. Warum ich diesen Thread nicht im 3D Forum erstellt habe? Weil die Problemlösung nix mit 3D zu tun hat! |
||
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
![]() |
eizdealer |
![]() Antworten mit Zitat ![]() |
---|---|---|
An die Methode hatte ich auch shcon gedacht, aber die geht aus einigen Gründen nicht:
- Es sollen nicht nur Rechtecke sein - Überleg mal, wenn du das Teil drehst, dann sind ja die Vertexpunkte nicht mehr übereinander -> bei unebenem Terrain verschwindet das Teil unter dem Terrain |
||
Helloman |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ich hoffe ich habs richtig verstanden
nimm einfach das Raster als Textur Und die Textur-Scale passt du automatisch so an die größe des terrains an |
||
![]() |
eizdealer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Naja, das Raster kann ich leider nicht als Textur nehmen, das soll ein Drahtgittermodell (also Mesh) sein, der nicht beliebig ist... | ||
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
![]() |
eizdealer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmmm ich glaube, ihr habt mich nicht verstanden ![]() Ich will kein schräges Terrain und ich hab auch nichts mit Heightmaps am Hut ![]() Das Gitternetz ist ein Meshterrain, das genauso aufgebaut ist wie in der Zeichnung. Darauf sollen Decals (also praktisch 2dimensionale texturen, die sich allerdings der Kontur anpassen) gelegt werden. Um diese Anpassung zu realisieren, müssen die Schnittpunkte berechnet werden. Und DIESE Technik beherrscht jedes aktuelle 3D Spiel. Ein Beispiel dafür wären Einschusslöcher auf einer großen gebogenen Fläche. Die 2dimensionale Einschusslochtextur passt sich der gebogenen Oberfläche an. |
||
BIG BUG |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielleicht reicht es, wenn du einfach immer eine Plattform dem Raster entsprechend erstellst und die Feinjustierungen/Drehungen der Textur dann über UV machst?
Hängt zwar auch nicht ganz triviale Mathematik dahinter, aber sollte doch einfacher sein. Hat natürlich den Nachteil, dass bei großen Steigungen das/der/die? Decal auseinandergezerrt wird. Für Schatten ist das zwar super, aber für Einschusslöcher nicht so ![]() Außerdem müssen die Texturen dann natürlich über einen entsprechend breiten, transparenten Rand verfügen. |
||
B3D-Exporter für Cinema4D!(V1.4)
MD2-Exporter für Cinema4D!(final) |
![]() |
eizdealer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auch an diese Methode hab ich gedacht, BIG BUG.
Das Problem ist eben nur - wie du schon angesprochen hast - das mit dem Rand und den UV Coords. Ich denke das ist nicht so viel einfacher, aber sehr viel inkompatibler. Trotzdem danke ![]() |
||
![]() |
eizdealer |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, die ersten beiden Punktarten (Eckpunkte und Gitternetzpunkte) sind jetzt abgehakt. Beim Gitternetzpunkte Code hatte ich einmal Chek anstatt Check geschrieben, das war der Fehler.
Jetzt mal ein Screen, für alle, die sich das immer noch nicht vorstellen können: ![]() Nur eben ohne die Randpunkte, die ich im ersten Post under c) und d) beschrieben habe. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group