Gamestudio Links
Zorro Links
Newest Posts
Newbie Questions
by fairtrader. 12/05/23 14:22
Zorro Trader GPT
by TipmyPip. 12/04/23 11:34
Square root rule
by Smallz. 12/02/23 09:15
RTest not found error
by TipmyPip. 12/01/23 21:43
neural function for Python to [Train]
by TipmyPip. 12/01/23 14:47
Xor Memory Problem.
by TipmyPip. 11/28/23 14:23
Training with command line parameters
by TipmyPip. 11/26/23 08:42
Combine USD & BTC Pairs In Asset Loop
by TipmyPip. 11/26/23 08:30
AUM Magazine
Latest Screens
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Who's Online Now
3 registered members (TedMar, AndrewAMD, fairtrader), 578 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
Newest Members
fairtrader, hus, Vurtis, Harry5, KelvinC
19019 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 5 of 9 1 2 3 4 5 6 7 8 9
Re: Ideen wie man einen Zug auf Schienen halten ka [Re: Puppeteer] #110674
02/09/07 13:55
02/09/07 13:55
Joined: Jun 2005
Posts: 152
Weiterstadt, Germany
A
Alexander Offline OP
Member
Alexander  Offline OP
Member
A

Joined: Jun 2005
Posts: 152
Weiterstadt, Germany
Hi, du kannst dir den Script ja mal anschauen wie ich es jetzt gemacht habe. Wahrscheinlich habe ich deine Idee eh nicht so umgesetzt wie du es vorgeschlagen hast. Aber schau einfach mal drüber.

Code:

var Sensor_links;
var Sensor_rechts;
var Sensor_mitte;
var Sensor_links_Distanz;
var Sensor_rechts_Distanz;
var Sensor_Distanz_Sollwert;

var Zug_Geschwindigkeit = 0;
var Zug_Drehgeschwindigkeit_links = 0;
var Zug_Drehgeschwindigkeit_rechts = 0;


action SensorLinks
{
while(1)
{
Sensor_links_Distanz = c_trace(Sensor_links.x, Sensor_mitte.x, IGNORE_ME);

my.x = Sensor_links.x;
my.y = Sensor_links.y;
my.z = Sensor_links.z;

wait(1);
}
}

action SensorRechts
{
while(1)
{
Sensor_rechts_Distanz = c_trace(Sensor_rechts.x, Sensor_mitte.x, IGNORE_ME);

my.x = Sensor_rechts.x;
my.y = Sensor_rechts.y;
my.z = Sensor_rechts.z;

wait(1);
}
}

action SensorMitte
{
while(1)
{
Sensor_Distanz_Sollwert = ((Sensor_links_Distanz + Sensor_rechts_Distanz) / 2);

my.x = Sensor_mitte.x;
my.y = Sensor_mitte.y;
my.z = Sensor_mitte.z;

wait(1);
}
}


action Triebfahrzeug
{
while(1)
{
// Kamera positionieren
// --------------------
vec_set(camera.pos, my.pos);
camera.pan = my.pan;


// Sensor links
// ------------
Sensor_links.x = my.x + 200 * cos(my.pan) - 50 * sin(my.pan);
Sensor_links.y = my.y + 200 * sin(my.pan) + 50 * cos(my.pan);
Sensor_links.z = my.z - 60;

// Sensor rechts
// -------------
Sensor_rechts.x = my.x + 200 * cos(my.pan) + 50 * sin(my.pan);
Sensor_rechts.y = my.y + 200 * sin(my.pan) - 50 * cos(my.pan);
Sensor_rechts.z = my.z - 60;

// Sensor mitte
// ------------
Sensor_mitte.x = my.x + 200 * cos(my.pan);
Sensor_mitte.y = my.y + 200 * sin(my.pan);
Sensor_mitte.z = my.z - 60;


// Position nach rechts anpassen
// -----------------------------
IF(Sensor_links_Distanz > Sensor_Distanz_Sollwert + 1)
{
IF(Zug_Drehgeschwindigkeit_links < (Zug_Geschwindigkeit / 4))
{ Zug_Drehgeschwindigkeit_links += 0.1 * time; }

my.pan -= Zug_Drehgeschwindigkeit_links * time;
}

// Position nach links anpassen
// ----------------------------
IF(Sensor_rechts_Distanz > Sensor_Distanz_Sollwert + 1)
{
IF(Zug_Drehgeschwindigkeit_rechts < (Zug_Geschwindigkeit / 4))
{ Zug_Drehgeschwindigkeit_rechts += 0.1 * time; }

my.pan += Zug_Drehgeschwindigkeit_rechts * time;
}


// Gas, Bremse, ausschalten
// ------------------------
IF(key_w == on)
{ Zug_Geschwindigkeit.x += 1 * time; }

IF(key_s == on)
{ Zug_Geschwindigkeit.x -= 1 * time; }

IF(key_x == on)
{
Zug_Geschwindigkeit.x = 0;
Zug_Geschwindigkeit.y = 0;
}

// Y Position anpassen
// -------------------
IF(key_a == on)
{ Zug_Geschwindigkeit.y = 0.2 * time; }

IF(key_d == on)
{ Zug_Geschwindigkeit.y = -0.2 * time; }


// Bewegungen umsetzen
// -------------------
c_move(my, Zug_Geschwindigkeit, nullvector, GLIDE);

wait(1);
}
}



Die Action "SensorLinks", "SensorRechts" und "SensorMitte" sind nur dazu da, dass ich mir die Punkte durch ein Modell darstellen lassen kann.

Last edited by Alexander; 02/09/07 13:58.

Gruß
Alex =)
Re: Ideen wie man einen Zug auf Schienen halten ka [Re: Alexander] #110675
02/09/07 17:45
02/09/07 17:45
Joined: Jan 2007
Posts: 2,247
Deutsch Niedersachsen
Puppeteer Offline
Expert
Puppeteer  Offline
Expert

Joined: Jan 2007
Posts: 2,247
Deutsch Niedersachsen
Funktioniert es denn?
Habe es nicht ausprobiert, ich glaube aber dass du sensor mitte Falsch gemacht hast. Auch würde ich keine Actions benutzen sondern dass direkt in die Zugfunktion machen, da es sonst passieren kann dass sensor mitte mit alten werten arbeitet

Omega


Formally known as Omega
Avatar randomness by Quadraxas & Blade
http://omegapuppeteer.mybrute.com
Re: Ideen wie man einen Zug auf Schienen halten ka [Re: Puppeteer] #110676
02/09/07 20:10
02/09/07 20:10
Joined: Jun 2005
Posts: 152
Weiterstadt, Germany
A
Alexander Offline OP
Member
Alexander  Offline OP
Member
A

Joined: Jun 2005
Posts: 152
Weiterstadt, Germany
Also das funktioniert durchaus. Das mit SensorMitte ist richtig (funktioniert zumindest ), mit den Actions hast du recht, die habe ich nur erstellt, um Modellen die Koordinaten der Sensoren zuzuweisen, damit ich die am Anfang richtig einstellen konnte.

Es gibt allerdings noch 2 Sachen die mich stören.


1. Wenn die Drehung aufhört, stoppt es zu abrupt, das muss ich noch lösen.

2. Wenn "Zug_Geschwindigkeit.x" > 25 ist, funktioniert der Script nicht mehr. Trace wird zurück auf 0 gesetzt und es geht einfach nicht mehr.


Gruß
Alex =)
Re: Ideen wie man einen Zug auf Schienen halten ka [Re: Alexander] #110677
02/10/07 10:29
02/10/07 10:29
Joined: Jan 2007
Posts: 2,247
Deutsch Niedersachsen
Puppeteer Offline
Expert
Puppeteer  Offline
Expert

Joined: Jan 2007
Posts: 2,247
Deutsch Niedersachsen
2 könnte daran liegen dass die Tracer zu nah an den schienen sind...
Und dann bei hoher geschwindigkeit irgentwo in den Schienen stecken...

Hast du allse in eine Action gepackt? Dass ist wirklich besser!
Hast dus auch schon mit kurven probiert?

Grüße
Omega
P.s. Wieso denn A-D inkeys?
Man kann mit einem Zug doch nicht seitwärtsfahren?


Formally known as Omega
Avatar randomness by Quadraxas & Blade
http://omegapuppeteer.mybrute.com
Re: Ideen wie man einen Zug auf Schienen halten ka [Re: Puppeteer] #110678
02/10/07 11:49
02/10/07 11:49
Joined: Jun 2005
Posts: 152
Weiterstadt, Germany
A
Alexander Offline OP
Member
Alexander  Offline OP
Member
A

Joined: Jun 2005
Posts: 152
Weiterstadt, Germany
Hi, mit 2. könntest du recht haben, das werde ich, sobald ich wieder zuhause bin, einmal ausprobieren (also morgen Abend).

Alles in eine Action hinein zu packen ist kein Problem. Die Kurven an sich funktionieren, wie gesagt, wenn die Drehung zu Ende ist, bleibt er zu abrupt stehen. Da muss ich die Geschwindigkeit beim Drehen noch langsam reduzieren, das bekomme ich aber auch noch hin.

Wieso Key A und D? Das war nur zum testen, damit ich die Position per Hand anpassen konnte.


Gruß
Alex =)
Re: Ideen wie man einen Zug auf Schienen halten ka [Re: Alexander] #110679
02/10/07 13:52
02/10/07 13:52
Joined: Jan 2007
Posts: 2,247
Deutsch Niedersachsen
Puppeteer Offline
Expert
Puppeteer  Offline
Expert

Joined: Jan 2007
Posts: 2,247
Deutsch Niedersachsen
Ahhh...
Ist aber komisch dass er stehn bleibt...
Sollte ja eigentlich nichts an den speed werten verändern....
Ahhh ich weiß warum!
Du musst die Schienen passable machen! das wird helfen!
Und natürlich ignore passable beim trace wegnehmen
Omega


Formally known as Omega
Avatar randomness by Quadraxas & Blade
http://omegapuppeteer.mybrute.com
Re: Ideen wie man einen Zug auf Schienen halten ka [Re: Puppeteer] #110680
02/10/07 14:32
02/10/07 14:32
Joined: Jun 2005
Posts: 152
Weiterstadt, Germany
A
Alexander Offline OP
Member
Alexander  Offline OP
Member
A

Joined: Jun 2005
Posts: 152
Weiterstadt, Germany
Ich glaube du hast mich falsch verstanden. Der Zug bleibt nicht stehen, sondern wenn die Drehung vollendet ist (sprich der Zug richtig ausgerichtet wurde), wird ja "Zug_Drehgeschwindigkeit_rechts" bzw. "Zug_Drehgeschwindigkeit_links" direkt auf 0 gesetzt. Das muss ich noch "sanfter" machen.

Wenn das Problem 2 von oben auch noch gelöst ist, dann steht das meiste ja. Dann geht es weiter an die Weichen und an die Wagen.


Gruß
Alex =)
Re: Ideen wie man einen Zug auf Schienen halten ka [Re: Alexander] #110681
02/10/07 15:23
02/10/07 15:23
Joined: Jun 2006
Posts: 2,640
Earth
Germanunkol Offline
Expert
Germanunkol  Offline
Expert

Joined: Jun 2006
Posts: 2,640
Earth
Tipp: benutze statt drehgeschwindigkeit_rechts und links nur einz.
Wenn du davon abziehst wird es pan kleiner, ansonsten größer:

Code:
  

IF(Sensor_links_Distanz > Sensor_Distanz_Sollwert + 1)
{
IF(Zug_Drehgeschwindigkeit_links < (Zug_Geschwindigkeit / 4))
{ Zug_Drehgeschwindigkeit_links += 0.1 * time; }

my.pan -= Zug_Drehgeschwindigkeit_links * time;
}

// Position nach links anpassen
// ----------------------------
IF(Sensor_rechts_Distanz > Sensor_Distanz_Sollwert + 1)
{
IF(Zug_Drehgeschwindigkeit_rechts < (Zug_Geschwindigkeit / 4))
{ Zug_Drehgeschwindigkeit_rechts += 0.1 * time; }

my.pan += Zug_Drehgeschwindigkeit_rechts * time;
}



sollte ersetzt werden können durch:

Code:
 
IF(Sensor_links_Distanz > Sensor_Distanz_Sollwert + 1)
{
IF(Zug_Drehgeschwindigkeit < (Zug_Geschwindigkeit / 4))
{ Zug_Drehgeschwindigkeit += 0.1 * time; }
}

// Position nach links anpassen
// ----------------------------
IF(Sensor_rechts_Distanz > Sensor_Distanz_Sollwert + 1)
{
IF(Zug_Drehgeschwindigkeit < (Zug_Geschwindigkeit / 4))
{ Zug_Drehgeschwindigkeit += 0.1 * time; }


}
my.pan += Zug_Drehgeschwindigkeit * time;





so sollte es einfacher sein die drehung langsamer zu stoppen...

geht das? Bringt das irgendwas??

Micha


~"I never let school interfere with my education"~
-Mark Twain
Re: Ideen wie man einen Zug auf Schienen halten ka [Re: Germanunkol] #110682
02/10/07 16:34
02/10/07 16:34
Joined: Jan 2007
Posts: 2,247
Deutsch Niedersachsen
Puppeteer Offline
Expert
Puppeteer  Offline
Expert

Joined: Jan 2007
Posts: 2,247
Deutsch Niedersachsen
@ germanunkol
Wir wollen den Zug ja nicht smoth drehen, er soll ja gleich perfekt auf den schienen sitzen!
Omega


Formally known as Omega
Avatar randomness by Quadraxas & Blade
http://omegapuppeteer.mybrute.com
Re: Ideen wie man einen Zug auf Schienen halten ka [Re: Puppeteer] #110683
02/10/07 18:16
02/10/07 18:16
Joined: Jun 2006
Posts: 2,640
Earth
Germanunkol Offline
Expert
Germanunkol  Offline
Expert

Joined: Jun 2006
Posts: 2,640
Earth
Hmm... ist das nicht das gleiche, in diesem fall?

Gut, ich denke ich verstehe was du meinst. Aber wenn er immer perfeckt auf den schienen sitzen sollte, wieso stoppt dann die drehung so aprupt? ist das vielleicht weil die schinen aprupt den winkel wechseln?

Micha


~"I never let school interfere with my education"~
-Mark Twain
Page 5 of 9 1 2 3 4 5 6 7 8 9

Moderated by  HeelX, Lukas, rayp, Rei_Ayanami, Superku, Tobias, TWO, VeT 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1