flackerndes mesh!?
Übersicht

ZaRaKBetreff: flackerndes mesh!? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wenn ich mein mesh auf dem terrain bewege, mit einem klick, dann sieht alles gut aus, aber sobald es zum stehen kommt beginnt das zu flackern wie bekloppt und... das wendet sich immer blitzschnell um 180°... ca 10x in einer sekunde...
also es flackert im stillstand halt ungemein und der kopf ist mal vorne und mal hinten zu sehen... woran könnte das liegen? |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Fehler beim ausrichten der cam ... hast du ein rotateentity in der loop drin das immer wieder dreht? oder ein point entity
ohne code is das immer schwer zu sagen |
||
![]() |
Jan_Ehemaliger Admin |
![]() Antworten mit Zitat ![]() |
---|---|---|
an Drogen eindeutig!
ansonsten, irgendwas gewurzelt oder ² ? es gibt nen befehl, das Mesh umzudrehen, hasst du den drin, ist dein CameraRange auf 0.01 bis 1000 ? |
||
between angels and insects |
ZaRaK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] PointEntity mesh,pivot If EntityX(mesh)<>EntityX(pivot) Or EntityY(mesh)<>EntityY(pivot) Or EntityZ(mesh)<>EntityZ(pivot) Then MoveEntity mesh,0,0,0.5 EndIf If MouseDown(1) Then CameraPick(cam,MouseX(),MouseY()) PositionEntity pivot,PickedX(),PickedY()+TerrainY+5,PickedZ() EndIf |
||
ZaRaK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
aaaach.. das flackert weil der sich auf pivot richtet, und weil das beides auf einem punkt liegt, weiss das mesh nicht, wohin es genau guggn soll??? | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
exakt | ||
ZaRaK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
und wie genau kann ich das problem jetzt beheben?
ich hab schon einiges versucht, aber ich komm nich ganz dahinter... |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
dafür sorgen dass nicht beides am gleichen punkt is bzw.
if entitydistance( player, pivot ) > 1 then pointentity player, pivt dadurch verhinderst du dass er sich auch aufs pivot ausrichtet wenn er schon zu nahe dran steht |
||
ZaRaK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
damit sag ich ja nur das er pointen soll wenn die entfernung grösser als 1 ist...
dadurch weiss der aber nicht das er bei geringerer distance nicht pointen soll... also es flackert immernoch.. |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
erm warum sollts noch flackern?
du musst einfach das normale pointentity raus nehmen und nur noch das drin haben. dann pointet er auch nimmer wenn er zu nahe dran is. so einfach is das ![]() |
||
ZaRaK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
hm...
Code: [AUSKLAPPEN] If EntityDistance(mesh,pivot) > 1 Then PointEntity mesh,pivot If EntityX(mesh)<>EntityX(pivot) Or EntityY(mesh)<>EntityY(pivot) Or EntityZ(mesh)<>EntityZ(pivot) Then MoveEntity mesh,0,0,0.5 EndIf If MouseDown(1) Then CameraPick(cam,MouseX(),MouseY()) PositionEntity pivot,PickedX(),PickedY()+TerrainY+5,PickedZ() EndIf jetz hüpft das mesh immer vor und zurück, wenn am pivot steht... |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jo du musst ja auch nicht mit <> testen sondern mit < Entityx() + movedistanz > Entityx() - movedistanz
ein <> oder auch ein = wird direkt niemals funktionieren |
||
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
So ein Flackern kann auch dann auftreten, wenn eine Fläche zu dicht über dem Boden ist. Zum Beispiel wenn der Boden eines Hauses zu dicht über der Landschaft ist, kann es manchmal durchscheinen. Dann muß man den GebäudenBoden ein ganz wenig anheben. | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
er meinte nicht z-fighting ![]() hier noch der komplette code falls meine erklärung unlogisch gewesen sein sollte MoveDist# = 0.5 If EntityDistance(mesh,pivot) > 1 Then PointEntity mesh,pivot If EntityX(mesh)<EntityX(pivot) +MoveDist/2 or entityx(mesh)>entityx(pivot)-MoveDist/2 Or EntityY(mesh)<EntityY(pivot)+MoveDist/2 or EntityY(mesh)>EntityY(pivot)-MoveDist/2 Or EntityZ(mesh)<EntityZ(pivot)+MoveDist/2 or EntityZ(mesh)>EntityZ(pivot)-MoveDist/2 Then MoveEntity mesh,0,0,MoveDist EndIf If MouseDown(1) Then CameraPick(cam,MouseX(),MouseY()) PositionEntity pivot,PickedX(),PickedY()+TerrainY+5,PickedZ() EndIf |
||
ZaRaK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also das teil hüpft immernoch vor und zurück...
hier kannste ma die problem.zip downloaden und dann siehst du evtl auch schon mein 2. problem.. wenn ich hinter einen berg klicke.. also angenommen o__/\__ <-- das o is das mesh, vor nem berg... dann bewegt sich das nicht über den berg wenn ich klick, sondern __/o\__ .... ich kriegs net hin, das das immer direkt auf dem terrain läuft.. das läuft immer direktem weg zum pivot ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
na dann mach doch einfach
positionentity player, x, terrainy(terrain,x,y,z), z |
||
ZaRaK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ahhh.. das isses schon wieder...
wo soll ich das denn einbauen? ich hab im gesamten code kein positionentity für mein mesh... das geht alles über das erstellte pivot mit picked().... hab ma den code genommen den du gesagt hattest, aber der klappt auch net.. kannst dir ja ma die file downloaden die ich oben genannt habe und es dir ma anschauen... Code: [AUSKLAPPEN] MoveDist# = 0.5 If EntityDistance(mesh,pivot) > 1 Then PointEntity mesh,pivot If EntityX(mesh)<EntityX(pivot) +MoveDist/2 or entityx(mesh)>entityx(pivot)-MoveDist/2 Or EntityY(mesh)<EntityY(pivot)+MoveDist/2 or EntityY(mesh)>EntityY(pivot)-MoveDist/2 Or EntityZ(mesh)<EntityZ(pivot)+MoveDist/2 or EntityZ(mesh)>EntityZ(pivot)-MoveDist/2 Then MoveEntity mesh,0,0,MoveDist EndIf If MouseDown(1) Then CameraPick(cam,MouseX(),MouseY()) PositionEntity pivot,PickedX(),PickedY()+TerrainY+5,PickedZ() EndIf wo/wie kann ich da das Code: [AUSKLAPPEN] positionentity player, x, terrainy(terrain,x,y,z), z einbauen?
|
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ach das is der gesammte code
na dann halt so Code: [AUSKLAPPEN] MoveDist# = 0.5 If EntityDistance(mesh,pivot) > 1 Then PointEntity mesh,pivot If EntityX(mesh)<EntityX(pivot) +MoveDist/2 or entityx(mesh)>entityx(pivot)-MoveDist/2 Or EntityY(mesh)<EntityY(pivot)+MoveDist/2 or EntityY(mesh)>EntityY(pivot)-MoveDist/2 Or EntityZ(mesh)<EntityZ(pivot)+MoveDist/2 or EntityZ(mesh)>EntityZ(pivot)-MoveDist/2 Then MoveEntity mesh,0,0,MoveDist positionentity mesh, entityx(mesh), terrainy(terrain,entityx(mesh), entityy(mesh),entityz(mesh)),entityz(mesh) EndIf If MouseDown(1) Then CameraPick(cam,MouseX(),MouseY()) PositionEntity pivot,PickedX(),PickedY()+TerrainY+5,PickedZ() EndIf |
||
ZaRaK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
super, jetz klappts... jetz dreht sich das mesh bloss noch um 90-180° wenns stehn bleibt.. so genau kann ich das nich erkennen weil mein mesh momentan noch ne kugel is | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
da hat ich doch glatt noch was vergessen. deswegen glei nochma dieses mal komplett ...
Code: [AUSKLAPPEN] MoveDist# = 0.5
If EntityDistance(mesh,pivot) > 2*MoveDist Then PointEntity mesh,pivot If EntityX(mesh)<EntityX(pivot) +MoveDist/2 or entityx(mesh)>entityx(pivot)-MoveDist/2 Or EntityY(mesh)<EntityY(pivot)+MoveDist/2 or EntityY(mesh)>EntityY(pivot)-MoveDist/2 Or EntityZ(mesh)<EntityZ(pivot)+MoveDist/2 or EntityZ(mesh)>EntityZ(pivot)-MoveDist/2 Then MoveEntity mesh,0,0,MoveDist positionentity mesh, entityx(mesh), terrainy(terrain,entityx(mesh), entityy(mesh),entityz(mesh)),entityz(mesh) EndIf If MouseDown(1) Then CameraPick(cam,MouseX(),MouseY()) PositionEntity pivot,PickedX(),PickedY()+TerrainY+5,PickedZ() EndIf |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group