Entitys (mesh) in types drehen

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

feuerball11

Betreff: Entitys (mesh) in types drehen

BeitragSo, Dez 06, 2009 16:02
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe folgendes problem:
ich habe ein type mit dem field id.
bei dem field id handelt es sich um ein mesh was ich mit createmesh erstellt habe.
danach habe ich auch nen surface und nen triangle erstellt.
alles ganz gut, die trangles werden angezeigt.
nun will ich aber das sich die triangles drehen.
nun habe ich folgendes versucht:

Code: [AUSKLAPPEN]
If KeyDown(16)
For v.vertex = Each vertex
TurnEntity v\id,1,1,1
Next
EndIf


das funktioniert aber nicht. warum?

Tankbuster

BeitragSo, Dez 06, 2009 16:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Ein bisschen mehr Code wäre vielleicht hilfreich. Nach deiner Beschreibung sollte es eigentlich funktionieren, wenn du es wirklich so gemacht hast:

1. Mesh Erstellen
2. Surface auf Mesh
3. Verticles auf Surface
4. Tris erzeugen
Twitter
Download Jewel Snake!
Windows|Android
 

feuerball11

BeitragSo, Dez 06, 2009 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
ja ich habe es so gemacht.

also wegen dem code. der is ein bischen unssortiert aber ich kabnn ihn ja mal posten.

ziel des ganzen iss es, das ich ein kleines "spiel" erstellen will, wo man ingame seine welt basteln kann und drinn rumlaufen.. warum ich das machen will bitte nich feragen -.-

also hier der komplette code. (hoffentlich verständlich)

Code: [AUSKLAPPEN]
Graphics3D 800,600,0,0
SetBuffer BackBuffer()

Global bau,akt

;Global id,ids,a,ax,ay,az,b,bx,by,bz,c,cx,cy,cz

Type vertex
Field id
Field ids
Field idv
Field a
Field ax#
Field ay#
Field az#
Field b
Field bx#
Field by#
Field bz#
Field c
Field cx#
Field cy#
Field cz#
End Type



Global yach = CreateCylinder(30)
ScaleEntity yach,0.01,100,0.01
EntityColor yach,0,0,255
Global xach = CreateCylinder(30)
RotateEntity xach,90,0,0
ScaleEntity xach,100,0.01,0.01
EntityColor xach,255,0,0
Global zach = CreateCylinder(30)
RotateEntity zach,0,0,90
ScaleEntity zach,0.01,0.01,100
EntityColor zach,0,255,0


cam1 = CreateCamera()
PositionEntity cam1,0.6,0,-3

Repeat
Cls

If KeyDown(16)
For v.vertex = Each vertex
TurnEntity v\id,1,1,1
Next
EndIf


hit = KeyHit(57)

If KeyDown(17) Then MoveEntity yach,0,0,-0.1
If KeyDown(31) Then MoveEntity yach,0,0,0.1
If KeyDown(17) Then MoveEntity xach,0,-0.1,0
If KeyDown(31) Then MoveEntity xach,0,0.1,0
If KeyDown(205) Then MoveEntity yach,0.1,0,0
If KeyDown(203) Then MoveEntity yach,-0.1,0,0
If KeyDown(205) Then MoveEntity zach,0,-0.1,0
If KeyDown(203) Then MoveEntity zach,0,0.1,0
If KeyDown(200) Then MoveEntity xach,0,0,-0.1
If KeyDown(208) Then MoveEntity xach,0,0,0.1
If KeyDown(200) Then MoveEntity zach,0.1,0,0
If KeyDown(208) Then MoveEntity zach,-0.1,0,0

If hit And bau = 0 And akt = 0
brush = CreateBrush(Rnd(0,255),Rnd(0,255),Rnd(0,255))
bau = 1
akt = 1
v.vertex = New vertex

v\ax# = EntityX#(yach)
v\ay# = EntityY#(zach)
v\az# = EntityZ#(xach)
v\id = CreateMesh()
v\ids = CreateSurface(v\id,brush)
a = AddVertex(v\ids,v\ax#,v\ay#,v\az#)
EndIf

If hit And bau = 1 And akt = 0
bau = 2
akt = 1

v\bx = EntityX(yach)
v\by = EntityY(zach)
v\bz = EntityZ(xach)
v\b = AddVertex(v\ids,v\bx,v\by,v\bz)
EndIf

If hit And bau = 2 And akt = 0
bau = 0
akt = 1

v\cx = EntityX(yach)
v\cy = EntityY(zach)
v\cz = EntityZ(xach)
v\id = CreateMesh()
v\c = AddVertex(v\ids,v\cx,v\cy,v\cz)
v\idv = AddTriangle (v\ids,v\a,v\b,v\c)
UpdateNormals v\id
EndIf

akt = 0
UpdateWorld
RenderWorld
Text 10,10,bau
Text 10,30,EntityY(xach)
Flip
Until KeyHit(1)

Tankbuster

BeitragSo, Dez 06, 2009 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
da hast du wohl was zuviel Wink

Code: [AUSKLAPPEN]

v\id = CreateMesh()
v\c = AddVertex(v\ids,v\cx,v\cy,v\cz)
v\idv = AddTriangle (v\ids,v\a,v\b,v\c)
UpdateNormals v\id


Wenn du da das CreateMesh rausnimmst, funktioniert es Wink
Du hast wohl den Code von oben kopiert und vergessen unten was rauszunehmen Wink

So wird ein neues, leeres Mesh erzeugt, und v\id nimmt dessen Handle an, während alles andere noch auf das richtige Surface gepackt wird.

MFG
Tank
Twitter
Download Jewel Snake!
Windows|Android
 

feuerball11

BeitragSo, Dez 06, 2009 16:48
Antworten mit Zitat
Benutzer-Profile anzeigen
wow danke. wenn man ne weile proggt übersieht man sowas abunzu. jetzt funktioniert es.

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group