Abnahmefaktor berechnen
Übersicht

toni123Betreff: Abnahmefaktor berechnen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hey Leute,
ich versuche gerade ein Objekt zu Skalieren, bei dem der Wert bei jedem Schleifendurchlauf um 1/x2 abnehmen soll. x stellt in dem Fall die Entfernung zu einem anderen Objekt dar. Beim Erstellen Skaliere ich mit ScaleMesh, wobei ich mir auch nicht sicher bin, ob es besser ist ScaleMesh oder Scale Entity zu nutzen Code: [AUSKLAPPEN] ScaleMesh a\entity, 1.3, 1.3, 1.3 In der Funktion: Code: [AUSKLAPPEN] Local s# = 1 Mod (EntityDistance(a\entity, test2)^2) Local w# = 1.3 - s Anschliessend: ScaleMesh a\entity, w, w, w Weiß jemand ob ich bei der Berechnung einen fehler gemacht habe, oder ob ScaleMesh mit den Werten nicht klarkommt? Grüße Toni |
||
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
ScaleMesh mesh,0.5,0.5,0.5
würde bei jedem Schleifendurchlauf das Mesh um die Hälfte in jede Richtung verkleinern. ScaleEntity mesh,0.5,0.5,0.5 skaliert bei jedem Schleifendurchlauf das Mesh neu auf die Hälfte der Originalgröße in jeder Richtung. und wenn x bei dir die Entfernung ist mach doch: d#=EntityDistance(...,...) w#=1/(d*d) |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also.
ScaleMesh scalliert die Vertex-Punkte im Mesh, heißt, wenn du zweimal ScaleMesh mit z.B 0.5 anwedest ist das Object nur noch 0.25 mal so groß wie vorher. ScaleEntity hingegen verändert nur die Mal-Größe, also den Faktor mit dem die Vertexpunkte zur mitte hin stehen. Für dein vorhaben musst du also ScaleEntity nehmen, da dort nur der Faktor gesetz wird und nicht die grund daten verändert. mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
toni123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Gut, ich vernwende ScaleEntity.
Allerdings zeigt er mir die Objekte jetzt gar nicht mehr an. Natürlich nehm ich ja jetzt statt Code: [AUSKLAPPEN] Local w# = 1.3 - s
Code: [AUSKLAPPEN] Local w# = 1 - s
aber er die Objekte sind schlicht und einfach nicht da. das Programm läuft zwar wie gewohnt weiter, aber keine Objekte mehr zu sehen. EDIT: er zeigt die Objekte an, allerdings von Anfang an sehr klein und sie werden nicht skaliert |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Local s# = 1 Mod (EntityDistance(a\entity, test2)^2)
Ich schätze mal, da kommt immer 1 raus oder? Also außer für sehr kleine Distanzen - wobei ich gar ned weiß, wie sich Modulo verhält, wenn der Modul eine Zahl zwischen 0 und 1 ist ![]() Na jedenfalls gehts dir darum, den wert auf 0 bis 1 zu begrenzen, richtig? Dann mach folgendes: Code: [AUSKLAPPEN] Local s# = EntityDistance(a\entity, test2)^2
s#=s#-Floor(s#) mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
toni123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nein, denn der Faktor ist ja 1/x^2
anschliessend ziehe ich das ja von 1 ab. Das heißt letztendlich kommt der wert 1 nur dann raus, wenn ich eine Entfernung von 0.5 hab. Aber auch mit Floor sind die Teile von anfang an total klein und bleiben auch klein. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group