|
TroY , 17.03.2008, 20:05
|
Beitrag #1
|
|
|
| IP: |
n/a |
| Rang: |
|
| Registrierung: |
25.12.2007, 23:49 |
| Land: |
 |
| 3D Prog.: |
Art of Illusion |
| Homepage: |
http://www.uninformativ.de |
| |
 AoI-Board Inventar mit 1418 Punkte, 1251 Beiträge |
| |
|
|
|
|
TroY , 17.03.2008, 23:03
|
Beitrag #5
|
|
|
| IP: |
n/a |
| Rang: |
|
| Registrierung: |
25.12.2007, 23:49 |
| Land: |
 |
| 3D Prog.: |
Art of Illusion |
| Homepage: |
http://www.uninformativ.de |
| |
 AoI-Board Inventar mit 1418 Punkte, 1251 Beiträge |
| |
|
Funktioniert also, ja? Gut. :D
Das Telefonkabel schaut echt cool aus, wenn ich das mal so sagen darf. :)
Ein paar Ungenauigkeiten gibt's ja schon noch - am Anfang und am Ende vorallem. Mal sehen, ob ich das noch irgendwie sauberer hinkriege.
Vielleicht drehe ich die Anleitung mal auf Englisch morgen ...
- github - Warum der Begriff „Open Source“ am Kern der Sache vorbei geht
|
|
|
|
TroY , 18.03.2008, 12:57
|
Beitrag #7
|
|
|
| IP: |
n/a |
| Rang: |
|
| Registrierung: |
25.12.2007, 23:49 |
| Land: |
 |
| 3D Prog.: |
Art of Illusion |
| Homepage: |
http://www.uninformativ.de |
| |
 AoI-Board Inventar mit 1418 Punkte, 1251 Beiträge |
| |
|
|
|
|
Siri , 18.03.2008, 14:59
|
Beitrag #8
|
|
|
| IP: |
n/a |
| Rang: |
|
| Registrierung: |
26.12.2007, 12:02 |
| Land: |
 |
| 3D Prog.: |
AoI, 3DC, Blender, Bryce &a... |
| |
 AoI-Board Inventar mit 1777 Punkte, 1540 Beiträge |
| |
|
Super! Danke Troy,
ich muss sagen, du bist ja wirklich äußerst produktiv, wenn du Zeit totschlägst :D ...und ich hab ich gleich wieder was zum Ausprobieren für's Wochenende LG Siri
Extra3: Willkommen bei Facebook
|
|
|
|
TroY , 18.03.2008, 18:10
|
Beitrag #9
|
|
|
| IP: |
n/a |
| Rang: |
|
| Registrierung: |
25.12.2007, 23:49 |
| Land: |
 |
| 3D Prog.: |
Art of Illusion |
| Homepage: |
http://www.uninformativ.de |
| |
 AoI-Board Inventar mit 1418 Punkte, 1251 Beiträge |
| |
|
Siri hat folgendes geschrieben: ich muss sagen, du bist ja wirklich äußerst produktiv, wenn du Zeit totschlägst :D Hehe, ja - ich brauch' das. ;) Ich würd' mich zwar nicht gerade als hyperaktiv bezeichnen, aber nur rumsitzen und nichts tun ... grausam. :D
Mir ist auch gestern so der Gedanke gekommen: Würde man Schulkindern mit solchen Sachen die Vektorrechnung beibringen, die hätten bestimmt viel mehr Spaß dran. Alleine schon, weil man sieht, dass man damit irgendwie was machen kann und dass der Kram nicht nur rein abstraktes Zeug ist, was man eh nie braucht ...
- github - Warum der Begriff „Open Source“ am Kern der Sache vorbei geht
|
|
|
|
|
|
|
| IP: |
n/a |
| Rang: |
|
| Registrierung: |
26.12.2007, 20:07 |
| Wohnort: |
Hamburg |
| Land: |
n/a |
| 3D Prog.: |
Art of Illusion u.a. |
| |
 AoI-Board Inventar mit 1735 Punkte, 1521 Beiträge |
| |
|
Die Idee ist nicht verkehrt. Mit Bücher wie "Die Schönheit der Mathematik" (Original ist englisch glaube ich) sind ja ähnlich gedachte Werke schon erhältlich. Damit in den Unterricht zu gehen ist der nächste logische Schritt.
Marc Carson hat schon Kinder mit AoI unterrichtet und auch anderswo ist das schon vorgekommen. Wenn ich mir vorstelle Kinder im Grundschulalter mit der Oberfläche von Blender vertraut machen zu wollen ... (Kopfschüttel).
Aber gerade das Rendering und Modeling ist ja in den Ursprungsjahren durch Mathematiker bestimmt worden. Und auch heute sind reine Modeler oder Animatoren und Texturier (Painter?) eher selten.
Die Allroundkünstler sind immer auch fähig eigene Scripte zu schreiben - egal ob Phyton, MaxScript, C*o*f*f*e*e oder Java. Insofern: Ran an die Schulen.
Aus eigener Erfahrung sehe ich zumindest das es deutlich mehr PC Unterricht gibt und viele Lehrer *umfassend* über OpenSource berichten und die Software auch einsetzen (i.dR. OpenOffice, GIMP und Inkscape - Scribus habe ich an der Schule noch nicht gesehen).
Vid
|
|
|
|
TroY , 18.03.2008, 20:59
|
Beitrag #11
|
|
|
| IP: |
n/a |
| Rang: |
|
| Registrierung: |
25.12.2007, 23:49 |
| Land: |
 |
| 3D Prog.: |
Art of Illusion |
| Homepage: |
http://www.uninformativ.de |
| |
 AoI-Board Inventar mit 1418 Punkte, 1251 Beiträge |
| |
|
So, habe ein kleines Problemchen gefunden, was sich aber relativ einfach auf Anwenderseite beheben lässt:
Wenn man eine Richtkurve erstellt und diese in ihrem lokalen Koordinatensystem Punkte enthält, die in zwei Achsen bei 0 (also bspw. X=0 und Z=0) liegen, dann ist in diesem Bereich der Kurve keine Helix zu sehen. Das ist auch absolut nachvollziehbar, also kein mysteriöser Bug (wie will man denn nämlich auch zu zwei parallelen Vektoren, die somit keine Ebene aufspannen, genau einen Vektor finden, der dazu senkrecht ist - da gibt es unendlich viele).
Umgehen lässt sich das, indem man einfach darauf achtet, dass alle Punkte der Richtkurve nicht in zwei Achsen bei 0 liegen - im Falle der Fälle verschiebt man einfach die Kurve um 0.5 in X-Richtung oder wie auch immer. ;)
vidiot hat folgendes geschrieben: Marc Carson hat schon Kinder mit AoI unterrichtet Oi? Cool. :)
vidiot hat folgendes geschrieben: Aus eigener Erfahrung sehe ich zumindest das es deutlich mehr PC Unterricht gibt und viele Lehrer *umfassend* über OpenSource berichten und die Software auch einsetzen (i.dR. OpenOffice, GIMP und Inkscape - Scribus habe ich an der Schule noch nicht gesehen). Hm, dann scheint sich da wohl was zu tun. In meiner Schulzeit (also eigentlich noch gar nicht so lange her ...) war wirklich alles noch Windows/Microsoft und auch von anderen Schulen hörte man nichts anderes - sofern's überhaupt PC's gab. Ist ja auch nicht gerade einfach, alles OpenSource-only zu machen, zumindest nicht für den durchschnittlichen Heimanwender/Lehrer.
- github - Warum der Begriff „Open Source“ am Kern der Sache vorbei geht
|
|
|
|
TroY , 19.03.2008, 00:16
|
Beitrag #13
|
|
|
| IP: |
n/a |
| Rang: |
|
| Registrierung: |
25.12.2007, 23:49 |
| Land: |
 |
| 3D Prog.: |
Art of Illusion |
| Homepage: |
http://www.uninformativ.de |
| |
 AoI-Board Inventar mit 1418 Punkte, 1251 Beiträge |
| |
|
So, ich hab' noch was für euch.
Vid wird bestätigen können, dass es viel angenehmer ist, die Helix auf einem Scripted Object zu bauen, anstatt sie mittels des "Tools" zu erstellen, richtig? Da kann man nämlich nachträglich die Parameter noch ändern und muss die Helix nicht für jede kleine Änderung ganz neu erstellen.
Der Nachteil davon ist dann, dass man hieraus keine Kurve extrahieren kann, die man dann weiterverwenden kann. Das habe ich jetzt geändert.
Im Anfangspost befindet sich jetzt noch ein zweites Script, welches alle Objekte aus beliebigen Scripted Objects herausholen und als reguläre Objekte in die Szene einfügen kann (sofern das Script denn welche erzeugt, muss es ja nicht). Ausprobiert habe ich das jetzt mit der Helix, meinem Eierbecher und dem Particle Jet - klappt einwandfrei. Er gruppiert das Zeug auch gleich, sodass man nicht auf einmal wild 50 Objekte (beim Particle Jet z.B.) in der Szene rumfliegen hat, außerdem werden die Objekte sinnvoll nach ihrem Typ (Curve, Tube, Sphere, ...) benannt.
Alle Objekte befinden sich genau an derselben Stelle wie das Scripted Object (das ist etwas, was ich im Helix-Script auch nochmal ergänzen könnte, da entsteht die Helix ja wieder im Ursprung) - auch intern stimmen die Positionen, wie man am Particle Jet gut sehen kann: Jede einzelne Sphere ist an der richtigen Stelle.
Das Script ist ein Tool-Script, kommt also nach Scripts/Tools und wird dann auch in AoI über "Tools" -> "Scripts" aufgerufen. Vorher muss man in der Objektliste all die Scripted Objects markieren, aus denen man die Objekte haben möchte (können also auch mehrere gleichzeitig sein).
Denke, das kann auch für andere Zwecke sehr "handy" sein. ;) Ich erinnere mich auch, dass ich das irgendwann schonmal gebraucht hätte, aber die Funktion hatte ich da nicht gefunden ... und "Convert to Triangle Mesh" ist ja was ganz anderes, in unserem Falle hier wollen wir ja die Helix-Kurve als Curve haben.
- Nachtrag: Da es ja zum Glück noch keiner runtergeladen hatte, ist's nicht so schlimm - im zweiten Script befand sich aber ein sehr blöder Fehler, welcher nun hoffentlich ausgemerzt ist. ;) (Textur/Material vom Scripted Object nicht auf das extrahierte Objekt kopiert...)
- github - Warum der Begriff „Open Source“ am Kern der Sache vorbei geht
Dieser Beitrag wurde insgesamt 1 mal editiert. Das letzte mal 19.03.2008, 01:58 von TroY.
|
|
|
|
TroY , 19.03.2008, 17:36
|
Beitrag #14
|
|
|
| IP: |
n/a |
| Rang: |
|
| Registrierung: |
25.12.2007, 23:49 |
| Land: |
 |
| 3D Prog.: |
Art of Illusion |
| Homepage: |
http://www.uninformativ.de |
| |
 AoI-Board Inventar mit 1418 Punkte, 1251 Beiträge |
| |
|
Bevor ich jetzt die nächste Version blind ohne Feedback rauswerfe, so wird sie aussehen:
- Es gibt nur noch eine Variante, nämlich das Scripted Object - hier stellt man dann jetzt oben im Kopf des Scripts die Parameter alle ein
- Mit dem Extraction Tool kann man, falls gewünscht, eine Curve/Tube dann aus dem Scripted Object extrahieren und sonstwie weiterverwenden
- Man kann Helix-Scripte kaskadieren - genauer gesagt: Man kann dem Script oben den Namen des Objektes eingeben, in dem es versuchen soll, eine Curve zu finden. Ist das gegebene Objekte direkt schon eine Curve oder Tube, dann wird diese direkt als Grundlage benutzt, ist es dagegen ein Scripted Object (was in AoI nichts weiter als ein Container für Objekte ist), dann sieht das Helix-Script nach, was in diesem Scripted Object so alles drin ist - die erste Curve, die es darin findet, wird als Grundlage genutzt (wird nichts gefunden, erhält man eine Fehlermeldung)
- Wie eben schon angedeutet, ist es nicht mehr notwendig, dem Script direkt eine Curve zu fressen zu geben - es kommt auch mit Tubes zurecht (das heißt, kaskadiert man zwei Helix-Scripte, muss man nicht extra das erste Script auf "doTube = false" setzen)
- Auf Wunsch kann sich das Script der Position der Eingabekurve/des Eingabescriptes anpassen: Die Helix sitzt dann genau dort und hat auch dieselbe Orientierung
Dass die Beschränkung auf eine Curve als Input wegfällt, hat auch zur Folge, dass man nun beispielsweise das Coil-Script als Grundlage für eine Helix nutzen kann. Ich hatte diese Beschränkung eh nur ohne Nachdenken drin, weil Julian das im Coil auch so hatte - eine Tube ist aber nichts weiter als eine abgeleitete Klasse von Curve (kann also nach Konvention mindestens so viel wie eine Curve und ist damit für mich auch nutzbar).
So, bevor ich das jetzt in Stein meißele: Meinungen dazu? Habt ihr noch andere Vorschläge, die man versuchen könnte, umzusetzen? :)
- github - Warum der Begriff „Open Source“ am Kern der Sache vorbei geht
|
|
|
|
|
|
|
| IP: |
n/a |
| Rang: |
|
| Registrierung: |
26.12.2007, 20:07 |
| Wohnort: |
Hamburg |
| Land: |
n/a |
| 3D Prog.: |
Art of Illusion u.a. |
| |
 AoI-Board Inventar mit 1735 Punkte, 1521 Beiträge |
| |
|
TroY hat folgendes geschrieben: Vid wird bestätigen können, dass es viel angenehmer ist, die Helix auf einem Scripted Object zu bauen, anstatt sie mittels des "Tools" zu erstellen, richtig?
Jawoll - das Toolscript habe ich nie benutzt - ich weiß um die Mächtigkeit der Scripte! (Geheimnisvoll tu...)
TroY hat folgendes geschrieben: Es gibt nur noch eine Variante, nämlich das Scripted Object - hier stellt man dann jetzt oben im Kopf des Scripts die Parameter alle ein Sehr schön.
TroY hat folgendes geschrieben: Mit dem Extraction Tool kann man, falls gewünscht, eine Curve/Tube dann aus dem Scripted Object extrahieren und sonstwie weiterverwenden
Ebenfalls: Sehr gut.
TroY hat folgendes geschrieben: Man kann Helix-Scripte kaskadieren - genauer gesagt: Man kann dem Script oben den Namen des Objektes eingeben, in dem es versuchen soll, eine Curve zu finden. Ist das gegebene Objekte direkt schon eine Curve oder Tube, dann wird diese direkt als Grundlage benutzt, ist es dagegen ein Scripted Object (was in AoI nichts weiter als ein Container für Objekte ist), dann sieht das Helix-Script nach, was in diesem Scripted Object so alles drin ist - die erste Curve, die es darin findet, wird als Grundlage genutzt (wird nichts gefunden, erhält man eine Fehlermeldung)
Das muß ich erstmal ausprobieren - hört sich gut an mit der Kaskade - bisher habe ich die Kurven immer händisch erzeugt. Ich hatte die Entwickler immer schon mal um ein Helixkurve gebeten - gerade für Gewinde - die lassen sich notfalls ja auch über Booleans herstellen. Das ist schon was.
TroY hat folgendes geschrieben: Auf Wunsch kann sich das Script der Position der Eingabekurve/des Eingabescriptes anpassen: Die Helix sitzt dann genau dort und hat auch dieselbe Orientierung Super- genau das ist mir schon passiert - mich wundert das nur in AoI nicht mehr ;)
TroY hat folgendes geschrieben: Dass die Beschränkung auf eine Curve als Input wegfällt, hat auch zur Folge, dass man nun beispielsweise das Coil-Script als Grundlage für eine Helix nutzen kann. Ich hatte diese Beschränkung eh nur ohne Nachdenken drin, weil Julian das im Coil auch so hatte - eine Tube ist aber nichts weiter als eine abgeleitete Klasse von Curve (kann also nach Konvention mindestens so viel wie eine Curve und ist damit für mich auch nutzbar).
Verstehe ich das richtig: Ich kann direkt eine Helixkurve erzeugen? Jetzt wird es nochmal spannend - Thema "Banking" - wenn man an so einer Slinekurve etwas z.B. rechteckiges entlangextrudiert, dann "dreht" es sich leider oftmals um die Achse -> aber das ist vielleicht eher ein Thema für schlechtes Wetter oder Studienpausen. :D
Vielen Dank Troy - macht mir echt Spaß
Vid
|
|
|
|
TroY , 19.03.2008, 19:22
|
Beitrag #16
|
|
|
| IP: |
n/a |
| Rang: |
|
| Registrierung: |
25.12.2007, 23:49 |
| Land: |
 |
| 3D Prog.: |
Art of Illusion |
| Homepage: |
http://www.uninformativ.de |
| |
 AoI-Board Inventar mit 1418 Punkte, 1251 Beiträge |
| |
|
vidiot hat folgendes geschrieben: Verstehe ich das richtig: Ich kann direkt eine Helixkurve erzeugen? Inwiefern "direkt"? :D Du kannst in der nächsten Version das Helix-Script auf Curves und Tubes loslassen - that's it. Also wenn du meinst: Direkt aus einem Coil ohne weiteres Bearbeiten eine Helix erstellen, dann ja. :D :)
vidiot hat folgendes geschrieben: Jetzt wird es nochmal spannend - Thema "Banking" - wenn man an so einer Slinekurve etwas z.B. rechteckiges entlangextrudiert, dann "dreht" es sich leider oftmals um die Achse -> aber das ist vielleicht eher ein Thema für schlechtes Wetter oder Studienpausen. :D Hmm, ja. Kann ich leider im Moment noch nichts dazu sagen, dazu müsste ich mir erstmal den Code vom Extrudieren anschauen. :D
Aber ich glaube, ich weiß immerhin, was du meinst. Das ist mir gestern passiert, als ich versucht habe, so einen typischen DNA-Strang mit Molekülen in der Mitte zu basteln. Da ist's auch beim Array-Bauen aufgetreten.
vidiot hat folgendes geschrieben: Vielen Dank Troy - macht mir echt Spaß Dito. ;)
- github - Warum der Begriff „Open Source“ am Kern der Sache vorbei geht
|
|
|
|
TroY , 19.03.2008, 23:56
|
Beitrag #18
|
|
|
| IP: |
n/a |
| Rang: |
|
| Registrierung: |
25.12.2007, 23:49 |
| Land: |
 |
| 3D Prog.: |
Art of Illusion |
| Homepage: |
http://www.uninformativ.de |
| |
 AoI-Board Inventar mit 1418 Punkte, 1251 Beiträge |
| |
|
vidiot hat folgendes geschrieben: Wat nu Troy - das ist doch mal was! :-) Allerdings. :D
Das ist schon krass, wie nahe am Anwender das alles abläuft. AoI ist zwar ein vergleichsweise kleines Projekt, aber so klein nun auch wieder nicht ... und als selbstverständlich würde ich das jetzt nicht bezeichnen. :)
So, da jetzt auf die Schnelle keine großen Ideen mehr kamen (ja, vielleicht bin ich zu ungeduldig, das kann sein :D ), hier nun Version 0.2. Die Änderungen hab' ich ja oben schon erwähnt, aber eine kleine (mit großen Auswirkungen) ist noch dazu gekommen, welche das Ganze nochmal auf eine andere Stufe heben könnte ;) :
Das Helix-Script (ebenso wie das Extraktionsscript - die beiden habe ich jetzt einfach mal "gebundled" ) frisst nun als Input nicht nur Curves, Tubes und Scripted Objects, sondern auch jede Form von Object Collection. Wie gesagt, die Änderung am Code ist minimal, aber das bedeutet:
Rein theoretisch kann man dem Script jetzt auch ein TaPD-Objekt zum Fraß vorwerfen. Da es dann von diesem Objekt die erste Curve/Tube nimmt, die es findet, wird sich dies dann so äußern, dass es im Regelfall eine Helix um den Stamm des Baums ziehen wird.
Stellt sich jetzt natürlich die Frage: Ist es sinnvoll oder nützlich, die Auswahl weiter verfeinern zu können? Also die Auswahl dessen, welches Objekt er aus einer Object Collection (sprich TaPD-Objekt) nimmt? Vielleicht auch alle davon mit einer eigenen Helix versehen und dann den User das löschen lassen, was er nicht will?
Im weiteren Zusammenspiel mit dem Extraction Tool macht eine solche feine Auswahl dann aber schon wieder keinen Sinn, denn damit ist es möglich, ein komplettes TaPD-Objekt in seine Einzelteile zu zerlegen und diese als normale Objekte in die Szene zu bringen (Texturen und Materialien, die man sonst nur im TaPD hat, werden übrigens mitkopiert). Da kann man jetzt hergehen und nur einzelne Äste eines Baumes (oder was auch immer) mit einer Helix versehen, indem man einfach ganz normal das Helix-Script auf den extrahierten Ast loslässt.
Ich finde, das eröffnet nochmal einige Möglichkeiten. Man denke nur an sich windende Rosen, Lianen oder so ein Zeugs. ;)
Die englische Version hinkt dann jetzt wohl hinterher ... :-/ Weiß eh nicht, ob sich das dauerhaft lohnt - Manpage schreiben in zwei Sprachen?... Eine gute Übung ist es ja, aber es ist viel Arbeit.
- github - Warum der Begriff „Open Source“ am Kern der Sache vorbei geht
|
|
|
|
TroY , 20.03.2008, 00:49
|
Beitrag #20
|
|
|
| IP: |
n/a |
| Rang: |
|
| Registrierung: |
25.12.2007, 23:49 |
| Land: |
 |
| 3D Prog.: |
Art of Illusion |
| Homepage: |
http://www.uninformativ.de |
| |
 AoI-Board Inventar mit 1418 Punkte, 1251 Beiträge |
| |
|
Das ist der "Bug", den ich weiter oben beschrieben hatte: In einem kleinen Bereich der (vom Script unterteilten) Kurve gibt es mindestens zwei Punkte, die auf eine Koordinatenachse fallen - sprich, die haben hier in dem konkreten Fall Z=0 und Y=0, liegen damit also direkt auf der X-Achse. Das stößt meinem Script sehr übel auf und dann passiert sowas.
Workaround wäre, die Kurve einfach z.B. um 1 in Z-Richtung zu verschieben, dann ist's sauber. Hauptsache, keine zwei Punkte liegen auf einer Koordinatenachse - ich müsste aber noch testen, ob das Problem auch auftritt, wenn zwei Punkte auch nur sehr nahe an so einer Achse liegen.
Lösung wäre, den Spiralen-Code komplett anders zu gestalten. :D
Ich muss mir da aber auf jeden Fall was überlegen, denn das tritt schon relativ häufig auf - und es nervt dann, jedesmal da nochmal rumzufrickeln.
vidiot hat folgendes geschrieben: Zur deutschen Version des Handbuchs: Dein Englisch ist klar besser - aber wenn Du eine saubere English Version vorlegst, kümmer ich mich um die deutsche. Andersherum würde wenig sinnvoll erscheinen :shock:
Das ist leider das Einzige was ich Dir abnehmen könnte. Das wäre natürlich auch eine Möglichkeit. :D Wäre natürlich klasse!
- github - Warum der Begriff „Open Source“ am Kern der Sache vorbei geht
|
|
|
|
|
|