Hello Everybody,
As you guys know, I'm currently working on my "NoLimits to Cinema 4D" exporter Project.
While devloping my exporter, I noticed my code was structured like a library with usefull and easy functions, so it is also easy to use for my other things.
My code was a collection of functions, to ready everthing from a NoLimits Track File.
I think many of you have saw the source code released for the Auto-Supporter project by the user "Popcorned".
I have talked about it and we kept in touch and collected ideas and talked about many things.
One day we have talked about the SDK we miss for NoLimits to develop easy 3rd party tools for NoLimits. However, for many programmers, it is troublesome to deal with the nltrack file and type.
We thought we would have a crack at developing our own SDK for Nolimits. We created a shared C Library with easy usable and usefull functions such as to add supports with only one function.
Also everything the NL track file format is usable with the library.(modified, deleted or added).
With this library, it will make it a lot easier for people to developer thier own NoLimits 3rd party tools.
It's also great for beginners, the library very interesting, understandable and easy to use functions, making it perfect for beginners to start making their own tools.
We are currently working on documentation and the programming is almost ready.
You can see sample C code at the bottom and a picture which was generated with the this library.
viele wissen ja, ich hänge gerade an dem Projekt, Nolimits Tracks in Cinema 4D zu exportieren.
Im laufe der Entwicklung habe ich gemerkt, das der Code sich zu einem Bibliothek entwickelt, sodass man es problemlos auch für andere Sachen verwenden kann.
Es war eine Sammlung von Funktionen, um NoLimits Track Daten auszulesen.
Wie einige schon gemerkt haben, hatte der Benutzer hier aus onride.de, mit dem Namen "Popcorned" seinen Source Code, zu dem Auto-Supporter veröffentlicht, jedoch hat es nicht funktioniert.
So habe ich mit ihm Kontakt aufgenommen, und wir haben uns gegenseitig geholfen, und auch Ideen gesammelt.
Eines Tages haben wir auch darüber gesprochen, das NoLimits gar keinen SDK bereitstellt, um Tools für NoLimits zu entwickeln. So sind Programmierer auf sich allein gestellt, und müssen einen Track loader & exporter sich selbst basteln. Jedoch für viele Programmierer ist es mühevoll, sich mit der nltrack Datei beschäftigen und geben auf.
Dann dachten wir uns, einen "eigenen" SDK zu programmieren. Das wird eine C Library, mit nützlichen funktionen, wie Stützen hinzufügen und etc.
Eben alles was der NL Track Datei beinhaltet, kann mit dem Library angesprochen werden.
Mit diesem Library denken wir, das wir einigen Programmierer ermöglichen, ganz einfach eigene Tools für NoLimits zu basteln.
Auch für Anfänger wird der Library sehr interessant, da sich Problemlos vieles realisieren, und alle Funktionen sind einfach und verständlich aufgebaut.
Es wird gerade an einer Dokumentation gearbeitet, und die Programmierung ist schon fast fertig.
Zur Demonstration habe ich einen kleinen verständlichen Code vorbereitet:
int i=0;
Color colorwhite = createColorARGB(255, 255, 255, 255);
Wie man sehen kann, gibt es ganz einfache Funktionen, um die Anzahl der Wagen oder Züge einzustellen, sowie einen Kommentar rein zu schreiben. Auch andere Eigenschaften lassen sich verwirklichen, und mit dem Funktionen wie addFreeNode() und addSupport() ist es möglich, ganz einfach Stützen zu bauen
In dem Code habe ich versucht, per Formel, Stützen zu bauen, und hier das Ergebnis von dem Code (Terra und Track wurde zusätzlich hinzugefügt):
Hallo Zusammen,
die Entwicklung ist rasant, und die ersten Test - Tools wurden schon geschreiben. Das ganze beruht auf dieser Library und wurde mit PHP kombiniert, und dieser Ergebnis erzielt:
Dieser PHP Skript öffnet eine NlTrack Datei, und generiert daraus einen Layout Bild.
Eine Programmier Schnittstelle für NoLimits programmieren, damit man eigene Tool mit dieser Schnittstelle ganz einfach und unkompliziert programmieren kann.
Perfekt für Anfänger, und denen die keinen Lust haben, die NoLimits Datei Struktur zu entschlüsseln
Das was ich bei C4D Importer noch nicht geschafft hatte, habe ich es jetzt Geschafft.
Mit etwas Bezier Berechnung habe ich es hinbekommen, die XYZ Position von einem Segment (Track) Node, herauszufinden, und hier mein Ergebnis:
Langsam aber sicher implementiere ich alle Funktionen in meinem Lib, und dann wird der C4D Importer aktiv programmiert.
Dann können wir uns auf dem Voll Funktionsfähigen C4D Importer freuen
Immer noch ne geile Sache.
Arbeite auf jedenfall weiter daran, könnte einen großen Fortschritt in der NL Geschichte werden.
Meine PHP Fähigkeiten sind begrenzt, aber könnte man damit nicht sogar ein automatisch generiertes/gerendertes Vorschaubild erstellen?
Dann würden Coaster mit nichtssagenden Thumbs endlich der Vergangenheit angehören.
Auch die Prefabs gehen.
Die Schnittstelle ist eine reine C Bibiliothek und lässt sich mit entsprechenden Kenntnissen alles machen.
Du kannst mit etwas C Kenntnissen, eigene Tools basteln, oder daraus einen Plugin machen (z.b. für C4D wie ich es machen werden)
Meine PHP Fähigkeiten sind begrenzt, aber könnte man damit nicht sogar ein automatisch generiertes/gerendertes Vorschaubild erstellen?
Wie schon oben erwähnt, lässt sich mit dem C Bibiliothek vieles machen, und auch eine Extension (dll) für PHP werde ich schreiben, damit man innerhalb PHP die Bibiliotheks funktionen benutzen kanns, wie z.b. addSupport() etc.
Funktioniert das nur mit Handmade Supports oder auch mit Prefab?
Edit:
Sie gehen nur bedingt, hab vergessen zu erwähnen, das inmoment alle Prefabs, eine einfache Stütze darstellen (das heißt eine gerade Tube).
Aber das will ich auch nicht schwerpunkt mäsig behandeln, die ganzen Screenshots sind eine Reihe von Tests, um zu sehen ob alles funktioniert.
Wenn der Library fertig zum herunterladen ist (sammt der Dokumentation), dann werde ich mich hinsetzten, und die Lib Funktionen für PHP portieren.
Ich denke in Zukunft werdet ihr kleine Tools von mir sehen, und wer weiß wer diesen Library auch benutzt. Vieleicht wird es mehrere kleine Tools von jedem geben
Anschließend folgt der C4D Plugin, den ich aber etwas Mühevoller erstellen muss. Dort sind es nicht mehr einfache Linien.
Diese Library ist bei der Programmierung die halbe miete, und viele die Tools für NL proggen wollten, sind bestimmt auch an dem Datei Struktur kläglich gescheitert
Also, ich finde das ja jetzt alles ziemlich interessant, aber ich versteht rein gar nichts!
Bringt das was du dort erstellst dem Otto-normal-No-Limits-User irgendetwas?
Einige NoLimits Exchange Webseiten könnten meinen Lib verwenden um aus hochgeladenen Nltracks solch ein Vorschau Bild zur erstellen.
ich glaube in so fern bringt es einem Otto Normalen Nl User etwas
Ich meine, wenn du verhältnismäßig gut soetwas programieren kannst, könntest du dann villeicht ein Programm erstellen, mit dem man seinen eigenen NL Coaster als 3ds Datei bekommt? Damit man mehrere verschiedene Coaster in einem hat.
Weil zum Beispiel das letzte Bild, welches du gepostet hast, dort sieht man ja soweit ich das erkenne einen der neuen X-Car Coaster von dem Update 1.7! Auf Bildern davor sieht man ja schon die einzelnen Vertexe. Und in deinem Projekt davor hattest du ja soweit ich das richtig verstanden hatte, schon gesamte Coaster exportiert.
Naja, ich kenn mich damit wirklich nicht aus, hoffe das es aber villeicht Möglich wäre!
Andere Anregungen wären villeicht Tabellen von den G-Kräften. Ich kenne mich kein bisschen damit aus, kann nicht beurteilen wie schwer das ist!
Die G's kann ich nicht exportieren, muss berechnet werden.
Um einen Coaster zu exportieren, muss ich mehr als Linie zeichnen, da muss ich auch einiges rechnen. Ohne Hilfe kriege ich das vll gar nicht hin. Aber ich müsste es mal schauen wenn ich damit fertig bin
Hallo Zusammen,
ich bin mit der ganzen Sache fast fertig.
Ich habe mir überlegt, wie ich eine Schnittstelle bauen kann, damit man das ganze auch per PHP benutzen kann. Am Anfang wollte ich einen Extension programmieren, aber das würde dann fast nur auf eigenen Srver funktioneren, da man Extensions laden muss.
Da aber viele Webspaces CGI und etc. unterstützen, dachte ich mir, einen Ausführbaren EXE (ELF auf Unix Servern) zu bauen, der den NoLimits Track Datei in einem XML Dokument "exportiert".
Mann würde dann so eine XML Datei exportiert bekommen:
In moment ist das ganze nur zur hälfte dokumentiert, und die PHP binding ist auch noch nicht veröffentlicht. Lediglich der C Library ist verfügbar.
Morgen kommt ein kleines Tutorial dazu, wie man solche Stützen erstellt:
/var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/functions.php on line 635: in_array() expects parameter 2 to be array, null given /var/www/onride/onride.de/includes/page_tail.php on line 105: Illegal offset type