Gamestudio Links
Zorro Links
Newest Posts
Zorro 2.70
by jcl. 09/29/25 09:24
optimize global parameters SOLVED
by dBc. 09/27/25 17:07
ZorroGPT
by TipmyPip. 09/27/25 10:05
assetHistory one candle shift
by jcl. 09/21/25 11:36
Plugins update
by Grant. 09/17/25 16:28
AUM Magazine
Latest Screens
Rocker`s Revenge
Stug 3 Stormartillery
Iljuschin 2
Galactic Strike X
Who's Online Now
3 registered members (NewbieZorro, TipmyPip, 1 invisible), 19,045 guests, and 8 spiders.
Key: Admin, Global Mod, Mod
Newest Members
krishna, DrissB, James168, Ed_Love, xtns
19168 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
phent_setgroup und kollision #16003
08/05/03 15:48
08/05/03 15:48
Joined: Apr 2003
Posts: 35
Germany
T
Teamon Offline OP
Newbie
Teamon  Offline OP
Newbie
T

Joined: Apr 2003
Posts: 35
Germany
So ich hab mal ein wenig rumexperimentiert mit mehreren objekten nachdem die Engine nun läuft.
Danke nochmal :-)

Nun habe ich mehrere Objekte und wollte gleich oderntlich Programieren also mit phent_setgroup.

Doch nun hab ich ein kleines Verständnissproblem oder einen Verbesserungsvorschlag je nachdem!

Also wenn ich mehrere Entitys der Physikengine zuweise, und dies außerhalb der Gruppe 1 mache, dann kollidieren diejenigen einer Gruppe z.B 2 nicht miteinander richtig ??

Wieso ? Ich finde es sollte zumindest ein Flag oder ein bit geben um dieses zu aktivieren.

Nehmen wir mal an ich habe 3 Räume und in jedem befinden sich 6 Objekte die alle miteinander interagieren sollen, und zwar physikalisch korrekt.

Nun kann ich im ersten Raum alle 6 Objekte auf phent_setgroup 1 legen. so weit so gut. doch nun kommen wir zu meine Problem:

Will ich nun die Objekte in Raum 2 getrennt von denen in Raum 1 aktivieren, so muss ich ihnen ja eine andere Gruppe zuweisen, also beginn eich bei Gruppe 2 doch wenn ich alle Objekte dieses Raumes in Gruppe 2 packe kollidieren sie nichtmehr miteinander!!! Also brauche ich für jedes Objekte des 2ten raumes eine eigene Gruppe.

oder gibt es da eine andere Möglichkeit??

Für den nächsten Raum oder weitere vollgende das gleiche Spiel!Also hätte ich in meinem Beispiel mit 3 Räumen a 6 Objekte 13 Gruppen belegt.

Also stimmt das so wie ich es geschrieben habe?
Wenn ja wie wäre es mit einem neuen Flag um die Kollisionserkennung in einer Gruppe zu aktivieren ?

Robert

Re: phent_setgroup und kollision #16004
08/13/03 18:05
08/13/03 18:05
Joined: Apr 2003
Posts: 35
Germany
T
Teamon Offline OP
Newbie
Teamon  Offline OP
Newbie
T

Joined: Apr 2003
Posts: 35
Germany
Ähm war meine Ausführung zu kompliziert so das keiner versteht was ich meine ? Oder nur in den falschen Bereich gepostet, oder interessiert es keinen ?

Robert

Re: phent_setgroup und kollision #16005
08/14/03 07:08
08/14/03 07:08
Joined: May 2002
Posts: 7,441
ventilator Offline
Senior Expert
ventilator  Offline
Senior Expert

Joined: May 2002
Posts: 7,441
du hast 5 entities in raum1 und 5 entities in raum2. du gruppen werden so eingeteilt:

raum1:

e1: 2
e2: 4
e3: 8
e4: 16
e5: 32

raum2:

e1: 64
e2: 128
e3: 256
e4: 512
e5: 1024

um die entities in raum2 zu aktivieren machst du dann folgendes:

var raum1;
var raum2;
raum1=2+4+8+16+32;
raum2=64+128+256+512+1024;

ph_selectgroup(raum2);

ich hab das nie ausprobiert aber so sollte es funktionieren...

Re: phent_setgroup und kollision #16006
08/19/03 14:51
08/19/03 14:51
Joined: Apr 2003
Posts: 35
Germany
T
Teamon Offline OP
Newbie
Teamon  Offline OP
Newbie
T

Joined: Apr 2003
Posts: 35
Germany
Ja so hab ich das auch gemacht!

Ich dachte aber eben das es unsinn ist!
Es wäre doch viel einfacher wenn für man Raum 1 alle Objekte Gruppe 2 zuweisen könnte, und für raum 2 Gruppe 3 usw.

Das geht ja auch und ich kann sie dann alle auf einmal an und ausschalten, doch die Kollision der Objekte in einer Gruppe tut ja nicht bzw ist nicht vorgesehen! Das sollte man ändern so mein ich das !

Robert

Re: phent_setgroup und kollision [Re: Teamon] #16007
09/29/03 17:16
09/29/03 17:16
Joined: Apr 2003
Posts: 35
Germany
T
Teamon Offline OP
Newbie
Teamon  Offline OP
Newbie
T

Joined: Apr 2003
Posts: 35
Germany
ich wollte jetzt nur noch mal nachfragen

Ist meine erklärung klar gewesen was ich verbessern wollte?
Oder hab ich mich falsch ausgedrückt?
Oder ist es allen egal wie es funktioniert ?
Oder ist es angekommen und wird geändert ??
Ein Feedback wäre fein!

Robert

Re: phent_setgroup und kollision [Re: Teamon] #16008
07/18/06 10:09
07/18/06 10:09
Joined: Sep 2005
Posts: 274
Switzerland - Zurich
zwecklos Offline
Member
zwecklos  Offline
Member

Joined: Sep 2005
Posts: 274
Switzerland - Zurich
Du hast völlig recht,
ich denke der eigentliche Sinn der Gruppierung besteht darin, Physik-Objekte aneinander kleben zu können ohne das diese jedes frame ne kollision auslösen (ph_hinge).

Aber ich würde mir auch so ein flag wünschen wo man das ab-und anstellen kann. Nur eine Gruppe (Group 1) die sowas erlaubt ist einfach zuwenig.
Gibt sicher Anwendungen wo so etwas hilfreich sein könnte

cheers

Zwecklos

Re: phent_setgroup und kollision [Re: zwecklos] #16009
07/18/06 22:37
07/18/06 22:37
Joined: Sep 2002
Posts: 8,177
Netherlands
PHeMoX Offline
Senior Expert
PHeMoX  Offline
Senior Expert

Joined: Sep 2002
Posts: 8,177
Netherlands
Dem code funktioniert richtig glaube ich. Beim phent_setgroup(); gehören entities der gleichen gruppe nicht nur bei einander, sie werden auch nie gegen einander zusammen stossen. Also dafür müsste mann für jedes neues objekt eine neue gruppe darstellen.

Du kannst aber auch einfach deine eigene physics gruppen-code machen, genau wie du es willst ... dafür gibt es ph_enable, womit mann sie ab- und anstellen kann...

Einfach die entitities der gleiche gruppe den gleichen zb. my.skill80 werte geben, also ' my.skill80=100; //für group1 ' und dann kann man das eben mit einen c_scan oder einfach durch den distanz zum player zu überprüfen, abstellen wenn zu weit weg, oder anstellen wenn in der nähe...

Mfg,


PHeMoX, Innervision Software (c) 1995-2008

For more info visit: Innervision Software
Re: phent_setgroup und kollision [Re: PHeMoX] #16010
07/19/06 09:15
07/19/06 09:15
Joined: Sep 2005
Posts: 274
Switzerland - Zurich
zwecklos Offline
Member
zwecklos  Offline
Member

Joined: Sep 2005
Posts: 274
Switzerland - Zurich
Ist sicher auch ne Lösung für jede entity eine eigene Gruppe zu machen. Aber dann könnte man auch einfach mit phent_enable arbeiten wie du es geschrieben hast.
Das Problem beginnt, wenn man die physik Objekte mit ent_create erstellt.
Phent_enable funktioniert dann nicht mehr weil ich mehrere Physik Objekte mit der gleichen Aktion erstellt habe und die dann auch alle gleich heissen. So greift phent_enable() nur noch auf das zuletzt erstellte entity welches sein Pointer auf "my" hat

Ich habe zurzeit eben genau dieses Problem, Ich versuche atm das ganze mit Gruppen zulösen bin aber wie es scheint zu blöd

http://www.coniserver.net/ubbthreads/showflat.php/Cat/0/Number/673358/an/0/page/0#Post673358

cheers

Zwecklos

Re: phent_setgroup und kollision [Re: zwecklos] #16011
07/19/06 13:36
07/19/06 13:36
Joined: Sep 2002
Posts: 8,177
Netherlands
PHeMoX Offline
Senior Expert
PHeMoX  Offline
Senior Expert

Joined: Sep 2002
Posts: 8,177
Netherlands
Ne, also das mit dem 'my' pointer stimmt nicht ganz, so muss mann das auch nicht ganz machen. Es geht darum auch jeder eine eigene pointer mit zu geben, dann wird es doch funktionieren. Schau mal;

Code:

physic_temp = ent_create( blablabla ... );
my.skill92 = handle(physic_temp);
physic_temp = ptr_for_handle(my.skill92);
while(vec_dist(my.x,player.x) < 400)
{
phent_enable( physic_temp, 1 ); //player ist in der nähe, also anstellen
wait(1);
}
//wenn nicht in der nähe, einfach abstellen
physic_temp = ptr_for_handle(my.skill92);
phent_enable(physic_temp,0);



Ich habe etwas wie diesen code benutzt bei meine radar code, und sollte auch für deine zwecken funktionieren mussen ...

Das mit dem phent_setgroup sollte eigentlich funktionieren mussen, gleich wie das im handbuch steht, so verwende ich das allerdings ...

Code:

phent_setgroup( player, 2 );
phent_setgroup( forcefield, 4 );
phent_setgroup( patrolling_bot, 4 );

while (1) {
if (player_inside_building) {
ph_selectgroup( 1+2+4 ); // activate group 1+2+4
} else {
ph_selectgroup( 1+2 ); // disable group 4 cause player has left the building
}
}



Ich hoffe das wird dir etwas weiter hilfen,

Edit: für deinen domino code musste mann dem code beim while() etwas ändern, nicht dem distanz nehmen, aber zum beispiel ihren physic_temp.roll werte... Vielleicht passiert da nichts, weil sie nie my.roll > 70 und my.roll < -70 haben?

Mfg,

Last edited by PHeMoX; 07/19/06 13:43.

PHeMoX, Innervision Software (c) 1995-2008

For more info visit: Innervision Software
Re: phent_setgroup und kollision [Re: PHeMoX] #16012
07/19/06 15:00
07/19/06 15:00
Joined: Sep 2005
Posts: 274
Switzerland - Zurich
zwecklos Offline
Member
zwecklos  Offline
Member

Joined: Sep 2005
Posts: 274
Switzerland - Zurich
Danke sieht sehr interessant aus, ich werde das morgen mal ausprobieren.
Die Roll-Werte gehen schon >70 / <-70. Ich hab nur Probleme bestimmte Gruppen zu deaktivieren. Wenn ich das so mach wie es im Handbuch steht, deaktivieren sich alle Gruppen keine Ahnung wieso.
Ich finde deine Lösung aber sowieso besser

Danke nochmals

cheers

Zwecklos


Moderated by  HeelX, Spirit 

Gamestudio download | 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