fahrzeug nutzung

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

ZaRaK

Betreff: fahrzeug nutzung

BeitragDi, Mai 25, 2004 16:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

;fahrzeuge
If EntityDistance(spieler,vehic) <= 20 And KeyHit(18) Then
HideEntity spieler
EntityParent spieler,vehic
EntityParent cam,vehic
If KeyHit(17) Then MoveEntity vehic, 0,0,1
EndIf

;steuerung
If KeyDown(30) Then MoveEntity spieler, -.5,0,0
If KeyDown(32) Then MoveEntity spieler, .5,0,0
If KeyDown(17) Then MoveEntity spieler, 0,0,.5
If KeyDown(31) Then MoveEntity spieler, 0,0,-.5


das verträgt sich irgendwie nicht miteinander, wie kann ich die fahrzeugsteuerung verwirklichen?
ich steh daneben, drück die taste, ich seh spieler nicht mehr, cam verfolgt nun fahrzeug, fahrzeug kann ich steuern, ich drück erneut die taste, spieler erscheint wieder neben dem fahrzeug, cam is parent auf spieler, wie mach ich das?
 

Dreamora

BeitragDi, Mai 25, 2004 16:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Am einfachsten durch eine Steuerungsroutine

wenn spieler im fahrzeug is, dann setzt du das fahrzeug als spielerparent und cam als fahrzeugparent

wenn fahrzeug = spielerparent dann läuft die steuerung des fahrzeuges ansonsten die steuerung des spielers

dann brauchst du auch das hideentity spieler nicht
 

ZaRaK

BeitragDi, Mai 25, 2004 16:28
Antworten mit Zitat
Benutzer-Profile anzeigen
aber dann seh ich doch ständig mein spielermesh neben dem auto herfliegen, bzw das steht dann noch an der stelle oder?
weil nur durch hide verschwindet das doch!?
oder ich hab hier grad ma voll den denkfehler..
 

Dreamora

BeitragDi, Mai 25, 2004 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
stehen bleiben tut es net.
Müsstest das Mesh schon so ausrichten, dass es im Fahrzeug "sitzt" ( oder was auch immer )

Dadurch, dass das Fahrzeug das Parent is, behält das Mesh danach seine Position im Fahrzeug und muss am ende lediglich wieder "aussteigen"

Für die Steuerung als solches ändert es ja nichts.
du kannst ansonsten auch ne Variable "imFahrzeug" machen ... wenn er drin is läuft die fahrzeugsteuerung, wenn nicht die Laufsteuerung.

Sollte eigentlich kein Problem sein, davon abgesehen dass die Fahrzeugsteuerung neben der direkten steuerung mehr physikalische Einflüsse bräuchte als normales laufen etc
 

ZaRaK

BeitragDi, Mai 25, 2004 17:07
Antworten mit Zitat
Benutzer-Profile anzeigen
ahh.. jetz hatte ich es grad so das es geklappt hat...
irgendwas muss ich jetz geändert haben.. weil wenn ich jetz in das fahrzeug einsteige, dann is auf einma mein spielermesh irgendwo in der map, wo es net hin gehört.. ich weiss aber nicht wieso...

Code: [AUSKLAPPEN]

;laufen/fahren
lf=0

;fahrzeugsteuerung
If EntityDistance(spieler,vehic) <= 20 And KeyHit(18) Then lf=1
If lf=1 Then
PositionEntity spieler, EntityX(vehic),EntityY(vehic),EntityZ(vehic)
EntityParent spieler,vehic
If KeyDown(30) Then TurnEntity vehic, 0,2,0
If KeyDown(32) Then TurnEntity vehic, 0,-2,0
If KeyDown(17) Then MoveEntity vehic, 0,0,1
If KeyDown(31) Then MoveEntity vehic, 0,0,-1
EndIf

;spielersteuerung
If lf=0 Then
If KeyDown(30) Then MoveEntity spieler, -.5,0,0
If KeyDown(32) Then MoveEntity spieler, .5,0,0
If KeyDown(17) Then MoveEntity spieler, 0,0,.5
If KeyDown(31) Then MoveEntity spieler, 0,0,-.5

RotateEntity spieler,EntityPitch(spieler)+MouseYSpeed(),EntityYaw(spieler)-MouseXSpeed(),0
MoveMouse 512,384
EndIf


siehst du irgendwo den fehler???
ich find einfach keinen Sad(
 

Dreamora

BeitragDi, Mai 25, 2004 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würd sagen der fehler liegt in einem der zwei modelle .. .weil durch

PositionEntity spieler, EntityX(vehic),EntityY(vehic),EntityZ(vehic)

wird das spielermesh (0,0,0) an vehicle mesh position 0,0,0 gesetzt ... die frage is nu wo die 2 meshes ihre 0 punkte haben ...
 

ZaRaK

BeitragDi, Mai 25, 2004 17:12
Antworten mit Zitat
Benutzer-Profile anzeigen
an der stelle such ich schon die ganze zeit den fehler.. aber als es geklappt hatte, hatte ich das auch schon so...
0,0,0 is bei beiden meshs der direkte mittelpunkt...
es hatte ja so geklappt... grossartig geändert kann ich nix haben, das würde mir sonst auffallen... das klappt jetz net ma wenn das fahrzeug en cube is....ahhhh.. zum mäuse melken! Sad
 

ZaRaK

BeitragDi, Mai 25, 2004 23:00
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, den fehler hab ich jetz...
Code: [AUSKLAPPEN]

If lf=1 Then

--> PositionEntity spieler, EntityX(vehic),EntityY(vehic),EntityZ(vehic)
--> EntityParent spieler,vehic

If KeyDown(30) Then TurnEntity vehic, 0,2,0
If KeyDown(32) Then TurnEntity vehic, 0,-2,0
If KeyDown(17) Then MoveEntity vehic, 0,0,1
If KeyDown(31) Then MoveEntity vehic, 0,0,-1
EndIf


ich kann ENTWEDER PositionEntity ODER EntityParent reinbringen, dann geht halt das, was ich reingebracht hab, aber beides zusammen versteht sich irgendwie nicht miteinander, weiss jemand wieso?
 

Dreamora

BeitragDi, Mai 25, 2004 23:12
Antworten mit Zitat
Benutzer-Profile anzeigen
obwohl es eigentlich keinen sinn macht, kannst du gerne ma
Code: [AUSKLAPPEN]

PositionEntity spieler, EntityX(vehic),EntityY(vehic),EntityZ(vehic)

durch folgendes ersetzen
Code: [AUSKLAPPEN]

PositionEntity spieler, EntityX(vehic),EntityY(vehic),EntityZ(vehic), True


kann es sein, dass das mesh vorher schon ein parent hat bzw. dass der fehler erst beim 2ten mal auftritt wo das mesh bereits das fahrzeug als parent hat? Smile


alternativ dazu kannst du auch

Code: [AUSKLAPPEN]

PositionEntity spieler, EntityX(vehic),EntityY(vehic),EntityZ(vehic)
EntityParent spieler,vehic


durch folgendes ersetzen:

Code: [AUSKLAPPEN]

EntityParent spieler,vehic
PositionEntity spieler, 0, 0, 0
 

ZaRaK

BeitragDi, Mai 25, 2004 23:16
Antworten mit Zitat
Benutzer-Profile anzeigen
das klappt, aber das mesh is dann erst an 0,0,0 vom vehicle, wenn ich das vehicle bewegt habe, und nicht sofort...
ich hab grad ma versucht das so zu machen
Code: [AUSKLAPPEN]

If lf=1 Then
EntityParent spieler,vehic
EntityParent cam,vehic
If KeyDown(30) Then TurnEntity vehic, 0,2,0
If KeyDown(32) Then TurnEntity vehic, 0,-2,0
If KeyDown(17) Then MoveEntity vehic, 0,0,1
If KeyDown(31) Then MoveEntity vehic, 0,0,-1
EndIf

komischerweise verschwindet das mesh dann... aber wieso??
ich versteh echt gar nix mehr.. soll ich den code + alle dateien ma hochladen, das du dir das ma so richtig anguggn kannst?
weil ich komm hier echt net weiter..
 

ZaRaK

BeitragDi, Mai 25, 2004 23:24
Antworten mit Zitat
Benutzer-Profile anzeigen
so.. kannst ja ma anguggn, ich muss jetz pennen.. muss um 5.00 wieder raus...

http://mitglied.lycos.de/clanwow/code <-- da die SG.zip

evtl siehste meine andern probs auch ^^
zB mit dem wieder aussteigen, oder mit der sicht beim start, das man manchma in den himmel guggt.. oder das, wenn ich die maus nach vorne beweg, das mesh sich auf den boden legt.. etc... weil die fragen wären als nächstes gekommen ^^
 

Dreamora

BeitragDi, Mai 25, 2004 23:41
Antworten mit Zitat
Benutzer-Profile anzeigen
das mit auf den boden legen als auch dem falsch gucken etc liegt an dieser zeile hier:

RotateEntity spieler,EntityPitch(spieler)+MouseYSpeed(),EntityYaw(spieler)-MouseXSpeed(),0


die sollte definitiv net drin sein, wenn dann rotateentity cam, ....
aber nicht rotation des spielers Smile
 

ZaRaK

BeitragMi, Mai 26, 2004 16:32
Antworten mit Zitat
Benutzer-Profile anzeigen
also, ich will ja mit der maus meine figur umguggn lassen...

wasd = vor, zurück, links strafen, rechts strafen

maus vor = hoch guggn
maus zurück = runter guggn
maus links = links drehen
maus rechts = rechts drehen...

so hab ich mir das gedacht, ka wie ich das anders machen kann...

Code: [AUSKLAPPEN]

RotateEntity spieler,EntityPitch(cam)+MouseYSpeed(),EntityYaw(spieler)-MouseXSpeed(),0

so geht das net, ich glaub weil entityparent cam,spieler is... ich kann die cam so nicht hoch/runter bewegen... liegt doch am parent, oder?
 

Dreamora

BeitragMi, Mai 26, 2004 16:54
Antworten mit Zitat
Benutzer-Profile anzeigen
dann mach ein pivot so das gilt

spieler -> parent = pvt
cam -> parent = pvt
vehic -> parent = pvt

dann kannst du die cam eigenständig rotieren und fürs positionieren kannst du pvt nutzen
 

ZaRaK

BeitragMi, Mai 26, 2004 21:46
Antworten mit Zitat
Benutzer-Profile anzeigen
ich fang gleich an zu heulen Sad
ich krieg das einfach net hin...

ich hatte jetz extra für jedes mesh nen extra pivot angelegt, aber dann hab ich nur chaos.. da ging fast nix mehr.. hab jetz 15min gebraucht um das wieder auf den alten stand zu bringen...

ich kriegs echt net hin...
muss ich überhaupt für jedes mesh nen extra pivot machen?
also für vehicle, skybox, spieler !?
das die cam und die steuerung auf die einzelnen pivots verschoben wird wenn ich fahrzeug nutze oder nicht!?
 

Dreamora

BeitragDo, Mai 27, 2004 12:34
Antworten mit Zitat
Benutzer-Profile anzeigen
du hast den sinn des pivots glaub net verstanden oder?

es benötigt genau EIN Pivot!

und dieses pivot is jeweils das pivot welches mit den move-turn etc befehlen bewegt wird.

wenn dein spieler draussen steht, dann hängen der spieler und die cam an diesem pivot als childs und das pivot wird bewegt

wenn der spieler im fahrzeug sitzt dann hängen spieler, fahrzeug und cam am pivot und pivot wird bewegt

falls die skybox auch mitbewegt hängt die jeweils auch an diesem pivot



du solltest dir vielleicht mal die hilfe durchlesen und überlegen wie die objekt hierarchie genau funktioniert bevor du solche experimente machste und umständlichere Dinge machen willst ... is an sich nämlich relativ einfach ... wie bei knochen in deinem körper wo alles böse gesagt an der schulter beginnt, so beginnt in deiner scene die steuerungshierarchy bei diesem pivot
 

ZaRaK

BeitragDo, Mai 27, 2004 17:03
Antworten mit Zitat
Benutzer-Profile anzeigen
die skybox hängt am pivot und soll nicht mitbewegt werden,
deswegen bewege ich nicht das pivot, sondern das mesh,
das pivot wird bloss immer auf die position des meshs gesetzt, damit die skybox immer ums mesh drum rum is, und sich nicht mit dreht...

deswegen versteh ich nicht wie ich das mit diesem einen pivot machen soll, wenn ich das als bewegung nutze und die entitys parent darauf setze
 

Dreamora

BeitragDo, Mai 27, 2004 17:09
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn die skybox eh fix is muss die ja nirgends dran hängen


hier ma die Objekthierarchie

Zu fuss:

Pivot -> Cam
|-----> Spieler


im auto

Pivot -> Cam
|------> Spieler
-------> Vehic


Bewegt wird nur das Pivot ( es gibt nur 1 einziges pivot, nicht für jedes eines! )
 

ZaRaK

BeitragDo, Mai 27, 2004 17:30
Antworten mit Zitat
Benutzer-Profile anzeigen
ok, danke, ich werds versuchen...
mein prob war nur das
EntityParent skybox,pivot
und dann hat sich halt die skybox mitgedreht, was natürlich scheisse aussieht, aber ich habs jetz anders gemacht...

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group