3D Entity System [DE]

Previous topic - Next topic

x-tra

mmmm ja sicher könnte ich ein neues entitysetgroup machen, aber dann ist es ja immer noch in der alten gruppe.müsste man da entfernen.

ich habs noch nicht probiert, is nur grad so ein gedanke.


[edit]  entityscale is lustig.
         habs mal zum test auf meinen level angewandt.
         habs verkleinert und mal vergrößert.
         war cool, level war viel kleiner, aber die kollisionen sprachen noch auf die ursprüngliche größe und position an, als wenn nix wär.
         d.h. scale extruiert nur grafisch, nicht jedoch die tatsächliche position und das mesh.
         achja, scale werte im negativen bereich scalen auch negativ, d.h. mein level hat sich nach unten gedreht, kicher.

Quentin

allmählich komm ich mit dem 3D-Asteroids voran, feine Sache, dieses ES. Allerdings möchte ich hier noch mal die Skybox ansprechen, die bis jetzt nicht dem Entity-System nicht darstellen kann, sondern mit "normalen" GL-Basic-Befehlen. Ich liege doch richtig, wenn ich sage, daß die Skybox VOR dem Aufruf von EntityDrawSystem() zeichnen muss? Folglich muss ich doch auch die Kamera VOR dem Zeichnen der Skybox zeichnen.

Habe das jetzt so gelöst (Ausschnitt)
Code (glbasic) Select

  EntityInternSetCamera()
  X_CLEAR_Z
  X_SETTEXTURE 0, -1
  X_MOVEMENT EntityGetX(camera.obj), EntityGetY(camera.obj), EntityGetZ(camera.obj)
  X_DRAWOBJ 0, 0

  EntityDrawSystem()


Also vor dem Zeichnen der Skybox muss man wohl EntityInternSetCamera() aufrufen. Das funktioniert zwar ganz prächtig, widerstrebt mir aber etwas, weil diese Funktion eigentlich nur zur internen Nutzung dienen sollte. Stilvoller wäre es meiner Meinung nach Skybox, Skysphere oder wie auch immer ins ES einzubinden (z.B. als T3DEntity.what = 9).

Schranz0r

I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Kitty Hello

Ja, aber wie ist die Definition für die Textur dann? Mach einen guten Vorschlag, dann kommt die Skybox rein.

Quentin

häh? Versteh deine Frage nicht ganz Gernot. EntityApplyTexture() auch für die Skybox. Skybox als Child der Camera für die Position.

Definition der Skybox evtl so?
Code (glbasic) Select

FUNCTION EntityCreateSkybox: sz
  LOCAL num
  num = EntityCreateCube(sz)
  g3DObj[num].what = 9
  RETURN num
ENDFUNCTION


bliebe dann nur noch die Frage, wo das X_CLEAR_Z hinkommt, da steige ich im Moment noch nicht so recht durch

Kitty Hello

Aber: Wie sieht die Skybox-Textur aus? Wo ist oben, links usw....

Quentin

ahhh erwischt. Jetzt tritt meine beschränkte Kenntnis wieder offen zutage.

Da ich mich noch immer im Space-Shooter-Stadium befinde, hab ich mir ja auch nur dafür eine Skybox gezimmert. Denke diese Frage stellt sich dort nicht, die Textur ist i.d.R. ein einfaches Sternenfeld und die Ausrichtung wurscht, weil man die Blickrichtung eh in alle Richtungen drehen kann.

Somit kann ich also leider keinen Vorschlag machen, weil ich andere Sachen noch nicht probiert habe. Ist aber auch nicht so wichtig, weil man ja auch ohne ES einfache Skyboxen zimmern kann.

Heiko

okay mädels, ich mach zwar momentan in C++ und darksdk, aber ich misch hier doch wieder mit.
Gernot, wie schauts mit pivotkollisionen aus?
und ner newton anbindung?

Schranz0r

Leichte Probleme in C++ und GDK ?
Schon gemerkt, dass es garnicht mal so leicht ist, Text anzuzeigen ;)

zb. wie in GLB : Test$+Text2$ :P
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Heiko

also ich musste bisher noch keinen text darstellen.
bin grad an etwas anderem dran, okay fürs debugging dann.

Schranz0r

Dann schau dir schonmal das an :

Code (glbasic) Select

// FPS anzeigen in GDK
char TXT[265] = "";
strcpy(TXT,"FPS: ");
strcat(TXT,dbStr( dbScreenFPS() );

dbText(0,0,TXT);


Viel spass :D

Da bleib ich lieber bei GLB, da kann man mit Strings jonglieren wie man will :D
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Heiko

naja, ich hab ja hier im ES gepostet.nicht ohne grund....grins  :booze:

Schranz0r

also doch gemerkt das die anderen Sprachen net so sind ;)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Heiko

ähm nöö, dachte nur hier geht nix weiter im ES seid ich weg bin, das ist eigentlich der einzige grund.

BumbleBee

Welcome back.  Hast du uns schon vermisst? ;)
Gernot will mal sehen das die Leute was mit dem ES machen. Es ist ja eigentlich auch alles möglich. Deswegen geht's auch nicht weiter. =D

Cheers
The day will come...

CPU Intel(R) Core(TM) i5-3570k, 3.4GHz, AMD Radeon 7800 , 8 GB RAM, Windows 10 Home 64Bit