Datei im Ordner vorher ohne kompletten Pfad aufrufen?
Übersicht

CO2ehemals "SirMO"Betreff: Datei im Ordner vorher ohne kompletten Pfad aufrufen? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich entschuldige mich für den komischen Titel, allerdings fiel mir kein anderer ein, der mein Problem besser beschreiben würde. Also ich habe folgendes Problem: ein paar dateien (Texturen) liegen in einem Ordner vor dem Objekt, welches die Texturen braucht. Also es gibt einen Ordner Namens "Texturen" und einen "Objekt1". Jetzt möchte ich die Texturen aus dem ordner Texturen auf das Objekt legen. wie kann ich den Pfad angeben, ohne den kompletten Pfad zu benutzen (also anstatt "C:\bla\blabla\Texturen" irgendetwas anderes, damit das Programm auch auf anderen PCs läuft.) Weiterhin interessiert mich, wie man ein Objekt mit über 250 Surfaces in BB texturiert, oder kann man das auch mit dem modeller texturieren und texturiert laden? Ich hoffe ich habe mein Problem verständlich erklärt, thx schonmal im vorraus |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
Pousup |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wo liegt denn die BB-Datei? Um auf den übergeordneten Ordner zuzugreifen kannst du "../*ordnername*" nutzen, keine Ahnung ob es das ist was du suchst. | ||
www.mikes-frittenbude.blogspot.com Gaming, Musik, Lifestyle & mehr |
![]() |
Pummelie |
![]() Antworten mit Zitat ![]() |
---|---|---|
Man muss keine eintgültigen Pfade angeben, man kann auch von der Exe aus handeln.
Kleines Beispiel: Die exe liegt im verzeichniss: Code: [AUSKLAPPEN] C:\\Programme\\MeineKleineHobbyfirma\\Programm1
in diesem Verzeichniss gibt es die 2 Unterornder: Code: [AUSKLAPPEN] C:\\Programme\\MeineKleineHobbyfirma\\Programm1\\Objekt1
Code: [AUSKLAPPEN] C:\\Programme\\MeineKleineHobbyfirma\\Programm1\\Texturen
dann muss ich den Pfad im Programmer nur so angeben: Code: [AUSKLAPPEN] Objekt1\\objekt.x
Code: [AUSKLAPPEN] Texturen\\textur1.jpg
Ich haffe das hast duz gemeint ![]() |
||
It's done when it's done. |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
nicht ganz... trotzdem thx.
Ich möchte ja, dass die Objekte quasi "modbar" sind, also dass es extra externe Dateien gibt. Des Speicherplatzes halber (es gibt ja noch objekt2, objekt3, etc.) hab ich die texturen ausserhalb der objekt-ordner gemacht. Damit es übersichtlicher ist, sind alle dateien eines objektes im jeweiligen ordner. jetz kommt die "definitions-datei", diese liegt im objekt-ordner des definierten objektes und bestimmt, welche texturen benutzt werden. daher muss ich erst ein ordner zurück gehen (von der def-datei aus gesehen) um dann auf den texturen ordner zuzugreifen.) um es nochmal zu veranschaulichen: data-Ordner: Code: [AUSKLAPPEN] textures
objekt1 objekt2 objekt3 textures-Ordner: Code: [AUSKLAPPEN] texture1.png
texture2.png texture3.png etc. objekt-Ordner: Code: [AUSKLAPPEN] model.x
model.def model.def: Code: [AUSKLAPPEN] UseTexures("" + hierkommtderpfadreinderzudentexturenführt + "")
andereEintraege |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
Ana |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich bin mir nicht wirklich sicher ob ich dein Problem verstehe aber du hast eine exe datei und mehrere quell datein in unterordnern. Die Ordneraufrufe finden ja von der exe datei statt, also kannst du Code: [AUSKLAPPEN] tex1 = loadtexture(".\tollerunterordner\tex.png") verwenden. Mit Objekt meinst du ein Mesh? dann kannst du Code: [AUSKLAPPEN] entity1 = loadmesh(".\beinahegenausotollerunterordner\objekt1.3ds") verwenden.
Dann sind beide im Hauptspeicher und es ist völlig schnurtz ob die nun in unterordnern sind oder nicht, von der Festplatte direkt Daten auszulesen ist auch wirklich wirklich langsam. |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zum Ordnerproblem:
loadirgendwas("../schön.jpg") sollte das gesuchte sein. |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier scheint sich niemand so recht auszukennen, ich auch nicht ehrlich gesagt...
Aber die einfachste Variante die auch funktionieren sollte: Du schreibst in deine model.def den Pfad zu den Texturen relativ zur exe, nicht relativ zur model.def. (sprich zB "textures-Ordner\textures1.png") Einfach aus dem Grund weil ja letztendlich die exe den Pfad aufruft, nicht deine Definitions-Datei. Damit geht zwar irgendwie der Sinn der gut strukturieren Unterordner verloren aber es sollte hinhauen und das machen was du uns hier als Problem schilderst. mfG, Christoph. Anmerkung: Es geht natürlich auch "zwanghaft" aus dem model.def-Ordner. Dazu müsstest du den Pfad mal mit Stringbefehlen zerlegen und dann mit ChangeDir ![]() Aber das is mühsam... |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, ok hab verstanden ![]() Das bringt mich aber zur zweiten Frage: Wenn ich ein Objekt (ja, meinetwegen auch Mesh ![]() oder kann ich die pfäde zu den texturen in der .x-datei ändern? dann müssen es aber relative pfade sein, damit das programm auch auf jedem x-beliebigen rechner läuft. Und ich hab noch ne frage: wie macht man ketten von nem panzer in 3d? ich meine muss man sie animieren, oder kann man die auch in BB "drehen" lassen? thx schonmal im vorraus ![]() |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
Skabus |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zur 2. Frage:
Hängt von der Art ab wie du etwas darstellen willst und obs am Ende auch gut aussieht. Du kannst z.B. für die Ketten eine Textur zuweisen die du dann in B3D animieren kannst, damit kannst du durch ne animierte Textur die Ketten "faken". Wenn du dir die Mühe machen willst, kannst du dein Modell auch direkt animieren mit deinem 3D-Programm. Wenn du die Ketten dann "bewegen" lassen willst, lässt du B3D einfach die entsprechende Animation die du erstellt hast abspielen. Siehe dazu: LoadAnimMesh Die Antwort auf die erste Frage würd ich auch gerne mal wissen. Man kann ja nachträglich die Textur nochmal hinzufügen. Die Texturkoordinaten werden ja mit dem Model geladen, nur die Texturdatei wird nicht gefunden. Wenn du die Textur nochmal manuell lädst und dem Objekt zuweist, sollte dein Objekt sofort korrekt texturiert sein. Ist allerdings unschön, dass man dann ständig die Textur manuell laden und draufpappen muss. Wüsste nur nicht wie mans hinkriegt die Texturen separat in Ordner zu speichern und es dann so hinzubekommen, das die Textur dennoch gefunden wird... ![]() Hoffe ich konnt nen bissle helfen... MfG Ska |
||
"In einer so verrückten Welt, kann man um in ihr zu überleben nur eines tun, nämlich eben jenes werden: Ein Verrückter!" -Selbstzitat
aktuelles Projekt: Aves Certim - Der Galgen ist nicht weit! Ein SNES-RPG mit Handels- und Wirtschaftselemente. Infos?Hier: http://www.blitzforum.de/worklogs/234/ Besucht meine Seite: www.seelenfriedhof.de.vu |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vielen dank, Skabus.
Ich werd mich mal dran versuchen und hoffen, dass was gutes dabei rauskommt ![]() Ich hätte da noch ne Frage: Wie macht man am besten kleine 3D-Szenen, also videos, die den Spieler darauf hinweisen, was er zu tun hat? |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
hazumu-kun |
![]() Antworten mit Zitat ![]() |
---|---|---|
Gibt es 2 Möglichkeiten, in Game-Grafik und dann ein Script ablaufen lassen, dann ist dein Programm in dem Moment Regisseur.
Oder vorgerenderte Filmsequenzen. |
||
Warum kann es keine omnipotente Macht geben?
Weil diese omnipotente Macht in der Lage sein müsste, einen so schweren Stein zu schaffen, dass sie ihn nicht heben kann -> nicht omnipotent |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group