Max von Tettenborn

Freelance 3D-Artist

XSI: simple State-KI mit ICE

Wie angekündigt, hier ein Video zu einer einfachen State-KI, die ich in ICE erstellt habe.

Hier passiert Folgendes:

Erstens bleiben die Partikel stets auf dem Boden. Bei der Technik habe ich mich von dieser Website inspirieren lassen.

Zweitens können die Partikel einen von drei States annehmen. Normalerweise sind sie im gelben State, wodurch sie ziellos auf der Oberfläche herumwandern. Wenn sie in die Nähe des zentralen roten Zylinders kommen, werden sie neugierig (und grün) und laufen auf den Zylinder zu. Sobald sie dann unmittelbar davor stehen, bekommen sie aber doch Angst (und werden rot) und laufen schnell wieder weg. Der rote State ist zeitgesteuert, und wenn die Zeit abläuft, werden sie wieder gelb.

Diese Umsetzung ist sehr einfach, zeigt aber, dass man mit ICE die Möglichkeiten hat, komplexe Verhaltensweisen zu erstellen, bis zu dem Punkt, an dem man das Ganze als Künstliche Intelligenz bezeichnen kann.

Übrigens habe ich erst nach dem Erstellen dieses ICE-Trees die State-Machine Nodes entdeckt, die aber nach dem, was ich bisher gesehen, habe auch nichts anderes machen.

Ich bin jetzt gerade am Überlegen, was ich als nächstes entwickeln könnte. Vorschläge und Inspirationen sind sehr willkommen.

Posted 8 years, 7 months ago at 11:47.

1 comment

XSI: Schwarmverhalten mit ICE-Partikeln

In den letzten Tagen habe ich mich intensiv mit dem neuen Partikelsystem von XSI names ICE auseinandergesetzt. Und ich muss sagen, dass ich wirklich begeistert von dem Möglichkeiten bin, die dieses System bietet.

Als Übung habe ich versucht, den Partikeln beizubringen, im Schwarm zu fliegen. Die drei Regeln, an die sich die Partikel halten sollen, sind ausführlich auf dieser Website beschrieben.

Die Umsetzung in ICE ist gar nicht so schwer. Das Herausforderndste war der Umgang mit Arrays, die in diesem Fall entstehen, wenn die benachbarten Partikel abgefragt werden. Ich war erstaunt, wie einfach und logisch ICE mit Arrays umgeht.

Hier mal ein Video davon:

Mit dieser Funktion könnte man beispielsweise Fisch- oder Vogelschwärme einfach und effizient umsetzen.

Neben dem selbstgebauten Compound, der das Schwarmverhalten steuert, habe ich noch eine weitere Funktion entwickelt, die es verhindert, dass die Partikel zu weit weg fliegen. Wie man sehr gut im Video sieht, werden Partikel, die den Rand des Würfels erreichen, einfach auf die andere Seite versetzt. So kann man eine Simulation leicht testen, ohne weit herauszoomen zu müssen, wenn die einzelnen Partikel abhauen.

Vor dieser Übung habe ich übrigens eine simple State-KI erstellt, die ich demnächst auch hier vorstellen werde.

Posted 8 years, 7 months ago at 09:24.

Add a comment

Flyer: Soundcafé Friday Vibes

Mal wieder ein Flyer für die Friday Vibes der Jugendkulturwerkstatt Soundcafé. Wie immer kam Photoshop zum Einsatz.

flyer_090424_1

flyer_090424_2

Posted 8 years, 8 months ago at 20:29.

Add a comment

WoW-Addon: Hunter-Pet-Feeder

In letzter Zeit habe ich mich dran gemacht, mir Scripten beizubringen, um es unter Anderem in XSI anzuwenden. Um etwas Übung darin zu bekommen, wie ein Programmierer zu denken habe ich ein Interface-Addon für World of Warcraft gebastelt. Der “Hunter-Pet-Feeder” nimmt dem Jäger die Aufgabe ab, seine Taschen nach Essen für den Begleiter zu durchwühlen und zu entscheiden, welche Mahlzeit am besten verfüttert werden sollte. Das klingt erstmal einfach ist aber doch recht komplex. Die aktuelle Version, die schonmal alles kann, was für die Funktion nötig ist, aber noch ohne “nette Extras” auskommen muss, enthält immerhin knappe 500 Zeilen Code.

So wird eine Datenbank angelegt, damit das Addon auch weiß, welche Gegenstände zum Verfüttern geeignet sind. Dem Benutzer wird die Möglichkeit gegeben, diese Daten einzusehen und Gegenstände hinzuzufügen und zu entfernen. Und sobald der Feed-Befehl ausgeführt wird, startet ein komplexer Algorithmus, der die Taschen Slot für Slot durchsucht und den geeignettesten Gegenstand herausfiltert, natürlich nach Kriterien, die der Benutzer selbst festlegen kann. Zu guter Letzt habe ich noch eine umfangreiche Debug-Funktion eingebaut, die auf Wunsch alle Vorgänge in den Chat-Frame schreibt.

Demnächst werde ich mich dann mal an Python wagen und versuchen ein Script für XSI zu schreiben. Die richtige Denkweise ist mir jetzt jedenfalls geläufig.

Hier gibt es noch den Download-Link zu dem Addon. Nach den Installieren kann man sich mit dem Befehl “/hpf help” eine Übersicht über die Funktionen anzeigen lassen. Übrigens ist der Code nicht compiliert, wer Interesse hat kann ihn sich also mit jedem Texteditor ansehen.

Download: Hunter-Pet-Feeder

PS: Die Weiterentwicklung dieses Addons wird wohl etwas auf sich warten lassen, denn jetzt beschäftige ich mich erstmal mit dem neuen XSI-Feature names ICE. Sieht auf den ersten Blick wirklich toll aus, sozusagen visuelles Scripting für Dummies ;)

Posted 8 years, 8 months ago at 12:59.

Add a comment

Flyer: Soundcafé House und HipHop

Diesen Flyer habe ich für Friday Vibes der Jugendkulturwerkstatt Soundcafé in Adobe Photoshop entworfen.

flyer_090327_1flyer_090327_2

Posted 8 years, 9 months ago at 13:31.

Add a comment