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
0 registered members (), 1,094 guests, and 1 spider.
Key: Admin, Global Mod, Mod
Newest Members
Hanky27, firatv, wandaluciaia, Mega_Rod, EternallyCurious
19051 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Page 1 of 2 1 2
PhysX-Probleme #355319
01/26/11 15:25
01/26/11 15:25
Joined: Sep 2003
Posts: 648
Switzerland
snake67 Offline OP
User
snake67  Offline OP
User

Joined: Sep 2003
Posts: 648
Switzerland
Hi

Ich habe soeben von A7 auf A8 "geupdated" und die grössten Probleme mit der PhysX-Engine, die ja die ODE-Physik abgelöst hat. Erst mal funktioniert sie ziemlich anders und einiges habe ich bisher mit dem besten Willen und vielen Posts und Hilfeversuche der netten Community einfach nicht hinbekommen. Wohlgemerkt keine neuen Sachen, sondern solche die unter A7 mit ODE problemlos liefen.

In meinem A7-Projekt ist der Player kein Physikobjekt, kann aber mit Physikobjekten interagieren. Bei meiner A8-Portierung hat das nicht funktioniert (die einzigen Änderungen waren zunächst von ODE auf PhysX). Daher habe ich versucht den Player als Physik-Charakter zu steuern, was problemlos geht. Nur ist dann keine Interaktion mit normalen Entities mehr möglich, sie verhalten sich "passable". Wenn ich diese (z.B. kleine) als Physikobjekt mit Eventfunktionen versehe, fallen sie durch das Level. Hier die verschiedenen Lösungsansätze, die bisher alle gescheitert sind:

Strange thing
Strange crash
pXent_settriggerflag Problems

Muss schon sagen, dass ich etwas enttäuscht bin. Da hät ich mir das Update ja eigentlich sparen können...

Re: PhysX-Probleme [Re: snake67] #355321
01/26/11 16:16
01/26/11 16:16
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Lesen Sie hier:

http://manual.3dgamestudio.net/pXent_settype.htm

http://manual.3dgamestudio.net/px_faq.htm

Damit Physik-Objekte mit anderen Objekten interagieren, müssen diese per pXent_settype registriert sein. Dies ist kein Bug, sondern völlig normal. Bevor Sie etwas mit der Physik-Engine machen, schauen Sie einfach kurz ins Handbuch und vor allem in die FAQ und die Beispiele.

Re: PhysX-Probleme [Re: jcl] #355324
01/26/11 16:20
01/26/11 16:20
Joined: Sep 2003
Posts: 648
Switzerland
snake67 Offline OP
User
snake67  Offline OP
User

Joined: Sep 2003
Posts: 648
Switzerland
Ja. Degen wäre ja nichts einzuwenden. Nur entziehen sie sich der Interaktion gleich beim initialisieren dadurch, das sie in Grund und Boden versinken...

Re: PhysX-Probleme [Re: snake67] #355327
01/26/11 16:23
01/26/11 16:23
Joined: Jul 2000
Posts: 27,986
Frankfurt
jcl Offline

Chief Engineer
jcl  Offline

Chief Engineer

Joined: Jul 2000
Posts: 27,986
Frankfurt
Das nennt man Schwerkraft. laugh

Re: PhysX-Probleme [Re: jcl] #355339
01/26/11 16:52
01/26/11 16:52
Joined: Sep 2003
Posts: 648
Switzerland
snake67 Offline OP
User
snake67  Offline OP
User

Joined: Sep 2003
Posts: 648
Switzerland
Jaja. Das mit der Schwerkraft habe ich irgendwann auch schon mal gehört... Das Problem ist nicht, dass Objekte herunterfallen, sondern dass sie durch das Level fallen. Aber vielleicht habe ich mich unklar ausgedrückt. Wenn ich ein Objekt folgendermassen initialisiere, funktioniert alles wunderbar, es fällt einfach auf den Boden:
Code:
pXent_settype(me, PH_RIGID, PH_BOX);

Sobald ich jedoch Event-Funktionalität hinzufüge...:
Code:
pXent_settype(me, PH_RIGID, PH_BOX);
pXent_settriggerflag(me, NX_TRIGGER_ON_ENTER, 1);

Dann fällt das Objekt durch den Boden. Das verstehe ich nicht und kann es auch nach öfteren Lesens des Handbuchs und einigen Herumprobierens nicht beheben.

Re: PhysX-Probleme [Re: snake67] #355347
01/26/11 17:26
01/26/11 17:26
Joined: Jul 2010
Posts: 974
United Arab Emirates, Dubai
TheShooter Offline
User
TheShooter  Offline
User

Joined: Jul 2010
Posts: 974
United Arab Emirates, Dubai
Versuch mal den Boden als PhysX Objekt zu definieren.


Staub ist das neue Prime!!

Programming is like sex:
One mistake and you have to support it for the rest of your life.

Aktuelles Projekt: http://thisiswargame.bplaced.net/index.html

A8 Commercial *freu*
Re: PhysX-Probleme [Re: TheShooter] #355351
01/26/11 17:36
01/26/11 17:36
Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Superku Offline
Senior Expert
Superku  Offline
Senior Expert

Joined: Sep 2003
Posts: 6,861
Kiel (Germany)
Der Boden ist "Block".
Ich kann snake67s Problem bestätigen.


"Falls das Resultat nicht einfach nur dermassen gut aussieht, sollten Sie nochmal von vorn anfangen..." - Manual

Check out my new game: Pogostuck: Rage With Your Friends
Re: PhysX-Probleme [Re: Superku] #355366
01/26/11 18:03
01/26/11 18:03
Joined: Sep 2003
Posts: 648
Switzerland
snake67 Offline OP
User
snake67  Offline OP
User

Joined: Sep 2003
Posts: 648
Switzerland
TheShooter: Ja, das habe ich auch schon probiert mit:
Code:
level_load(START_LEVEL);
pXent_settype(level_ent, PH_STATIC, PH_POLY | PH_MODIFIED);

Leider ohne Ergebnis.

Superkuh: Aha. Da bin ich aber beruhigt. Jetzt müssten wir das Problem nur noch lösen. Kann ja eigentlich nicht sein, dass da niemand anders drüber gestolpert ist, oder?

Re: PhysX-Probleme [Re: Superku] #355367
01/26/11 18:06
01/26/11 18:06
Joined: Oct 2004
Posts: 900
Lgh
rojart Offline
User
rojart  Offline
User

Joined: Oct 2004
Posts: 900
Lgh
Es scheint tatsächlich ein Bug zu sein, hier der geänderte physXtest.c demo mit pXent_settriggerflag funktion.
Alle Bälle sinken in dem boden, anstatt abprallen.

Code:
//////////////////////////////////////////////////////
// PhysX stress test
// (c) jcl / oP group 2010
//////////////////////////////////////////////////////
#include <default.c>
#include <ackphysx.h>
function EventTrigger()
{
        reset(my,TRANSLUCENT); //to visualize the collision
        pX_setforcemode(NX_FORCE);
        pXent_addexplosion(you,my.x,500,my.max_x/2); // you is the entity that collides with the trigger object
        wait(4);
        set(my,TRANSLUCENT);
        vec_set(my.blue,COLOR_BLACK);
}

// convert entity to a PhysX actor
function actor(type)
{
	set(my,LIGHT|CAST);
	if (num_entities < 250) set(my,SHADOW); 
	// set random size
	vec_fill(my.scale_x,0.6+random(0.4));
	// activate physics	
	pXent_settype(my,PH_RIGID,type);
	pXent_setelasticity(my,90);
	pXent_setccdskeleton(me, vector(0.2, 0.2, 0.2), 1);
	
	// set random initial speed	
	pXent_addvelcentral(my,vector(1-random(2),1-random(2),0));
	// remove entity when fallen over the edge of the ground plate
	while(1) {
		if (my.z < 0) { 
			ent_remove(me);
			return; 
		}
		wait(1);
	}
}

function ball()
{
	my.material = mat_metal;
	vec_set(my.blue,vector(0,random(100),150+random(100)));
	actor(PH_SPHERE);
	pXent_settriggerflag(my, NX_TRIGGER_ON_ENTER , 1);
	my.event = EventTrigger;
}

function cube()
{
	vec_set(my.blue,vector(150+random(100),random(100),0));
	actor(PH_BOX);
	pXent_setfriction(my,0); // ice cube
}

function main()
{
	shadow_stencil = 3;
	d3d_antialias = 4;
	max_entities = 3000;
	physX_open();
	pX_setccd(1);
	level_load(""); // load empty level
	vec_set(camera.x,vector(-380,0,80));

	// create ground plate
	ENTITY* ground = ent_create(CUBE_MDL,vector(0,0,0),NULL);
	vec_set(ground.scale_x,vector(20,20,1));
	pXent_settype(ground,PH_STATIC,PH_BOX); 
	pXent_setfriction(ground,10);
	
	// endlessly create entities	
	while(1){
		ent_create(SPHERE_MDL,vector(random(20),random(20),150),ball);
		if (random(100) > 70) ent_create(CUBE_MDL,vector(random(20),random(20),170),cube);
		wait(-0.05);
	}
}




Regards, Robert

Quote
Everything should be made as simple as possible, but not one bit simpler.
by Albert Einstein

PhysX Preview of Cloth, Fluid and Soft Body

A8.47.1P
Re: PhysX-Probleme [Re: rojart] #355370
01/26/11 18:15
01/26/11 18:15
Joined: Sep 2003
Posts: 648
Switzerland
snake67 Offline OP
User
snake67  Offline OP
User

Joined: Sep 2003
Posts: 648
Switzerland
Danke. Eine gute Idee, das so zu prüfen. Aber was nun?

Page 1 of 2 1 2

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