Entity System Befehls Wishlist

Previous topic - Next topic

x-tra

Okay ich hab vielleicht bisschen was kopiert, aber sollte doch den Zweck erfüllen.


EntityCreateCube -
Code (glbasic) Select
cube = EntityCreateCube([parent])    erstellt einen Würfel und gibt Identität zurück

EntityCreateCylinder -
Code (glbasic) Select
cylinder = EntityCreateCylinder([parent])   erstellt einen Zylinder und gibt Identität zurück

Das gleiche vielleicht für Sphere und Cone(Kegel)

Zu dem Handle ([parent]) komme ich jetzt.

Dieses sollte bei allen EntityBefehlen dabei sein, aber optional, und bezeichnet, dass man das Entity einer anderen Entity als Child zuweist.

EntityCreatePivot()   oder eben EntityCreatePivot([parent])

Code (glbasic) Select
Beschreibung

Der Befehl EntityCreatePivot erstellt einen Drehpunkt und liefert danach die Identität des Objekts zurück.

Ein Drehpunkt (pivot entity) ist ein unsichtbares Objekt in der 3D-Welt. Es wird hauptsächlich als Parent für andere Objekte benutzt. Danach können mit diesem Objekt viele hinzugefügte Objekte gedreht (Zentrum der Rotation) oder verschoben(EntityMove(Pivot, x, y, z)) werden.

Um dieses Feature zu benutzen, muss man entweder EntityParent benutzen oder den optionalen Parameter "Parent", das bei vielen Befehlen eingegeben werden kann.

Wurde der Parameter "Parent" angegeben, dann wird dieses Objekt zu einem anderen Objekt hinzugefügt. Falls nun ein Parent-Objekt bewegt wird, dann werden alle hinzugefügten Objekte automatisch verschoben. Ein Child-Objekt verschiebt dagegen kein Parent-Objekt mit.

Ein Drehpunkt wird normalerweise an der Position 0,0,0 erstellt. Wurde Parent angegeben, dann wird es an der Position des Parent-Objekts erstellt.


Beispiel
Code (glbasic) Select
pivot = EntityCreatePivot()
EntityPosition(pivot, 0, 0, 10)
cube = EntityCreateCube(pivot)
EntityPosition(cube, 0, 0, 3)



EntitySetAttribute       einer Entity bestimmte Besonderheiten/Effekte/Shader/wasweißich zuweisen.
                                        Auch bei Licht und Kamera vielleicht nützlich.

Vielleicht noch Pendants zu EntityX Y Z usw. nur eben Winkel

EntityGangleX      liefert Winkel global

EntityRangleX      liefert Winkel relativ

EntityAngleX        vielleicht winkel zueinander zweier entities........  Mit ein wenig Fantasie.....

@gernot: oder soll ich eine komplette Befehlsreferenz der Vorhandenen Entitybefehle machen, und die man noch gebrauchen könnte gleich dazu?
             Die Pivotgeschichte, könntest du das schonmal machen, ich steig da selber nicht durch.

Kitty Hello

Mach bitte die Dokumentation in der entity.gbas fertig (Mit //! Kommentaren. Ist auch in der Hilfe unter "Editor" beschrieben).
Schranz0r hat das mit den Pivots gelöst.

Schranz0r

#2
Gelöst ja, muss halt noch in das ES eingabaut werden, und wirklich schön ist das wirklich nicht gemacht von mir...
Da könntest du mit der Rotation noch ein wenig helfen Gernot :)

Achja, Gernot :)

Optionale Parameter bei Funktionen geht ja in GLB net...
War doch mal auf der ToDo gestanden so weit ich das noch weiß :P

Also so in der Art:


Code (glbasic) Select
FUNCTION Add: a, b,  c = 0 // a und b ist pflicht, c ist Optional wenns nicht angebenen wird kommt der Standartwert 0 zum einsatz!
    RETURN a+b+c
ENDFUNCTION


Aufrufen dann so:

Add(10, 10)

oder

Add(10, 10, 10)


Nur so als Beispiel :)

Wär SUPER Spitze  :good:
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

x-tra

welche dokumentation?

von Befehlen bzw. Funktionen, die es noch nicht gibt.

Und das mit den Pivots ist ja für das ES noch nicht gelöst.


Schranz0r

Immer mit der Ruhe Heiko, wir machen das dann schon  ;)
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

Die Parent-beziehung finde ich besser als eigenen Befehl.

x-tra

#6
wie meinst du das?

nur parent beziehungen zwischen objekten, ohne pivots....?


[edit]  ich würde ja empfehlen alle befehle aus bb3d die entity betreffen zu übernehmen, zumindest von der funktionalität her.
         
         Kein, "ach ich weiß garnicht wozu man das braucht............."  ich denke jeder dieser befehle hat seine daseinsberechtigung.

         achja, wenn mark silby und graham kennedy das hinbekommen haben, warum dann wir nicht auch.

         schaut euch die befehlsreferenz von bb3d an, und bei cobra3d wird man förmlich damit erschlagen.

         ich mach hier keine werbung, oder so, will ha bei glbasic bleiben, aber momentan ist der vergleich teilweise wie zwischen

         linux und windows, okay ich bin bequem, aber das leben ist hart.......so long.......

         p.s. ich würd selber die befehle schreiben, wenn ich mehr ahnung davon hätte, aber ich habs ja wenigstens schonmal versucht.

         nun liegt es wohl an gernot.

         ich teste das ES gern aus, mit allem was es hergibt, aber es fehlt noch so einiges, daher habe ich ihm die help von c3d geschickt, vielleicht

         hilft es ja was.

         nur ohne Entity System werden viele User davor zurückweichen mit GLB zu coden.

Schranz0r

Ein Post reicht Heiko, wird hier weiter drauf rumgeritten mache ich alle deine ES- Threads -> Close!

So langsam reicht es... :rant:
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

x-tra

ich hab in einem extra thread was ganz anderes gefragt.

jo mei, gernot gefallen meine vorschläge nicht, also versuche ich mir meine pivot funktion selber zu machen.

wo ist dein problem?

Schranz0r

Du Spammst hier 3 Threads mit dem gleichen Zeug zu, obwohl ich dir gesagt hatte Zitat: " Wart ab Ich/Gernot macht das schon !".

Ende vom Lied ist, Gernots machts: http://www.glbasic.com/forum/index.php?topic=1995.msg14361#msg14361

Und jetzt bitte wieder normal Heiko!  :heart:
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

x-tra

Ist halt ärgerlich, ich bin ja auch mit Cobra3D am werkeln, und nunja bin halt verwöhnt, aber wenn du dir mal das ES dort anschaust, wirste neidisch.

So schwer kann das doch nicht sein, oder.

Nun, dann warten wir mal ab.

BumbleBee

Komisch, ich hab ja auch viel mit Blitz3D gemacht, aber ich trauer dem ganzen nicht so hinterher. ;) Ich bin halt jetzt nun mal hier.  :booze:

Cheers
The day will come...

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

x-tra

Nun, mir geht es auch darum, dass ich mich auf eine Sprache konzentrieren möchte.

Ich besitze immer noch Cobra3D, BlitzMax, BB3D neben GLBasic.

Mit BB3D mach ich nichts mehr, BlitzMax ist so eine Sache, da soll ja noch max3D kommen, bzw. dieses als .dll wie auch immer, und eben Cobra3D.

Selbst BlitzMax besitzt sozusagen dann ein Entity System, oder eben mit minib3d im Moment.

Cobra3D ist da allem was das betrifft wohl einiges voraus.

Ich würde schon allein wegen der netten community ausschliesslich GLB nutzen wollen, möchte aber eben so ein Entity System haben wie in z.B. BB3d.

Und da kommt dann halt die Frage ins Spiel wieviele User gern zu GLB kommen würden, wenn es das so richtig gäbe.

Es ist also nicht nur purer Egoismus, sondern ich denke auch schon etwas weiter.

BumbleBee

Naja, ich glaub kaum das jemand wegen dem ES dann die Sprache wechselt. =D Also bei mir muß das Gesamtpaket stimmen. Denn ich komm ja eigentlich auch von Blitz. Und ich hab gewechselt und das, obwohl es kein ES gibt. Da zählen bei mir ganz andere Sachen. :)

Cheers
The day will come...

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

x-tra

Ich würds ja selber machen.
Wenn jemand eine Kopie 1 zu 1 von BB3D machen würde nur eben mit anderen Befehlen, würde ich auch was dafür zahlen.
Kommt natürlich trotzdem jedem hier zugute.