NooNooPhysics V1.0
Übersicht

![]() |
NoobodyBetreff: NooNooPhysics V1.0 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nachdem ich die vergangenen paar Tage mit den letzten Umstrukturierungen und Bugfixes zugebracht habe, kann ich nun stolz die erste Version von NooNooPhysics veröffentlichen ![]() NooNooPhysics ist eine 2D - Physikengine, die ich im Laufe des vergangenen halben Jahres für meine Abschlussarbeit geschrieben habe. Sie wurde in C++ und BlitzBasic geschrieben und ist Open Source; der Code darf frei verwendet werden. Die Engine unterstützt soweit die Berechnung aller beliebigen konvexen Objekte. Berechnet werden bisher Kollision und Reibung, desweiteren können Objekte fixiert oder in der Rotation limitiert werden; Soft Bodies sind ebenfalls möglich. Die Berechnung erfolgt dabei auf eine eher unkonventionelle Art, die sogenannte Verletintegration; ich habe aber versucht, die Bedienung auf einfache Befehle zu beschränken (MoveEntity, TurnEntity etc.). Damit die Engine in eigenen Projekten verwendet werden kann, muss man die im Paket zu findende NooNooPhysics.decls und NooNooPhysics.dll in den Userlibs - Ordner der Blitzbasic - Installation kopieren. Ausserdem muss man immer die Include, NooNooPhysics.bb, in das aktuelle Projekt einbinden. Wie genau man die Engine initialisieren und benutzen muss, wird durch die Beispiele gezeigt. Bei Fragen, die nicht durch die Beispiele geklärt werden, kann man natürlich jederzeit hier im Thread posten oder mir eine PN schreiben. Noch ein paar Screenshots aus den angefügten Beispielen: Beispiel 1, Setup und einfache Objekte: ![]() Beispiel 4, eigene Gravitationsberechnung: ![]() Das Downloadpaket enthält die DLL, die Decls, die Include, 4 Beispiele, eine Dokumentation aller Befehle und Variablen sowie den Sourcecode der DLL. Download Die Beispiele können auch als .exe heruntergeladen werden, damit man das Ganze testen kann, ohne gleich den Userlib - Ordner zu bedrängen. Download Bei Vorschlägen, Bugs und Anregungen kann man gerne hier im Thread posten oder mir eine PN schreiben, ansonsten wünsche ich viel Spass mit der Engine. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich finde es sehr gut, dass du diese DLL zur Verfügung stellt. Es funktioniert alles perfekt, mir sind bisher keine Bugs aufgetreten. Vorallem das 2. Beispiel gefällt mir. | ||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
![]() |
ozzi789 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wau das sieht echt gut aus!
auch preformance mässig ![]() mach weiter so |
||
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5 |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mit Unterstützung der Portalsadministration ist die Dokumentation der Lib nun auch in der Hilfe hier im Portal enthalten!
Sie kann hier gefunden werden und ist wärmstens zu empfehlen, da die Funktionen so sehr viel übersichtlicher sind als in der beigelegten .txt Ich habe ausserdem noch ein wenig mit dem Beispiel 3 rumgespielt und einen kleinen Funpark daraus gebastelt: ![]() Download Ich bereinige den Code dazu noch ein wenig und füge ihn dann auch zum Download hinzu - vielleicht macht ja jemand ein kleines Geschicklichkeitsspiel daraus. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
Pitje Puck |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Klasse!
Mein beten wurde erhört. Habe lange nach einer so einfach zu benutzenden 2d Physik Engine gesucht. Hut ab! Hab schon recht viel Experimentiert. Wenn etwas Ordentliches herauskommt werde ich es posten. 2 Fragen hätte ich noch: Abschlussarbeit wovon? Schule, Studium ? (reine Neugier) Ist, wie ich aus der Art der Veröffentlichung heraus schließe, frei verwendbar, oder? MfG, Pitje |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Freut mich, dass die Lib von Nutzen ist! ![]() Pitje Puck hat Folgendes geschrieben: Abschlussarbeit wovon? Schule, Studium ? (reine Neugier)
Es ist die Abschlussarbeit des Gymnasiums, das ich besuche. Ich muss in der Arbeit eine genügende Note erhalten, um fürs Abitur zugelassen zu werden (Schweiz). Pitje Puck hat Folgendes geschrieben: Ist, wie ich aus der Art der Veröffentlichung heraus schließe, frei verwendbar, oder?
Ja, das Ding ist komplett frei verwendbar. Du kannst sogar den Sourcecode auf den Kopf stellen, wenn du willst ![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Smily |
![]() Antworten mit Zitat ![]() |
---|---|---|
Besser wäre es, einfach einen Lizensnamen zu nennen, dann kann jeder herausfinden, was er darf und was nicht.
Wenn du alles erlauben willst, gibts die WTFPL Anonsten wäre die GPL oder LPGL (Wenn du willst, das dein Projekt in kommerziellen projekten verwendet werden darf, zweiteres), gut für sowas |
||
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets "Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!" stummi.org |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe auf deinen Rat hin den Sourcecode unter die zlib/libpng Lizenz gestellt.
Das bedeutet: Wikipedia hat Folgendes geschrieben: Sie beinhaltet, dass der Autor der Software keine Haftung für irgendwelche Schäden übernimmt, die aus der Benutzung selbiger resultieren. Die Verwendung der Software ist frei zu allen, das heißt auch zu kommerziellen Zwecken, unter folgenden drei Bedingungen:
1. Man darf nicht behaupten, dass man der Urheber der Software ist. Bei der Verwendung in einem Produkt ist außerdem eine Erwähnung in den Unterlagen erwünscht, jedoch nicht erforderlich. 2. Ein geänderter Quellcode muss auch als solcher gekennzeichnet werden und darf nicht als ursprüngliche Quelle genannt werden. 3. Der Lizenzhinweis darf nicht entfernt werden Das Paket wurde mit Lizenzhinweis aktualisiert. Ausserdem habe ich den Source der Halfpipe - Demo dazugelegt, falls jemand interessiert ist. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
eine frage die mich schon seit mehreren tagen interressiert ist: kann man entitys und deren edges auf "no physics" stellen? wie? | ||
Warbseite |
![]() |
AnniXa |
![]() Antworten mit Zitat ![]() |
---|---|---|
mit der eigenschaft \Locked = true
also wenn dein entity test.TEntity ist, kannst du mit test\Locked = true, die physik dafür abschalten. |
||
|moonForge|
Ich bin Pokémon Meisterin seit 1998! |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dafür kannst du, wie AnniXa schon erwähnt hat, das Feld 'Locked' deines Entities auf True stellen.
Wenn zusätzlich noch keine Kollision berechnet werden soll, so reicht es, wenn du das Feld 'CollisionEnabled' auf False stellst. Beispiel: BlitzBasic: [AUSKLAPPEN] Entity.TEntity = NNP_CreateEntity() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
ah danke:) | ||
Warbseite |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Könntest du evtl. noich einbauen das man einzelne vertices festsetzten kann ?
mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Okay, ist eingebaut und wird in der nächsten Version enthalten sein (wenn du dich noch ein kleines bischen gedulden kannst ![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Klar ![]() Aber kann man dann auch z.b. einzellne entitys festsetzten, also so das die nur noch über den Position-Befehl ihre position ändern, aber z.b. noch gedreht werden können (z.b. ein feststehdes rad) dazu hätt ich noch ne idee, mach noch so ein Child-system, sodass man z.b. eine box mit zwei rädern dran machen kann, die sich unabhägig voneinader drehen können, so dass man mit einem auto fahren kann.. Wäre richtig gut wenn du das machen könntest ![]() mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
ToeB hat Folgendes geschrieben: Aber kann man dann auch z.b. einzellne entitys festsetzten, also so das die nur noch über den Position-Befehl ihre position ändern, aber z.b. noch gedreht werden können (z.b. ein feststehdes rad)
Das wäre jetzt schon möglich - man müsste nur den zentralen Vertex fixieren, dann hat man den erwünschten Effekt. ToeB hat Folgendes geschrieben: dazu hätt ich noch ne idee, mach noch so ein Child-system, sodass man z.b. eine box mit zwei rädern dran machen kann, die sich unabhägig voneinader drehen können, so dass man mit einem auto fahren kann..
Das ist ebenfalls möglich durch die Unterteilung in Fragmente (siehe WL). Das Zeug muss allerdings noch optimiert werden, weswegen sich die Veröffentlichung noch ein wenig hinziehen wird. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kleiner Bug in NNP_ExportPhysics![]() Downloadlink bleibt derselbe. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
AlkanBetreff: Funktioniert nicht!!! |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Ähhmm..irgendwie funktioniert das bei mir nicht! Da steht dann immer function 'blablabla' not found mfg Alkan Edit:Also das Beispiel funktioniert nicht! |
||
Hauptrechner: Win7 Ultimate x64|AMD Phenom II X4 965 BlackEdition 4x3.4GHz|4 GB DualKit DDR3-1600 Ram|1.5 TB Samsung EcoGreen|Cougar CM 700Watt|ASRock M3A790GFX/120M|Nvidia GeForce 9500GT|Ati Radeon HD3300(Onboard-Deaktiviert)
Server(früher Hauptrechner): Ubuntu 9.1 x86|Intel P4 HT 3GHz|Ati Radeon X600Pro|200 GB HDD Worklog: Planetensimulation Homepage(Under Construction): alkan96.dyndns.org Wenn schon falsch, dann richtig falsch. |
- Zuletzt bearbeitet von Alkan am Do, Jan 14, 2010 17:27, insgesamt einmal bearbeitet
![]() |
Goodjee |
![]() Antworten mit Zitat ![]() |
---|---|---|
dann hast dus nich eingebunden...etwas code könnte nicht schaden | ||
"Ideen sind keine Coladosen, man kann sie nicht recyclen"-Dr. House
http://deeebian.redio.de/ http://goodjee.redio.de/ |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
Damit du die DLL verwenden kannst, musst du die .dll und die .decls in den Userlibs-Ordner deiner B3D-Installation stecken (z.B. C:\Programme\Blitz3D\Userlibs).
Wenn du später eine Exe machst, musst du die .dll in den selben Ordner wie die erstellte .exe kopieren. Falls deine Exe beispielsweise in C:\MeinTollesProjekt\Spiel.exe liegt, legst du die DLL nach C:\MeinTollesProjekt\NooNooPhysics.dll. |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group