camera objekt folgen
Übersicht

![]() |
Mathias-KwiatkowskiBetreff: camera objekt folgen |
![]() Antworten mit Zitat ![]() |
---|---|---|
hi, ja wie kann ich es machend as die camera sich dem objekt folgt,
wäre der cube nun ein char soll man ihn also nur von hinten sehen, die kamera muss sich also immer mitdrehen und automatisch so anordnen das sie hinter dem objekt ist und schräg von oben auf das objekt schaut. dieses geht ja auch nur wenn ich nun die camera drehe nunja sie dreht sich mit aber is natürlich nicht mehr hinter dem objekt. sondern ehr links oder rechts. hier der code. Code: [AUSKLAPPEN] Graphics3D 640, 480
SetBuffer BackBuffer() camera = CreateCamera() PositionEntity camera, 0, 1, 0 EntityType camera , 1 light = CreateLight(1) RotateEntity light, 90, 0, 0 char=CreateCube() PositionEntity char, 3, 3, 3 EntityType char , 1 terrain= LoadMesh("terrain.3ds") PositionEntity terrain, 0, 0, 0 EntityType terrain, 2 grass_tex = LoadTexture("0000.jpg") EntityTexture terrain,grass_tex Collisions 1, 2, 2, 2 While Not KeyHit(1) x# = 0 y# = 0 z# = 0 a#=0 If KeyDown(205) = 1 Then TurnEntity char, 0, -1, 0 TurnEntity camera, 0, -1, 0 a=a-1 EndIf If KeyDown(203) = 1 Then TurnEntity char, 0, 1, 0 TurnEntity camera, 0, 1, 0 a=a+1 EndIf If KeyDown(208) = 1 Then z# = - 0.1 If KeyDown(200) = 1 Then z# = 0.1 MoveEntity char, x#,-.1 , z# PositionEntity camera, EntityX (char),EntityY(char) +5, EntityZ(char)-10 UpdateWorld RenderWorld col = CountCollisions(camera ) Text 0, 0, "Kollision(en):" For i = 1 To col Text 000, i * 20, "Entity=" + CollisionEntity(camera , i) Text 150, i * 20, "Surface=" + CollisionSurface(camera , i) Text 300, i * 20, "Triangle=" + CollisionTriangle(camera , i) Next Flip Wend End |
||
![]() |
grafe |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi, dies kannst du mit EntityParent erreichen:
BlitzBasic: [AUSKLAPPEN] Camera=CreateCamera() mfg Grafe |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das kommt ein bisschen darauf an, wie sich die Kamera noch so verhalten soll, aber ich würde es wie folgt machen:
Du benutzt 2 Winkel und einen Radius um die Kamera zu Positionieren (WP: Kugelkoordinaten - nicht von Mathematik verwirren lassen, wichtig ist das Bild und wie die Koordinaten voneinander abhängen). Dann nur noch PointEntity ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
John_ThymBetreff: Scripts starten und beenden |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Also ich wollte einen player erstellen der ein lied abspielt dann wartet bis es zuende ist und dann das nächste abspielt
ich hab es bis jetzt mit delay gelöst wie geht es richtig ? MFG John_Thym |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
@John_Thym: Versucht, einen eigenen Thread auf zu machen? Probier es nochmal! | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
hallo, ich habe das auch mit EntityParent gemacht. Aber so wie grafe das gemacht hat funktioniert es bei mir nicht. Und zwar wegen dem PositionEntity Camera..
Wenn ich bei Koordinate Y nicht 0 eingebe, bekomme ich den Fehler, memorie access violation. Wenn sie auf 0 ist funktioniert alles fehlerfrei. Wie kann ich jetzt die Y koordinate ändern, ohne das mein programm abstürzt?? Lg Killerjo96 |
||
Mit freundlichen Grüßen: GearTechDE |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code, Zeile, Fehler - so wie immer und bei jedem Problem - bitte. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
ewok1Betreff: Re: camera objekt folgen |
![]() Antworten mit Zitat ![]() |
---|---|---|
die kamera muss sich also immer mitdrehen und automatisch so anordnen das sie hinter dem objekt ist und schräg von oben auf das objekt schaut.
wenn dein char eine .3ds datei ist dann versetze sie in deinem editor doch leicht nach vorn. Und dann kannst du für kamera und entity die selben x,z kordinaten eingeben und dann läuft dir der char immer gleich vor der kamera |
||
![]() |
Abenteurer036 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Oder du machst es ganz einfach...
Code: [AUSKLAPPEN] char=LoadMesh("char.3ds")
cam=CreateCamera(char) Anschließend kannst du die Kameraposition immernoch mit RotateEntity ![]() ![]() |
||
New Project [4%]
Schinken Maker [100%] |
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
Jetzt fände ich mal interressant, welche die bessere Lösung wäre! ^^
Und zwar, ob es hier RAM Probleme gibt oder was auch immer. Naja deswegen frag ich mich, warum sollte man es so wie Abenteurer machen, wenns dafür schon einen Befehl gibt? Naja, was ist denn die bessere Variante? MFG |
||
Mit freundlichen Grüßen: GearTechDE |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie meinen? Wofür gibt es schon einen Befehl?
Ob man beim erstellen der Kamera ein Parent-Objekt angibt oder EntityParent ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
GearTechDEehemals 'KillerJo96' |
![]() Antworten mit Zitat ![]() |
---|---|---|
ja der effekt schon, naja egal ... ich nehme aber lieber entityparent | ||
Mit freundlichen Grüßen: GearTechDE |
![]() |
Mathias-Kwiatkowski |
![]() Antworten mit Zitat ![]() |
---|---|---|
EntityParent Camera,char
funktioniert = 0 nun hab ich es so gelöst, allerdings wenn sich der char dreht, is die camera nich hinterihm. wie realiesiere ich das? hier der code Code: [AUSKLAPPEN] Graphics3D 1280,1024,32,1
SetBuffer BackBuffer() camera = CreateCamera() PositionEntity camera, 0, 50,0 EntityType camera , 1 RotateEntity camera, 45, 0, 0 light = CreateLight(1) RotateEntity light, 90, 0, 0 Char = LoadMesh("data\char-goli.3ds") PositionEntity Char , 0, 0, 50 EntityType Char , 1 ScaleEntity char,0.05,0.05,0.05 Collisions 1, 2, 2, 2 While Not KeyHit(1) x=0 z=0 If KeyDown(205) = 1 Then y=y-1 If KeyDown(203) = 1 Then y=y+1 If KeyDown(208) = 1 Then z = - 1 If KeyDown(200) = 1 Then z = 1 If KeyDown(74) = 1 Then z = - 1 MoveEntity char,0,0,z EndIf If KeyDown(78) = 1 Then z = 1 MoveEntity char,0,0,z EndIf RotateEntity char, 0,y,0 MoveEntity char, 0,0,z PositionEntity camera,EntityX(char) , EntityY(char)+50,EntityZ(char)-50 UpdateWorld RenderWorld mx = MouseX() my = MouseY() entity = CameraPick(camera, mx, my) col = CountCollisions(camera ) a=GetKey() If a<>0 Then taste=a For i = 1 To col Text 000, i * 20, "Entity=" + CollisionEntity(camera , i) Text 150, i * 20, "Surface=" + CollisionSurface(camera , i) Text 300, i * 20, "Triangle=" + CollisionTriangle(camera , i) Next Text 0,i * 20,taste Text 0,i * 40,entity Text 0,i * 60,PickedX() Text 0,i * 80,PickedY() Text 0,i * 100,PickedZ() Oval mx - 5, my - 5, 5, 5, 1 Flip Wend End |
||
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe mir gerade mal folgenden Code zusammen gebastelt und die Kamera folgt ohne Probleme der Kugel
Code: [AUSKLAPPEN] Graphics3D 800, 600, 32, 0 SetBuffer BackBuffer() SeedRnd MilliSecs() cam = CreateCamera() light = CreateLight() plane = CreatePlane() EntityColor plane, 128, 128, 128 sph = CreateSphere(8) EntityParent cam, sph PositionEntity cam, 0, 2, -5 For i = 0 To 99 cube = CreateCube() PositionEntity cube, Rand(-100,100), 0, Rand(-100, 100) ScaleEntity cube, Rnd(.5,2), Rnd(.5,2), Rnd(.5,2) EntityColor cube, Rand(255), Rand(255), Rand(255) Next Repeat If KeyDown(203) Then TurnEntity sph, 0, 1, 0 ElseIf KeyDown(205) TurnEntity sph, 0, -1, 0 EndIf If KeyDown(200) Then MoveEntity sph, 0, 0, 1 ElseIf KeyDown(208) Then MoveEntity sph, 0, 0, -1 EndIf RenderWorld Flip Cls Until KeyHit(1) End Bei deinen Code positionierst du die Kamera immer nur auf der Z-Achse hinter dem Char Code: [AUSKLAPPEN] PositionEntity camera,EntityX(char) , EntityY(char)+50,EntityZ(char)-50
Du müsstest den Drehwinkel der Y-Achse nehmen und die Kamera auf der X- und Z-Achse positionieren sin ![]() ![]() |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group