Gamestudio Links
Zorro Links
Newest Posts
Change chart colours
by 7th_zorro. 05/11/24 09:25
Data from CSV not parsed correctly
by dr_panther. 05/06/24 18:50
AUM Magazine
Latest Screens
The Bible Game
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Who's Online Now
2 registered members (AndrewAMD, VoroneTZ), 1,507 guests, and 5 spiders.
Key: Admin, Global Mod, Mod
Newest Members
firatv, wandaluciaia, Mega_Rod, EternallyCurious, howardR
19050 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Schwerkraft mit Kollisionsabfrage #353407
01/09/11 21:49
01/09/11 21:49
Joined: Sep 2010
Posts: 26
Germany
N
neo_scripting Offline OP
Newbie
neo_scripting  Offline OP
Newbie
N

Joined: Sep 2010
Posts: 26
Germany
Hi,

Ich erstelle mit dieser Funktion einen Cube:

Code:
function create_cube() // Erstellt einen Würfel
{
	while (mouse_left == 1) {wait(1);} // Wartet bis Maustatse losgelassen wird
	while (1)
	{
		if (mouse_left == 1)
		{
			
			create_pos.x = mouse_pos.x;
			create_pos.y = mouse_pos.y;
			create_pos.z = camera.z;
			vec_for_screen (create_pos, camera);
			ent_create ("hauptgebäude.wmb", create_pos, NULL);
			
			
			
		}
		wait(1);
	}
	
}



Nun meine Frage:

Wie lasse ich die Schwerkraft auf diesen erstellten Cube wirken und gleichzeitig eine Kollisionsabfrage mit dem Levelboden?


MfG

neo_scripting

Re: Schwerkraft mit Kollisionsabfrage [Re: neo_scripting] #353418
01/09/11 22:46
01/09/11 22:46
Joined: Jul 2009
Posts: 1,198
Berlin, Germany
L
Liamissimo Offline
Serious User
Liamissimo  Offline
Serious User
L

Joined: Jul 2009
Posts: 1,198
Berlin, Germany
Mit der Physik-Enginge, such mal in der Manual nach "PhysX" wink


"Ich weiss nicht genau, was Sie vorhaben, aber Sie können keine Triggerzonen durch Ihr Level kullern lassen."
-JCL, 2011
Re: Schwerkraft mit Kollisionsabfrage [Re: Liamissimo] #353457
01/10/11 14:58
01/10/11 14:58
Joined: Apr 2008
Posts: 650
Sajeth Offline
User
Sajeth  Offline
User

Joined: Apr 2008
Posts: 650
sieht aber eher aus, als würdest du das gebäude auf den boden pflanzen wollen. Benutz dafür c_trace.

Und übrigens ist dein code ziemlich seltsam... je nach FPS kann es sein, dass der dir mehrere Hundert hauptgebäude.wmb (würde da auch den Umlaut entfernen) pro Sekunde setzt...


Teleschrott-Fan.
Re: Schwerkraft mit Kollisionsabfrage [Re: neo_scripting] #353464
01/10/11 16:13
01/10/11 16:13
Joined: Sep 2010
Posts: 26
Germany
N
neo_scripting Offline OP
Newbie
neo_scripting  Offline OP
Newbie
N

Joined: Sep 2010
Posts: 26
Germany
Quote:
sieht aber eher aus, als würdest du das gebäude auf den boden pflanzen wollen. Benutz dafür c_trace.



Das will ich ja eig. bezwecken, nur aus irgendeinem Grund funktioniert es nicht, daher kam ich auf die Idee dieses Problem mit Hilfe der Gravitation und einer Kollisionsabfrage zu beheben.

Quote:
je nach FPS kann es sein, dass der dir mehrere Hundert hauptgebäude.wmb (würde da auch den Umlaut entfernen) pro Sekunde setzt...


Ja das ist mir auch direkt danach aufgefallen. Will es noch so umschreiben dass nach Erstellung eines Gebäudes die Funktion endet.

Re: Schwerkraft mit Kollisionsabfrage [Re: neo_scripting] #353467
01/10/11 16:26
01/10/11 16:26
Joined: Apr 2008
Posts: 650
Sajeth Offline
User
Sajeth  Offline
User

Joined: Apr 2008
Posts: 650
Dann entfern den unnützen part hier:
Code:
while (1)
	{
		if (mouse_left == 1)
		{


und c_trace funktioniert wunderbar. Ansonsten halt mit c_move (ohne Glide) nach unten machen.


Teleschrott-Fan.
Re: Schwerkraft mit Kollisionsabfrage [Re: neo_scripting] #353475
01/10/11 16:40
01/10/11 16:40
Joined: Sep 2010
Posts: 26
Germany
N
neo_scripting Offline OP
Newbie
neo_scripting  Offline OP
Newbie
N

Joined: Sep 2010
Posts: 26
Germany
Ich klicke erst einen Button an und anschließen Klicke ich mit der Maus ins Level und an dieser Stelle soll dann das Gebäude gesetzt werden, somit benötige ich ja den Part:

Code:
while (1)
{
      if (mouse_left == 1)
      {
          ...
      }

      wait(1);
}




Das mit c_trace werde ich gleich nochmal ausprobieren.

Re: Schwerkraft mit Kollisionsabfrage [Re: neo_scripting] #353478
01/10/11 16:56
01/10/11 16:56
Joined: Jun 2008
Posts: 428
Rasch Offline
Senior Member
Rasch  Offline
Senior Member

Joined: Jun 2008
Posts: 428
Am besten du tracest in das level hinein. Dazu kannst du von der Kamera zur create_pos tracen und wenn du dann auf etwas triffst, das Model dort platzieren.

Ka obs genau so geht. Habs grad vergessen ab versuch mal das ^^

Damit erstellt er die Entity dort wo man hinklickt. Je nachdem wie weit weg deine Kamera ist, musst du to.z erhöhen.

Code:
function gebaeude_platzieren()
{
	VECTOR from;
	VECTOR to;

	while(1)
	{
		if(mouse_left)
		{
			while(mouse_left){wait(1);} // Warte bis Maustaste losgelassen wird.

			vec_set(from.x, camera.x); // from bei Kamera Position

			to.x = mouse_pos.x;
			to.y = mouse_pos.y;
			to.z = 5000; // Tracestrahl Reichweite
			vec_for_screen (to, camera);

			c_trace(from,to,IGNORE_PASSABLE);

			if(trace_hit)
			{
				ent_create ("hauptgebäude.wmb", hit.x, NULL); // Wenn etwas getroffen dort platzieren
			}
		}
		wait(1);
	}
}



Re: Schwerkraft mit Kollisionsabfrage [Re: neo_scripting] #353485
01/10/11 18:07
01/10/11 18:07
Joined: Sep 2010
Posts: 26
Germany
N
neo_scripting Offline OP
Newbie
neo_scripting  Offline OP
Newbie
N

Joined: Sep 2010
Posts: 26
Germany
Vielen Dank, so funktioniert es einwandfrei. Alleine wäre ich nie darauf gekommen, den Befehl c_trace kannte ich bis zu diesem Zeitpunkt noch gar nicht.

Nochmals Vielen Dank smile

Re: Schwerkraft mit Kollisionsabfrage [Re: neo_scripting] #353486
01/10/11 18:13
01/10/11 18:13
Joined: Jun 2008
Posts: 428
Rasch Offline
Senior Member
Rasch  Offline
Senior Member

Joined: Jun 2008
Posts: 428
Ok dann nochmal zum Verständniss.

c_trace sendet einen Strahl von einer Position im 3D Raum zu einer anderen. Wenn der Strahl etwas trifft gibt er verschiedene Werte zurück. In unserem Fall hit.x. Die Position wo der Strahl aufgetroffen ist. Wir setzen also from auf die 3D Position unserer Kamera. Und dann wandeln wir unsere Mausposition in eine 3D Position um. Durch unseren Z-Wert versetzen wir so gesehen von unserer Kamera aus (bzw. deinen Augen) die Mausposition um 5000 Quants nach hinten. Dort ist dann unsere to Position. Der Strahl geht nun von der Kamera zur to Position, die sehr wahrscheinlich irgendwo unter unserem Level liegt.

Ergo: Der Strahl trifft die Level Oberfläche gibt den Wert hit.x zurück und dort kreieren wir unsere Entity laugh

Gerne geschehen

Re: Schwerkraft mit Kollisionsabfrage [Re: neo_scripting] #353489
01/10/11 18:35
01/10/11 18:35
Joined: Sep 2010
Posts: 26
Germany
N
neo_scripting Offline OP
Newbie
neo_scripting  Offline OP
Newbie
N

Joined: Sep 2010
Posts: 26
Germany
Auch nochmal vielen Dank für die Erklärung, jetzt hab auch ich es verstanden wink


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