Unterschied zwischen MESH- / ENTITY-Befehlen?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Nerle

Betreff: Unterschied zwischen MESH- / ENTITY-Befehlen?

BeitragSa, Aug 25, 2007 5:22
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Smile

"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) Smile :

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

BeitragSa, Aug 25, 2007 8:19
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Aug 25, 2007 10:04
Antworten mit Zitat
Benutzer-Profile anzeigen
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 !!!!!!

hectic

Sieger des IS Talentwettbewerb 2006

BeitragSa, Aug 25, 2007 11:10
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragSa, Aug 25, 2007 17:00
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Aug 27, 2007 7:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für Eure Ausführungen. Smile
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?

aMul

Sieger des Minimalist Compo 01/13

BeitragMo, Aug 27, 2007 8:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Nein, beides ist relativ.
Um ein Mesh in einen Kasten zu zwängen empfehle ich FitMesh() Wink
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

BeitragMo, Aug 27, 2007 14:08
Antworten mit Zitat
Benutzer-Profile anzeigen
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

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group