Unterschied zwischen MESH- / ENTITY-Befehlen?
Übersicht

NerleBetreff: Unterschied zwischen MESH- / ENTITY-Befehlen? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jetzt bekomme ich bestimmt die Mütze voll, da diese Frage einfach schon öfters gestellt worden sein muss - nur finde ich die Antworten darauf nicht.
Ich habe eine simple Frage diesbezüglich, die sich mir schon länger stellt. Ich kann die Erklärung der Online-Hilfe wieder und wieder lesen, ich begreife den Unterschied nicht ![]() "SCALEENTITY skaliert ein Objekt auf eine bestimmte absolute Größe, SCALEMESH dagegen berechnet komplett alle Gitterpunkte um." Das verstehe ich nicht. Ist das denn nicht dasselbe? Wo liegt denn da der Unterschied? Und diese Frage stellt sich mit noch bei allen entsprechenden Mesh/Entity-Befehlen, also auch bei POSITIONMESH / POSITIONENTITY und SCALEMESH / SCALEENTITY usw. Auch diese Frage, die ich im Archiv bei der Suche fand, die aber leider unbeantwortet blieb, finde ich eine gute Frage (weil sie sich mir ebenso stellt) ![]() Zitat: Warum kann man eigentlich keine MeshBefehle mehr nach entitybefehlen ausführen? Worin besteht der genaue unterschied außer das nur die Punkte neu berechnet werden und nicht der Körper verschoben? |
||
![]() |
Lunatix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du einen Entity skalierst, verschiebst etc. verschiebst du die Kollisions-Box/Kugel/position mit, ansonsten veränderst du nur das Mesh. Also die Vertices und Polygone. | ||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
![]() |
tft |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi ...
oder anders gesagt.... mesh befehle bearbeiten das object selber. Und Entity befehle sind für die sachen in der 3D Welt. Wenn du dir die mühe machst, und die deutsche Hilfe zu rate ziest. Und alles erst durchlist bevor du Fragst. Wird dir einiges von ganz alleine klar. Fiel spass noch beiom coden .... TFT |
||
TFT
https://www.sourcemagic.ch Monkey,HTML5,CSS3,W 10 64 Bit, 32 GB Ram, GTX Titan, W8 ist Müll !!!!!! |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich will auch mal mein Senf zur Erklärung geben:
Enitybefehle belassen ein Mesh im Speicher so wie er ist. Es wird lediglich sowas wie eine Zusatinfo mit ins Handle gepackt um besser damit arbeiten zu können Meshbefehle wiederrum verändern das Mesh selbst. Es werden alle Koordinaten der Vertices und Polygone neu berechnet. Das bedeutet, das die Zusatzinfo im Handle sp belassen wird. Beispiele: blub=LoadMesh("blub.3ds") ScaleEntity blub,2,2,2 Hier wird in das Handle blub die Zusatzinfo rein gepackt, dass das Mesh doppelt so groß dargestellt werden soll. Um Missverständnisse zu vermeiden, es wird nicht schneller berechnet, wenn du ScaleMesh machst, weil auch eine Zusatzinfo von 1 mitberechnet wird. Der Rechenaufwand ist also bei beiden gleich. ScaleMesh wird aber für andere Sachen gebraucht. Zum Beispiel um alle Meshes nach dem laden auf einem gleichen niveou zu bekommen, um dann im Spiel die größe einfacher angeben zu können, 2 = doppelt so groß etc... ScaleMesh wird auch benutzt, wenn du zB mehrere Meshes zu einem zusammen packen willst (Bäume zu einem Baumhaufen), diese aber unterschiedliche größe haben sollen. |
||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier noch der Unterschied zwischen PositionMesh und PositionEntity (einfach eins von beiden auskommentieren):
Code: [AUSKLAPPEN] Graphics3D 640,480,0,2
SetBuffer BackBuffer() camera=CreateCamera() MoveEntity camera,0,0,-7 light=CreateLight() RotateEntity light,90,0,0 mittelpunkt=CreateSphere() ScaleEntity mittelpunkt,.1,.1,.1 EntityColor mittelpunkt,255,0,0 EntityFX mittelpunkt,1 cube=CreateCube() RotateEntity cube,20,50,50 PositionEntity cube,0,3,0 ;PositionMesh cube,0,3,0 While Not KeyHit(1) RenderWorld TurnEntity cube,2,0,0 Flip Wend |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
Nerle |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für Eure Ausführungen. ![]() Bedeutet das also zum Beispiel, dass ein "ScaleMesh 1,1,1" ein Mesh auf einen absoluten Wert bringt (d.h. jedes Mesh, gleich wie groß es beim hinein laden war, wird danach gleich groß sein) - und "ScaleEntity" dagegen eine relative Veränderung (relativ zur jeweiligen Ausgangsgröße des Meshes) bewirkt? |
||
![]() |
aMulSieger des Minimalist Compo 01/13 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, beides ist relativ.
Um ein Mesh in einen Kasten zu zwängen empfehle ich FitMesh() ![]() |
||
Panic Pong - ultimate action mashup of Pong and Breakout <= aktives Spiele-Projekt, Downloads mit vielen bunten Farben!
advASCIIdraw - the advanced ASCII art program <= aktives nicht-Spiele-Projekt, must-have für ASCII/roguelike/dungeon-crawler fans! Alter BB-Kram: ThroughTheAsteroidBelt - mit Quelltext! | RGB-Palette in 32²-Textur / Farbige Beleuchtung mit Dot3 | Stereoskopie in Blitz3D | Teleport-Animation Screensaver |
![]() |
FireballFlame |
![]() Antworten mit Zitat ![]() |
---|---|---|
aMul hat Folgendes geschrieben: Nein, beides ist relativ.
Allerdings skaliert ScaleEntity das Mesh relativ zur seiner "Ausgangsgröße" (nach dem Laden), ScaleMesh hingegen zu seiner aktuellen Größe. D.h. wenn du in einer Schleife sowas wie ScaleMesh m,2,2,2 stehen hast, wird das Mesh immer größer. |
||
PC: Intel Core i7 @ 4x2.93GHz | 6 GB RAM | Nvidia GeForce GT 440 | Desktop 2x1280x1024px | Windows 7 Professional 64bit
Laptop: Intel Core i7 @ 4x2.00GHz | 8 GB RAM | Nvidia GeForce GT 540M | Desktop 1366x768px | Windows 7 Home Premium 64bit |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group