Forum: PC-Programmierung Blender3D/Armory3D (incl. Live-Demo) als 3D-Turbo Pascal on Steroids - Visuelle Instant-Progr.


von 🕵︎ Joachim L. (Gast)


Angehängte Dateien:

Lesenswert?

Beispiel mit Quellcode (Blender-Datei!) siehe weiter unten im Text.

Wer ein bisschen Blender beherrscht, muss nicht von Hand programmieren. 
Mit dem Armory3D Addon lässt sich eine grafische Oberfläche, sogennante 
Nodes, zur visuellen Prog. benutzen. Mit F5 wird das Ergebnis kompiliert 
und gestartet. Dadurch können notwendige Änderungen durch ausprobieren 
erkannt und implementiert werden. Ist außerdem ein Android-Studio 
installiert, kann (nach entsprechender Einstellung/Setup) direkt 
lauffähiger Code für eine apk erzeugt werden. Armory3D ist ein echtes 
Multitarget Systen. Um Programme für Win, Linux, Android, WearOS etc. zu 
erzeugen wird nur das Ziel angegeben, keine Codeänderungen nötig. D. h. 
was ich gerade noch als Website am PC getestet habe, läuft auch auf dem 
Mobile Phone. Es muss nicht mal eine apk generiert werden, falls man 
einen Browser benutzt. Jedoch ist bei Mobile Entwicklung ein PC mit 
Touchscreen zu empfehlen. Spart halt doch den ein oder anderen 
Durchlauf. Das ganze ist für mich eine Art modernes Turbo-Pascal mit 3D 
Fähigkeiten. Hierbei schätze ich insbesonders die Instant Kompilierung 
und Start mit F5. Diese ist schnell nach dem ersten Mal, da hier ein 
Cache benutzt wird (einstellbar). Ich benutze das schon seit längerem 
und habe damit ein paar Architektur- Vizualisierungen. eine Nixie und 
LED-Uhr sowie besagtes Ziffernblatt (Blend Datei als Source ist hier 
dabei) erstellt. Benutzt die Blend-Datei als Vorlage für eure 
Anpassungen, dann könnt ihr gleich loslegen und müsst nicht das 
komplette System beherrschen. Falls Ihr Schwierigkeiten mit dem Setup 
habt, könnt ihr gerne hier oder im Armory3D Forum (auf 
Anglersäxisch/Neudeutsch) fragen. Hier sind die Beispiele:

Analog-Uhr als Website. Kann auch mit WearOS/Android als Target 
verwendet werden. Inkl. Source.
Mit etwas Geschick kann man relativ einfach eigene Ziffernblätter mit 
beliebiger Funktionalität entwerfen.
https://forums.armory3d.org/t/update3-improved-nixie-clock-desktop-mobile-added-aesthetic-5-swap-button-and-inverted-control-directions/4940
Bitte nach unten scrollen, der übereifrige Admin dort, hat meine Freds 
einfach zusammengelegt.


Andere Beispiele findet ihr im Armory3D-Forum im Showcase Thread.
von mir sind z.B.
Nixie3D (wurde hier schonmal separat vorgestellt)

2D LED-Clock
siehe Nixie Thread unten.
Arch-Viz (erster Versuch, mit Blend)
https://forums.armory3d.org/t/blendfile-archviz-litterbug-den-realtime-wt-sporting-voxel-a0/4797
...

von Thomas W. (thomas_v2)


Lesenswert?

Es gab doch in Blender schon mal eine Gameengine. Die wurde zwar 
entfernt, aber mit dem UPBGE Fork ist die Gameengine mehr oder weniger 
so da wir früher. Zumindest konnte ich alte Projekte von mir die mit der 
letzten Blender Version 2.78 erstellt wurden, direkt in der UPBGE 
weiterbearbeiten.

von 🕵︎ Joachim L. (Gast)


Lesenswert?

Thomas W. schrieb:
> Es gab doch in Blender schon mal eine Gameengine. Die wurde zwar
> entfernt, aber mit dem UPBGE Fork ist die Gameengine mehr oder weniger
> so da wir früher. Zumindest konnte ich alte Projekte von mir die mit der
> letzten Blender Version 2.78 erstellt wurden, direkt in der UPBGE
> weiterbearbeiten.

UpBGE ist nur für PC und nicht Multi-Platform. Damit kannst Du keinen 
Webcontent und keine Android APK erstellen. Mit Armory3D schon. Klick 
einfach mal meine oben aufgeführten Demos an, dann weißt du was ich 
meine.

von Schade... (Gast)


Lesenswert?

Tja, nur leider ist der Zug abgefahren.

Als Hobbyentwickler wirft dir Unity alles was du brauchst kostenlos 
hinterher. Inklusive hervorragender Tutorials. Mal abgesehen von ein 
paar Anhängern der Freien Software hat niemand irgend einen einen Grund, 
irgend eine andere kostenlose Gameengine überhaupt mal auszuprobieren.

von 🕵︎ Joachim L. (Gast)


Lesenswert?

@ Schade, leider (Gast):

Das ist, mit Verlaub, Quark. Außerdem mit Werbecharakter, im allgemeinen 
Spam genannt.

Und dann auch noch so tun als täte dir was leid (Täuschname "Schade"), 
obwohl nur Häme zu merken ist. Warum hast Du denn, wenn du dich gut 
auskennst (bezweifle ich stark) nicht mehrere  (wenn´s sein muss 
kommerzielle) Alternativen angegeben?

Z.B Cryengine, Unreal4, Unreal5 (Lumen, Nannite!), Serious Engine etc. 
Speziell Unity ist an vielen Stellen umständlich und mit veralteten 
Konzepten belastet. Die genannten Tutorials sind bitter nötig. Außerdem 
hinkt es technisch gesehen der Konkurrenz nach. Das dumme ist, JEDE 
dieser Engines ist kompliziert genug, das man danach keine zweite mehr 
lernen will bzw. kann. Deswegen kann man auch selbst schlecht 
vergleichen. Da Armory3D 100 % in Blender integriert ist, kann man dies 
Gelernte auch mit anderen Engines benutzen. Aber die visuelle 
Programmierung (Nodes) mit Armory3D macht schon nach kurzer Einarbeitung 
Spass, falls man sich vorher schon etwas mit Blender beschäftigt hat. 
Wer lieber Programme schreibt, kann auch dies tun oder beides mischen. 
Download ca. 300+ MB und einfach als Blender Addon installieren. Fertig! 
Bei Unreal5 z.B. muss man sich erst mal bei EPIC registrieren, dann ein 
Riesenteil runterladen und die Doku studieren, wo denn der Anfang ist. 
Außerdem ist mir da nach 50 GB der DL abgebrochen und Resume hat nicht 
funktioniert. (Mööp!).
Alles nicht ganz so eindeutig wie du da einseitig suggerierst. Was soll 
das? Hälst Du die Forumsteilnehmer hier wirklich für so einfältig, daß 
sie Spam nicht erkennen?

von Thomas W. (thomas_v2)


Lesenswert?

Ich habe die BGE damals für eine fördertechnische Anlagensimulation 
verwendet. Also um ein Steuerungsprogramm mit einer Simulation zu 
koppeln. Ich habe das gleiche anschließend nochmal mit dem UDK (Unreal 
Development Kit) umgesetzt. Bei der BGE musste man bei der Physik einige 
Klimmzüge machen, damit Gegenstände nicht durch Wände oder Böden fallen. 
Das Problem hatte ich beim UDK nie.

Der Vorteil bei einer in Blender integrierten Gameengine ist aber, dass 
man alles in einem einzigen Programm machen kann. Andere Engines bringen 
zwar eine Unmenge an fertigen Assets mit, aber um neue zu erstellen muss 
man eben wieder ein Programm wie Blender hernehmen. Gerade wenn man 
etwas anderes vorhat als klassische Spiele, ist das in Blender schon von 
Vorteil.

Was mir bei Armory nicht gefällt, ist Haxe als Scriptsprache. Ich habe 
den Namen bisher nicht einmal gehört, und ich kenne auch Whitespace und 
Malbolge. In Python habe ich etliche fertige Module für Kommunikation 
die ich in der BGE direkt verwenden kann, außerdem alles andere an 
Bibliotheken was Python mitbringt. In der BGE ließ sich auch viel mit 
den Logic Bricks umsetzen, auch in den Logic Bricks Python Methoden 
aufrufen. Ich habe mir das bei Armory3D mal in ein paar Videos 
angesehen, ich denke mit den Logic Nodes käme ich genau so klar, aber 
Haxe ist für mich persönlich der Showstopper.

von 🕵︎ Joachim L. (Gast)


Lesenswert?

Haxe ist ein kann, kein muss. Habe ich bisher selten benutzt, nur um 
dann festzustellen das ich einfach ein paar der dazu nötigen Logicnodes 
nicht richtig eingeordnet habe und deswegen unnötigerweise auf Haxe 
auswich. Vergleiche selbst, siehe Zeitquelle bei meinen Programmen LED- 
und Analoguhr. (Blends im jeweiligen Github-Repository 
https://github.com/StrandedAlien/LED_Clock bzw. 
https://github.com/StrandedAlien/Anna-log) Was die Physik angeht, lassen 
sich zwei verschiedene auswählen Oimo und Bullet.

Haxe ist vor allem für die Einbindung der Libraries der Haxelibs gut. 
Sowas wie Webscraping, Databases, und serielle sowie Websocket 
Hardwareanbindung etc.

Mein Erstlingswerk hier ist 
https://github.com/StrandedAlien/Archviz-Litterbug-Den
Auch hier ist die Blend dabei und man sieht genau wie z.B. das Öffnen 
und Schließen der Fensterrolladen mit Nodes realisiert werden kann. 
Diese werden mit den Tasten 1 bis 6 stufenlos gedreht. Die Realtime 
Lichteffekte dabei finde ich beeindruckend. Probiert es mal aus. Für die 
Erstellung der Umgebung kam Sweethome3D zum Einsatz. Damit gehts 
ratzfatz.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.