Hi,
ich versuche schießen in meinem spiel zu implementiern, ja ich habe die forensuche benutzt und ich habe mir die Demo angesehen. Eine automatische schusswaffe streut und ich bin mir nicht ganz im klaren wie ich so etwas korrekt erzielen kann. Ich verwende den code aus der demo zum schiessen, so weit funktioniert das auch ganz gut nur geht der ray immer punkt genau in den mittelpunkt (camera->getTarget()).
So weit ich das kapiert habe gibt es zwei wege einen waffenstreu-effekt zu erzielen.
1. direkt, den vektor den ich von camera->getTarget() geliefert bekomme abändern.
2. indirekt, das ziel der kamera mit camera->setTarget() minimal abändern.
allerdings erhalte ich bei beiden wegen nur ein mehr oder weniger schönes resultat und zwar, dass es bei dauerfeuer (halten von space, mehrere schüsse hintereinander) immer auf einen bestimmten punkt gelange. wenn ich nur die Y (kA sollte zwar Z sein aber gut) koordinate ändere zieht der ray immer weiter nach oben, ok das passt ja, nur wenn ich X oder Z änder landet der ray immer auf einem fixen punkt. z.B. die rechte obere ecke des fensters. wenn ich mich 180° drehe dann ist es genau invertiert aber noch der selbe pkt. also z.B. dann die linke obere ecke des fensters. hoffe es ist verständlich erklärt.
Fragen:
1) Wie kann ich sozusagen relative pkt. zuweisen, so dass es immer der selbe pkt. ist zu dem sich der ray hinzieht.
2) muss ich es überhaupt anders angehen?
3) wie kann ich die funktion in bestimmten zeitabstand (feuerrate) wiederholen lassen wenn die maustaste gehalten wird. (wie in jedem anderen FPS)
hier noch 2 bilder zum besseren verständniss:
schon mal danke im vorraus und lg lukrop