Gamestudio Links
Zorro Links
Newest Posts
loading historical data 1st time
by AndrewAMD. 04/14/23 12:54
Trade at bar open
by juanex. 04/13/23 19:43
Bug in Highpass2 filter
by rki. 04/13/23 09:54
Adding Limit Orders For IB
by scatters. 04/11/23 16:16
FisherN
by rki. 04/11/23 08:38
AUM Magazine
Latest Screens
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Hecknex World
Who's Online Now
3 registered members (AndrewAMD, Grant, Neb), 908 guests, and 6 spiders.
Key: Admin, Global Mod, Mod
Newest Members
rki, FranzIII, indonesiae, The_Judge, storrealba
18919 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Groups woking with physic? #242772
12/25/08 16:49
12/25/08 16:49
Joined: Dec 2008
Posts: 222
janerwac13 Offline OP
Member
janerwac13  Offline OP
Member

Joined: Dec 2008
Posts: 222
Hallo meine frage ist wenn ich ein Auto habe kann ich mit der physik die Reifen die ich in Groups eingeteilt habe mit der Pysic engine bewgen wie in anderen Spielen wie Burnout oder DTM2 ...

Hi my question is how can i write that moved the Group tyres from my car?

Re: Groups woking with physic? [Re: janerwac13] #242778
12/25/08 17:07
12/25/08 17:07
Joined: Dec 2005
Posts: 490
Germany/Berlin-Velten
kasimir Offline
Senior Member
kasimir  Offline
Senior Member

Joined: Dec 2005
Posts: 490
Germany/Berlin-Velten
hast du die Reifen als Joints (Gelenke) an den Carbody gebunden?

wenn nicht - solltest du dir mal die phcon_ Befehle in der Manual angucken!
dort steht auch alles genau erklärt!

wenn ja kannst du dazu den Befehl phcon_setmotor verwenden!
damit kannst du dann aber nur einen Reifen per Pointer (constraint) bewegen!
müsstest den Befehl also 4 man aufrufen (1x pro reifen)

gibt in der AUM 46 nen schön einfaches Beispiel - ansonsten die Tempaltes!

Re: Groups woking with physic? [Re: kasimir] #242780
12/25/08 17:14
12/25/08 17:14
Joined: Dec 2008
Posts: 222
janerwac13 Offline OP
Member
janerwac13  Offline OP
Member

Joined: Dec 2008
Posts: 222
ne ich meine sie sind schon am Auto dran nur im Modell editor in Groups unterteilt

Last edited by janerwac13; 12/25/08 17:14.
Re: Groups woking with physic? [Re: janerwac13] #242807
12/25/08 19:56
12/25/08 19:56
Joined: Dec 2005
Posts: 490
Germany/Berlin-Velten
kasimir Offline
Senior Member
kasimir  Offline
Senior Member

Joined: Dec 2005
Posts: 490
Germany/Berlin-Velten
Das geht, soweit ich weis, überhaupt nicht, die Engine kann Gruppen so nicht verarbeiten (höchstens für Texturen).

Die Räder müssen einzeln sein!
Wie gesagt guck dir mal die phcon_ Befehle an - speziell PH_HINGE und PH_WHEEL!
AUM 46 kann ich da nur weiterempfehlen - eignet sich gut zum "rumprobieren"...

Re: Groups woking with physic? [Re: kasimir] #242864
12/26/08 08:45
12/26/08 08:45
Joined: Dec 2008
Posts: 222
janerwac13 Offline OP
Member
janerwac13  Offline OP
Member

Joined: Dec 2008
Posts: 222
und wie schreibe ich dann das die räder wenn sie einzeln sind immer wenn das Modell geladen wird am Auto sind auch wenn ich das auto auswähle und dann die strecke geladen wird

Re: Groups woking with physic? [Re: janerwac13] #242867
12/26/08 08:53
12/26/08 08:53
Joined: Dec 2005
Posts: 490
Germany/Berlin-Velten
kasimir Offline
Senior Member
kasimir  Offline
Senior Member

Joined: Dec 2005
Posts: 490
Germany/Berlin-Velten
über ent_create des Auto_modells!
Entweder durch direkte eingabe der Koordinaten, oder durch die Ermittlung eines Entsprechenden Vertex an der Position der Achse.

alles weitere kannst du dann machen, zuerst das Auto selbst als Physic Objekt deklarieren, dann die Räder und danach die Räder per phcon_add mit dem Auto verbinden.

Hier ist ein komplettes Script, aber die Zeit und muse hab ich nicht das ganze zu erklären -> MANUAL!!!
Code:
//cart_defines------------------------------------------------------------------------------------

#define spring 90000
#define damper 1000

#define FR	0
#define FL	1
#define RR	2
#define RL	3

//------------------FR-----FL----RR----RL	->Vertex num
var wheel_pos[4] = {290,	288,	289,	287};

//cart_skills-------------------------------------------------------------------------------------

var phent_group_count = 1;

#define phent_group	skill10
#define wheel_index	skill11

#define wheel_id 	12
#define wheel0 	skill12
#define wheel1 	skill13
#define wheel2 	skill14
#define wheel3 	skill15


function main()
{
	video_screen = 1;

	level_load("map.WMB");
	wait(2);

	ph_setgravity (vector (0, 0, -1800));
	ph_setcorrections (25000, 0.05);

	player = ent_create ("cart.mdl", vector (1000, 0, 0), init_cart);

	wait (2);

	VECTOR temp;

	while (1)
	{
		phcon_setmotor (player.skill[wheel_id + RR], nullvector, vector (5000 * -key_force.y, 350, 0), nullvector); 
		phcon_setmotor (player.skill[wheel_id + RL], nullvector, vector (5000 * -key_force.y, 350, 0), nullvector); 


		phcon_getposition (player.skill[wheel_id + FR], temp.x);
		phcon_setmotor (player.skill[wheel_id + FR], vector(((50 * key_force.x) - temp.x) * minv(time_step, 1), 500, 0),
		vector (5000 * -key_force.y, 350, 0), nullvector);

		phcon_getposition (player.skill[wheel_id + FL], temp.x);
		phcon_setmotor (player.skill[wheel_id + FL], vector(((50 * key_force.x) - temp.x) * minv(time_step, 1), 500, 0),
		vector (5000 * -key_force.y, 350, 0), nullvector);


		vec_set (temp.x, vector (-500, 0, 200));
		vec_rotate (temp.x, player.pan);

		vec_add (temp.x, player.x);

		vec_set (camera.x, temp.x);
		vec_set (camera1.pan, player.pan);

		camera1_view.tilt -= 20;

		wait (1);
	}
}


void init_wheel ();

void init_cart ()
{
	set (my, SHADOW);

	wait (1);

	phent_group_count += 1;
	my.phent_group = phent_group_count;	

	c_setminmax (me);

	phent_settype (my, PH_RIGID, PH_BOX);
	phent_setmass (my, 7, PH_BOX);
	phent_setfriction (my, 10);
	phent_setdamping (my, 15, 15);
	phent_setelasticity (my, 40, 100);
	phent_setgroup (my, my.phent_group);

	VECTOR temp;

	for (my.wheel_index = 0; my.wheel_index < 4; my.wheel_index++)
	{
		vec_for_vertex (temp.x, me, wheel_pos[my.wheel_index]);
		ent_create ("wheel.mdl", temp.x, init_wheel);
	}

	wait (1);
	
	phcon_setparams2 (my.skill[wheel_id + FR], vector (-30, 30, 0), nullvector, vector (spring, damper, 0));
	phcon_setparams2 (my.skill[wheel_id + FL], vector (-30, 30, 0), nullvector, vector (spring, damper, 0));
}



void init_wheel ()
{
	

	my.skill1 = you.wheel_index;

	if (my.skill1 > 1) vec_scale (my.scale_x, 1.25);

	set (my, SHADOW);

	c_setminmax (me);

	phent_settype (my, PH_RIGID, PH_SPHERE);
	phent_setmass (my, 12, PH_SPHERE);
	phent_setfriction (my, 80);
	phent_setdamping (my, 25, 5);
	phent_setelasticity (my, 0, 100);
	phent_setgroup (my, you.phent_group);


	you.skill[wheel_id + my.skill1] = phcon_add (PH_WHEEL, you, me);
	phcon_setparams1 (you.skill[wheel_id + my.skill1], my.x, vector (0, 0, 1), vector (0, 1, 0));
	phcon_setparams2 (you.skill[wheel_id + my.skill1], nullvector, nullvector, vector (spring, damper, 0));
}


Last edited by kasimir; 12/26/08 09:02.

Moderated by  HeelX, Spirit 

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