3 registered members (AndrewAMD, alibaba, Quad),
761
guests, and 2
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Wie schiesse ich einer Entity zwischen die Beine?
#142076
07/19/07 10:33
07/19/07 10:33
|
Joined: Nov 2005
Posts: 112
miez
OP
Member
|
OP
Member
Joined: Nov 2005
Posts: 112
|
Game Studio Commercial 6.60
Ich habe einen Zombie, der nur rumsteht, auf den ich mit c_trace oder auch mit einem Bulletmodell schiesse. Das Problem ist folgendes: Bei der Standardkollisionsabfrage kommt der Effekt auf, dass wenn ich zum Beispiel zwischen die Beine schiesse oder nah am Kopf vorbei, dass der Schuss trotzdem trifft. Nicht sehr realistisch, weil da ist ja eben nichts, was getroffen werden könnte. Also soll der Schuss einfach weiterfliegen\tracen. Ich habe es dann mit Use_polygon versucht, was auch sehr erfolgreich war, nur mit dem Problem, dass bei animierten Zombies trotzdem nur an den Stellen getroffen werden konnte, die das Modell bei der Standframe abdeckt (nur der erste Frame wird genommen), das heisst, der Zombie hebt die Arme hoch und wenn man auf die Arme schiesst, gehts durch und schiesst man neben seine Hüften, trifft man die Arme, die ja aber in dem Moment gar nicht an der Position sind. Und jetzt die logische Frage: Weiss jemand, wie man eine solche Kollisionsabfrage, wie ich sie brauche, mit Gamestudio bewerkstelligen kann? Spiele wie Doom 3, Counterstrike, und selbst schon Turok 2 hatten sowas ja schon, also muss es da ja eine Art "Trick" geben und kann kein topmodernes Feature aktueller Engines sein. Vielleicht kennt jemand sogar ein Tutorial für sowas (oder jemand kann sowas machen ). Das wäre am Besten.
|
|
|
Re: Wie schiesse ich einer Entity zwischen die Beine?
[Re: miez]
#142077
07/19/07 10:35
07/19/07 10:35
|
Joined: Jan 2002
Posts: 4,225 Germany / Essen
Uhrwerk
Expert
|
Expert
Joined: Jan 2002
Posts: 4,225
Germany / Essen
|
Schau mal im Manual unter c_updatehull(ENTITY* ent, var frame) nach.
Always learn from history, to be sure you make the same mistakes again...
|
|
|
Re: Wie schiesse ich einer Entity zwischen die Bei
[Re: Uhrwerk]
#142078
07/19/07 11:01
07/19/07 11:01
|
Joined: Nov 2005
Posts: 112
miez
OP
Member
|
OP
Member
Joined: Nov 2005
Posts: 112
|
Hat nichts gebracht. Ich habs grade probiert und bei C_updatehull schwebte der Zombie langsam nach oben (hat amit zu tun wie ich die Gravity programmiert habe, ist für mich also kein unerwarteter Fehler) und war völlig kollisionsfrei (das war unerwartet). Dann habe ich es mit C_setminmax probiert und der Schwebeeffekt war natürlich der gleiche, treffen war wieder möglich, nur war kein unterschied da. Ich vermute, dass c_updatehull nur für bounding boxen und nicht für polygonale Hüllen ist. Der Zombie konnte weiterhin nur dort getroffen werden, was er beim stehen bedeckt. Weiss jemand, wie es generell Technisch in anderen Spielen gemacht wurde?
Last edited by miez; 07/19/07 11:03.
|
|
|
Re: Wie schiesse ich einer Entity zwischen die Bei
[Re: miez]
#142079
07/20/07 07:19
07/20/07 07:19
|
Joined: Apr 2007
Posts: 582 Germany
Poison
User
|
User
Joined: Apr 2007
Posts: 582
Germany
|
hast du es schon mit my.collision = on probiert?
Everything is possible, just Do it!
|
|
|
Re: Wie schiesse ich einer Entity zwischen die Bei
[Re: Poison]
#142080
07/20/07 14:22
07/20/07 14:22
|
Joined: Nov 2005
Posts: 112
miez
OP
Member
|
OP
Member
Joined: Nov 2005
Posts: 112
|
Irre ich mich, oder steht im Manual nichts über My.collision=on; ? Ich habe zumindest nichts darüber gefunden. Was bewirkt das Collisions-Flag?
Hab den Befehl ausprobiert. So einen Flag gibt es nicht: "parameter unknown collision parameter"
Weiss niemand, wie individuelle Kollisionsabfragen funktionieren?
Last edited by miez; 07/20/07 14:33.
|
|
|
Re: Wie schiesse ich einer Entity zwischen die Bei
[Re: miez]
#142081
07/20/07 19:59
07/20/07 19:59
|
Joined: Apr 2007
Posts: 582 Germany
Poison
User
|
User
Joined: Apr 2007
Posts: 582
Germany
|
schau doch mal in den AUM´s 55 bis 57 nach dort stehts geschrieben!
Everything is possible, just Do it!
|
|
|
Re: Wie schiesse ich einer Entity zwischen die Bei
[Re: miez]
#142083
07/21/07 11:27
07/21/07 11:27
|
Anonymous
Unregistered
|
Anonymous
Unregistered
|
versuch mal bei deinem zombie my.polygon = on; zu setzen
|
|
|
Re: Wie schiesse ich einer Entity zwischen die Bei
[Re: ]
#142084
07/21/07 11:34
07/21/07 11:34
|
Joined: Jul 2002
Posts: 4,436 Germany, Luebeck
Xarthor
Expert
|
Expert
Joined: Jul 2002
Posts: 4,436
Germany, Luebeck
|
Nein, my.polygon = on; für dynamische (sprich sich-bewegende) entities zu setzen is tödlich. Dachte eigentlich, dass das mittlerweile oft genug gesagt wurde. c_updatehull(my,my.frame); Das ist schon der richtige ansatz. Wenn die entity dann anfängt zu schweben hast du deinen gravity code verbockt/verbugged. Desweiteren sollte die kugel und der zombie diese function mindestens einmal aufrufen. Da c_updatehull als "slow" gekennzeichnet ist und erst 2 frames später garantiert wirksame ist solltest du es nur bei wichtigen animations änderungen (stehen <-> knien oder halt arme heben) aufrufen. Ein korrektes, sicheres c_updatehull am beginn einer action sieht wie folgt aus: Code:
action my_entity { wait(1); c_updatehull(my,my.frame); wait(2); ...
|
|
|
Re: Wie schiesse ich einer Entity zwischen die Bei
[Re: Xarthor]
#142085
07/21/07 14:25
07/21/07 14:25
|
Joined: Apr 2007
Posts: 582 Germany
Poison
User
|
User
Joined: Apr 2007
Posts: 582
Germany
|
och sorry hab mich vertahn das hieß polygon und nicht collision.
Everything is possible, just Do it!
|
|
|
|