ich sehe das du ein terrain mehlmals nutzt.
im handbuch unter ent_getvertex:

Quote:
Das Modifizieren eines Mesh einer bestimmten Entity betrifft sämtliche Entities, die dasselbe Mesh verwenden. Um dies zu verhindern, benutzen Sie ent_clone.


ich denke das ein anderes terrain, das jedoch das selbe mdl file ist, verändert wird liegt daran.

beachte auch das bei CONTACT z und y vertauscht sind:

Quote:
c.v.y += 5.0; // raise the vertex (y is the height in DX coorcinates)


also ich würde zuerst einmal versuchen ein funktionierenden prototypen zu machen mit nur einem mesh in einem test level. ohne dein player model
wenn das reibungslos funktioniert:
2 terrains einbinden mit der verwendung von ent_clone

bedenke auch:
da du mehrere terrains nutzen willst wird es bei der überschneidung der einzelnen chunks probleme geben da trace nur ein objekt avisiert.
damit würde es dann, wen du an einer überlappung eine deformation kommt, nur ein terrain anheben oder senken was wiederum löcher in der map verursachen wird.

ich würde das ganz anders aufgleisen.
nutze einen globalen vector und vergleiche ob sich die vertexe sich in der range dieses globalen vectors befinden.
auf diese weise kannst du mehrere terrains, die mit einer while schleife ausgestatet sind, deformieren.

sofern du natürlich eine konstante nutzen willst um das terrain zu erhöhen.

wenn du dann jedoch hüllkurven nutzen willst damit man bzw. eine kugelfürmige deformation machen kann....
bzw. man nutzt den globalen vector und die vertex position um die distanz zu berechnen und nutzt diese dann als factor für die einwirklungsstärke was einen hüllkurven ähnlichen effekt erzeugt,
dann müstest du auch noch ein chunk verwaltungs system machen da es dabei zu ungleichförmigen erhöhungen und vertiefungen bei überschneidung bei den terrains kommen könnte. also quasi müsste man nach der deformierungs funktion die vertexe die sich am rand 2er chunks befinden subtrahiert voneinander in einen temporären vector speichern diesen mit 0,5 scalieren und bei einem addieren und beim anderen subtrahieren. also eingentlich ne interpolation damit sich beide auf halben weg treffen und an gleicher position sind.

damit kann man ausschliessen das wenn 2 vertices, von sich einem überlappenden terrain mit einen unterschied von 0.0000001 haben oder so, aber dennoch unterschiedlich deformiert werden, sich dann doch an gleicher position befinden


naja aber gibt ja 1000 wege wie mans machen könnte =)
hoffe das war hilfreich

lg tom

Last edited by tagimbul; 09/09/17 10:17.

meine website mit 3dgs sachen =) //noch nicht ganz umgebaut ^^"
http://flashbreaker.com/home.html
und mein YT channel mit diversen game entwicklungs videos, vor allem shader zeugs
https://www.youtube.com/user/tagimbul/videos