Blender Python Scripting Grundlagen | Simon Van Den Hende | Skillshare

Playback-Geschwindigkeit


1.0x


  • 0.5x
  • 0.75x
  • 1x (normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Blender Python Scripting Grundlagen

teacher avatar Simon Van Den Hende, Pipeline Developer

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Schau dir diesen Kurs und Tausende anderer Kurse an

Erhalte unbegrenzten Zugang zu allen Kursen
Lerne von Branchenführern, Ikonen und erfahrenen Experten
Wähle aus einer Vielzahl von Themen, wie Illustration, Design, Fotografie, Animation und mehr

Einheiten dieses Kurses

    • 1.

      Übersicht

      1:21

    • 2.

      Schnittstellenübersicht: Einführung

      0:53

    • 3.

      Schnittstellenübersicht: Scripting Arbeitsbereich

      1:06

    • 4.

      Schnittstellenübersicht: Info

      2:22

    • 5.

      Schnittstellenübersicht: Integrierte Konsole

      1:13

    • 6.

      Schnittstellenübersicht: Text

      4:14

    • 7.

      Schnittstellenübersicht: Systemkonsole

      3:58

    • 8.

      Objekte mit Code erstellen

      16:02

    • 9.

      Bereinigung einer Szene mit Code

      6:45

    • 10.

      Ideen auf diesen Projekt aufbauen

      4:02

    • 11.

      Kontrollierte Randomisierung: Einführung

      1:25

    • 12.

      Kontrollierte Randomisierung ( Einen Zaum erstellen )

      17:03

    • 13.

      Erstellen einer sine Einführung

      0:28

    • 14.

      Erstellen einer Sinuswelle

      13:13

    • 15.

      Echte Daten lesen

      0:25

    • 16.

      Die Daten lesen

      10:36

    • 17.

      Die Daten lesen

      15:20

    • 18.

      Das Balkendiagramm erstellen

      13:37

    • 19.

      Etiketten hinzufügen

      6:59

    • 20.

      Zecken hinzufügen

      11:32

    • 21.

      die Zecken markieren

      13:27

    • 22.

      Materialien erstellen und Randomisieren

      6:56

    • 23.

      Kontrollierte Randomisierung

      6:59

  • --
  • Anfänger-Niveau
  • Fortgeschrittenes Niveau
  • Fortgeschrittenes Niveau
  • Jedes Niveau

Von der Community generiert

Das Niveau wird anhand der mehrheitlichen Meinung der Teilnehmer:innen bestimmt, die diesen Kurs bewertet haben. Bis das Feedback von mindestens 5 Teilnehmer:innen eingegangen ist, wird die Empfehlung der Kursleiter:innen angezeigt.

660

Teilnehmer:innen

3

Projekte

Über diesen Kurs

Dieser Kurs wird dich von Python von Grund auf teach Es waren keine
Vorkenntnisse auf Blender oder Python zu folgen.

Wir beginnen langsam durch alle Dienstprogramme und Tools, die Blender zu bieten hat. Auf So weißt du, was es verfügbar ist und wie du es verwenden kannst.
Mit diesen Funktionen werden wir einen kompetenten Arbeitsablauf aufbauen, der uns sehr effektiv funktioniert.

Von Anfang an, die wir mit dem Programmen. Dieser Kurs ist sehr anwendest, also bin vorbereitet zu schreiben!
Aber ich habe keine Angst Wir gehen gemeinsam jeden Schritt und Problem an.

In diesem Kurs erstellen

  • Übersicht über alle Tools und Dienstprogramme

  • effizient Nutzung der Konsole

  • Sieh dir den Code strukturieren und zu gruppieren

  • Bestattungen in der Programmierung und in der Programmierung / Scripting konvertieren

  • Datenstrukturen in Python ( Liste, Dictionary, Float, String, Int )

  • Objekte durch Code erstellen

  • Kurven durch Code erstellen und ändern den Code

  • Materialien durch Code erstellen und zuordnen

  • Kontrollierte Randomisierung

  • Mit bestehenden Module zu erstellen und interessante Geometrie zu erzeugen

  • Daten aus .csv und .txt-Dateien in Blender mit Python lesen

  • Viele mehr

Wenn du zu irgendeinem Zeitpunkt völlig verloren bist, dann habe keine Angst zu mich zu Ich werde dir gerne helfen, zu welchem Problem zu werden, auf welchem Problem du zu werden, welches immer dich encounter. Du bist nicht allein in diesem Prozess.

Lass uns gemeinsam anfangen.

Triff deine:n Kursleiter:in

Teacher Profile Image

Simon Van Den Hende

Pipeline Developer

Kursleiter:in

Pipeline Developer with solid experience and a passion for automation.

 

Worked at Outpost VFX on multiple feature films and television projects. Focusing on Pipeline and Data Flow as well as research and development. Main tools I used here were Python, Maya and Houdini

 

Worked at Prompto on the Pipeline and Data Flow. Focusing on Unreal and Blender tools / automation. All done with Python

 

Besides CGI, I have a strong love for web development / programming in general.

 

If there is anything I can help you with, don't hesitate to reach out on my email address: simonvdhende@outlook.com

I look forward to hearing from you!

Vollständiges Profil ansehen

Level: Beginner

Kursbewertung

Erwartungen erfüllt?
    Voll und ganz!
  • 0%
  • Ja
  • 0%
  • Teils teils
  • 0%
  • Eher nicht
  • 0%

Warum lohnt sich eine Mitgliedschaft bei Skillshare?

Nimm an prämierten Skillshare Original-Kursen teil

Jeder Kurs setzt sich aus kurzen Einheiten und praktischen Übungsprojekten zusammen

Mit deiner Mitgliedschaft unterstützt du die Kursleiter:innen auf Skillshare

Lerne von überall aus

Ob auf dem Weg zur Arbeit, zur Uni oder im Flieger - streame oder lade Kurse herunter mit der Skillshare-App und lerne, wo auch immer du möchtest.

Transkripte

1. Übersicht: Erfahren Sie, wie Sie Produktionsqualität Python -Skripte heute Expertenbewertung für mich, Pipeline, Technical Director, sehen Sie mobile und endete mit Lektionen, die Produktion bewährten Techniken betroffen sind , während immer noch einfach zu folgen und auf den Punkt, gehen über das bloße Erlernen der Grundlagen hinaus, während ich Programmierkonzepte, effiziente Workflows und abschließende Ausführung lehre , die Sie so viel effizienter arbeiten. Wir werden beginnen, indem wir alle Codierungsfelder und Dienstprogramme sind Mixer Angebote sind die Box. Und wir werden diese Werkzeuge und Techniken direkt anwenden um eine kompetente oder kühl zu verfestigen. Wir brauchten keine Erfahrung in der Programmierung oder Mixer. Um zu folgen, werde ich Sie durch die Grundlagen führen und wir werden gemeinsam die Möglichkeiten entdecken. Unser Rekord wird strukturiert und verständlich sein. Und so können wir uns leicht weiter drängen , als wir es je anders tun könnten. Da wir immer komfortabler Programmierung und Mixer bekommen, Wir werden immer auf Kunstrichtung konzentrieren, um sicherzustellen , dass unsere Skripte viel künstlerische Details und Kontrolle enthalten. Das Ziel ist es, ein starkes Fundament zu schaffen. Am Ende dieses Kurses haben Sie fünf Skripte von Grund auf neu erstellt, und Sie werden auf dem besten Weg sein, ein kompetenter Programmierer zu werden. Begleiten Sie mich und verbessern Sie Ihre alte Arbeit oder lernen Sie heute etwas Neues. 2. Schnittstellenübersicht: Einführung: Hey Leute, und es ist Teil des Kurses und wir werden über unsere Entwicklungsumgebung sprechen , wo wir unsere Programme und Skripte erstellen werden. Wir gehen über alle Decodierungsfelder, die Mixer zu bieten hat, und sprechen einfach über ihre individuellen Anwendungsfälle und Fallstricke und stellen sicher, dass Sie verstehen, wie man sie benutzt, weil sie wirklich, wirklich mächtig sind. Alle von ihnen wirklich nur viel mehr als, als ein paar Zeilen Code zu schreiben. Dies wird Ihnen nur zeigen, wie ich als Entwickler interaktiv mit diesen Panels arbeite, ich kann Informationen von Brian nehmen und sie in einem anderen verwenden. Das wird also sehr aufregend sein. Es wird über meinen Workflow im Allgemeinen sprechen, aber auf einem hohen Niveau, so dass es für alle sehr verständlich ist. Und dann, während Sie den Kurs durchlaufen und Sie gehen, um sich hin und her durch diese Panels und Sie werden sehen, wie ich sie benutzen. Aber im Moment möchte ich nur sicherstellen, dass Sie ihre Verwendungen verstehen und nur wissen, was sie sind. 3. Schnittstellenübersicht: Scripting Arbeitsbereich: Okay, lassen Sie uns über unsere Entwicklungsumgebung sprechen. Gerade gestartet Blender. Ich benutze Version 2.81, oder er spielt keine Rolle, Sie können einfach jede Version verwenden. Ich empfehle, etwas über 2,80 zu verwenden. Es braucht also, wir suchen irgendwie dasselbe aus. Aber sobald Sie einen Mixer gesetzt haben, sollten Sie so etwas sehen, was ganz in Ordnung ist. Aber nicht für Skripterstellung. Also für Scripting oder Programmierung, müssen Sie eine Art von Text schreiben oder einige Befehle ausführen , die wir jetzt nicht tun können. Also müssen wir Arbeitsbereiche verschieben oder einfach keine Panels. Dies geschieht jedoch standardmäßig, wenn Sie Arbeitsbereiche verschieben. Es ist also einfacher, wenn wir einfach zum Skript-Arbeitsbereich gehen würden , den Sie hier oben in der Mitte finden können. Also kannst du einfach auf diesen Kerl klicken. Und Sie werden dieses einschüchternd aussehende Layout sehen oder nur Textfelder und Dinge, die Sie vielleicht noch nicht gesehen haben. Aber haben Sie keine Angst, dass es über diese gehen wird, nur um sicherzustellen, dass Sie wissen, was, alles ist. Gut, alles. Also konzentrieren wir uns auf und lassen Sie uns genau das tun. 4. Schnittstellenübersicht: Info: Das erste Panel, über das ich reden werde, ist der kleine Kerl hier unten. Sie können meinen Cursor sehen. Ich, es versteckt seinen Namen gerade jetzt, aber es ist der Info-Kampf genau hier Sie, also unter Scripting, Dies sind die drei Panels, über die wir reden werden. Der erste wird Scripting als Full Panel sein, tut mir leid. So sieht es ab sofort ein bisschen leer aus. Ich hab das Bier gesehen. Aber was dieser Kampf bewirkt, er behält nur den Überblick über Ihre Geschichte. Aber in Gold. Das ist also ein bisschen ein abstraktes Konzept oder vielleicht alles, was es zu behandeln war. So können Sie einfach jede, jede Operation oder jeden Befehl oder was auch immer in Ihrem Ansichtsfenster ausführen oder einfach auf Dinge klicken, wie Sie normalerweise Skripterstellung tun. Und es wird sich hier unten registrieren. Dies ist also der eigentliche Python Befehl ausgeführt wird, um genau das gleiche Ergebnis zu erhalten. Also, wenn wir das analysieren, lassen Sie mich vielleicht hier hineinzoomen, also füge ich es einfach hier ein. Das, das ist, worüber wir neben gehen werden. keine Angst. Vielleicht machen Sie das vielleicht ein bisschen größer. Ich kann hier klicken, hier kann ich steuern. Lassen Sie mich sehen. Okay, also werde ich hineinzoomen, wird ein bisschen schneller sein. Also, wenn Sie sehen können, dass der Kommandant gerade hingerichtet wurde, ist BP. Warum dot-dot-dot transform.py übersetzen, übersetzen , nicht wahr? Wir wissen, was das bedeutet. Das bewegt etwas. Also drücke ich einfach G und ich habe es bewegt. Und Sie können vielleicht sehen, warum Punkt-Punkt-Punkt-Transformation nicht übersetzen. Das bewegt sich also nur etwas in Python Code. Das ist also wirklich wertvoll. Sie können sogar, sagen wir, Sie können in den Bearbeitungsmodus gehen, um Fläche auswählen, extrudierte Phase zu Gesicht. Und deine ganze Geschichte ist hier unten aufgezeichnet. Also extrudieren, vernünftig ist nur eine einfache Extrusion innerhalb von Python Code. Und indem Sie einfach zurückgehen, Rückwärtsschritte verfolgen, können Sie wirklich leicht alles automatisieren, Dies ist normalerweise mein erster Schritt, wenn ich keinen bestimmten Befehl kenne oder wie ich, wie ich etwas in Python tun sollte. Ich mache es einfach manuell. Und dann schauen Sie sich dieses Fenster an und sehen Sie, was der Mixer macht. Ein Codierungsweg, um das zu erreichen, was ich gerade manuell gemacht habe. 5. Schnittstellenübersicht: Integrierte Konsole: Und das nächste Panel werde ich darüber sprechen, die interaktive Python Konsole, die auf der linken Seite hier. Sie können die Konsole dort sehen. Ich werde es nur ein wenig rausziehen, um es ein bisschen größer zu machen , damit Sie tatsächlich lesen können, was ich tippe. In diesem Fall können Sie im Grunde Befehle ausführen, wie Sie hier sehen würden. Sagen wir mal, lass mich einfach frisch anfangen. Aber sagen wir, Sie erstellen einen Würfel. Sie können sehen, dass dies der Befehl ist, um einen Würfel zu erstellen, wo dies der letzte ist, den wir getan haben. Sie können dies kopieren und Sie können es hier platzieren. Und indem Sie die Eingabetaste drücken, haben Sie gerade den Würfel erstellt. Sie können sehen, ich entfernen Sie sie einfach, so dass Sie sehen können, dass mit mehr visuell. Also nehmen wir an, Sie tun dies, boom, klicken Sie auf Sie erscheint. Und dies ist nur eine Möglichkeit, Ihre Befehle wirklich schnell einzelne Zeilen auszuführen oder wie einen Codeblock interaktiv in Ihrer Szene zu testen , um sicherzustellen, dass es funktioniert. Also sagen wir, ich möchte versuchen, eine Szene zu erstellen oder wie eine Warteschlange, die ein bisschen größer ist, Größe 20, okay, so machst du das. Und ich ging, Sie haben Ihre Leitung. Sie können es einfach verschieben, um das nächste Panel wird sprechen, das ist der eigentliche Texteditor. 6. Schnittstellenübersicht: Text: So können Sie hier sehen, dass der Editor nimmt, sorry, wo Sie Ihre Befehle ändern werden. Dies ist im Grunde, wo Sie Ihr Programm oder Skript dazu in Ihre endgültige Ausgabe schreiben . Die Hauptsache, die Sie sich daran erinnern müssen, ist die Ausgabe wie dieser Texteditor, in dem Sie mich Ihr Skript schreiben lassen, ist, dass Sie immer, immer, immer, immer, müssen Sie PY importieren. Und vielleicht, warum Sie bemerkt haben, ist das Präfix aller Befehle, die Sie sehen. Alles, was der Mixer tut, wird von diesem BPI-Paket angetrieben. Und das ist, wie wir in unserem Drehbuch wichtig. Das ist also etwas, das ein Pythonikum ist. Sie schließen im Grunde nur eine Bibliothek von Befehlen und Code ein, indem Sie dafür eingehen, dass es PY ist. Und damit können Sie auf all diese, alle diese Befehle und dieses Fenster zugreifen . Vielleicht noch eine Sache und wir wollen sicherstellen, dass über diesen Texteditor ist, dass Sie tatsächlich ein bisschen Text erstellen. Wenn Sie es zuerst öffnen, sieht es so aus und Sie können hier nichts eingeben, obwohl ich klicke, können Sie nicht tippen. Ich muss tatsächlich einen neuen Datenblock, einen neuen Textdatenblock erstellen , indem ich einfach auf das neue, wie das Plus-Symbol, die Schaltfläche Neu hier klicke. Dies wird also eine Datei für Sie erstellen. Kinda Krankheiten, die Texas genannt werden, wird nur intern in Mixer gespeichert. Also kann ich einfach Wichtige Big UI hier mit dir schreiben. Kann nie vergessen, kann das retten. Aber dieses Skript ist eigentlich eine Skript-Erzählung, ein Stück Text, und machen wir es vielleicht ein bisschen, ein bisschen mehr damit auch hier drin. Lassen Sie uns, lassen Sie mich Ihnen zeigen, wie ich das wirklich aufbauen kann. Also im Moment muss ich loben für die Erstellung eines Würfels und hier, also wenn ich dieses Skript ausführen würde, einfach alles loswerden, damit wir wirklich sehen können, was hier vor sich geht. Kann ich das Skript ausführen, indem ich auf diese Schaltfläche klicke? Auf der rechten Seite drücken Sie einfach alle p, wie Sie dort sehen können, was eine Abkürzungen ist. Also lassen Sie mich das tun. wird das Skript ausführen, das nur seine Signalzeile ausführt, die im Wesentlichen das gleiche sein wird wie hier. Aber die, der Hauptvorteil der Verwendung dieses Fensters hier, dass wir tatsächlich Kettenbefehle. Also lassen Sie uns sagen, wir wollen es schaffen und alle und verschieben es aus. Also wollen wir das auch tun. Sie können das einfach dort einfügen. Und jetzt haben wir zwei Befehle in einem einzigen Fenster, in einer einzigen Textdatei. Und ich will das hinrichten. Wir erstellen eine Warteschlange, aber dann werden wir sie verschieben. Jetzt können wir sehen, dass es einen Würfel gibt. Sie sind in der Schule, aber wieder, Weltraumverschuldung. Hier können Sie einfach Befehle hinzufügen und Ihrem Skript etwas hinzufügen. Wenn ich diese loswerden würde, ausgeführt dies, Ich habe gerade einen Würfel erstellt, bewegen Sie es, es ist ein Formteil und alles auf einmal. Aber jetzt sagen wir, Sie wollen versuchen, drehen, damit Sie sehen wollen, okay, also ist dies der Befehl zum Drehen. Jetzt weißt du, du kannst es einfach hinstellen und wieder hierher legen. Und sagen wir, du willst es zuerst testen, du könntest es hier zuerst ausführen. Und dann, wenn ich den aktuellen Würfel drehe, ohne all diese durchlaufen zu müssen , diese Befehle jedes Mal. Also könnte ich es hier stellen und es dann ausführen und sehen, ob das funktioniert. Du weißt es gut, denn jetzt wusste ich, dass ich es werde. Aber vielleicht tust du es nicht. Vielleicht haben Sie wie ein ganzes Skript oder wie eine ganze Reihe von Sachen, die auch weitergehen, außer die Warteschlange zu erstellen und sie zu drehen. Ich wollte nicht immer den ganzen Prozess machen oder Sie wollen nur ein paar Befehle und Isolation testen. Das kannst du einfach tun. Hier. Sie können sogar Variablen zuweisen. Sie können Ihre Daten, alle Arten von Sachen speichern. Sie können hier einfach alles tun, wenn Sie wissen, was funktioniert und überträgt es auf den eigentlichen Text, auf das eigentliche Skript. Und dann bauen Sie Ihr, Ihr Skript, Ihren Code, Ihr Programm, wie auch immer Sie es nennen wollen. 7. Schnittstellenübersicht: Systemkonsole: Ein letztes Fenster, das ich erwähnen möchte, ist die Systemkonsole. So haben wir eine zeigt eine interaktive Konsole hier unten. Sie können Python Konsole sehen. Es gibt noch ein Fenster, das sich tatsächlich versteckt. Es gibt also keine echten Bündel oder es ist nicht. Und hier, Sie nur Konsole, die wir hier haben, ist eine Python Konsole. Wenn wir zu Window gehen würden. Und dann hier können Sie Doppel-Systemkonsole sehen. Und das ist im Wesentlichen die Konsole oder bestimmbar , in der dieser Mixer derzeit läuft. Also, wenn ich etwas an die Konsole ausgeben würde indem ich die Druckfunktion verwende, die in Mixer eingebaut ist. Also könnte ich sagen, drucken, hallo Welt, das ist sehr Klischee-Druck auf seine entsprechende englische Wort, aber Sie haben wahrscheinlich gesehen, so dass Sie drucken können, wie die Welt, und wenn Sie in diesem Jahr laufen, werden Sie tatsächlich sehen, dass nichts passiert ist. Ich werde es nochmal ausführen, um es dir zu zeigen. Deskriptoren laufen auch tatsächlich, aber nichts passiert, obwohl ich etwas tue. Und wenn du auf Mixer lernen oder lesen würdest, würdest du sehen, dass ich Vitamine habe oder du würdest sehen, dass das tatsächlich Zeug an die Konsole ausgibt, wo du hier in der Konsole siehst, wird nichts ausgegeben, oder? Und wenn Sie sich die Systemkonsole ansehen würden, würden Sie sehen, dass sie hier tatsächlich ausgegeben wird. Also D Seite an Seite für eine Sekunde. Sagen wir mal, ich werde nur noch etwas anderes. Sonst, was auch immer nicht wirklich wichtig ist. Du könntest sehen, dass alles hier rauskommt. Und das ist sehr wichtig zu bemerken weil es jedes Mal, wenn Sie etwas auf die Konsole stellen, Sie tatsächlich in die Systemkonsole schauen müssen. So können Sie all dieses Angebot auf werfen. Ich habe wirklich nicht auf eine Sache, die Sie tatsächlich tun werden, ich werde tatsächlich aufhören Blender. Ich habe ein neues Konsolenfenster erstellt. Entschuldigung, es ist auf dem Bildschirm, so dass ich einfach Blend dort von hier laufen. Also, jetzt funktioniert das für mich, weil ich Blender in meinen Umgebungsvariablen habe. Sie könnten auch einfach Ihren Blenderdateipfad abrufen. Also werde ich dir nur schnell zeigen, wie du dorthin kommst. Normalerweise sollte es in Ihren C-Laufwerk-Programmdateien sein, aber dann deren Grundlage. Und welche Version Sie hier installiert haben, Sie hätten Blender Dot EXE. Das ist also der Weg dahin. Dies ist nur die Bearbeitung meiner Umgebungsvariablen, aber Sie müssen nicht all diese Probleme durchmachen. Sie können diese Exit-Datei auch einfach in Ihr Terminal ziehen. Es wird in etwa so aussehen. Es gibt zwei Anführungszeichen, weil Lufträume im Pfad. Also seien Sie sicher, dass Sie die haben. Und dann einfach Enter zu drücken, wird dort auch Blend starten. Und auf diese Weise oder Systemkonsole ist dieser Typ hier unten eigentlich nicht verwandt, um dort überhaupt zu mischen. Ich meine, es ist eine eigene Konsole, die viel einfacher zu handhaben ist. Also lassen Sie uns sagen, ich möchte Hallo Welt wieder ausdrucken. Stellen Sie sicher, dass die Syntax richtig ist. Führen Sie das aus. Und wir werden in unserem Brauch sehen, ich meine, in unserer eigenen Konsole haben wir mit Hallo Welt ausgedruckt. Und das ist besonders praktisch, wenn, sagen wir, Mixer abstürzt oder so. Also führen Sie Ihr Skript aus und in der Mitte der Beschreibung, Blender zerdrückt, würde Ihr Terminal auch geschlossen werden, weil ein Terminal an Blender gebunden ist, das Terminal tatsächlich innerhalb von Blender läuft. Wenn Sie die Standardeinstellung verwenden, wo Sie gerade, Sie starten nur Mixer. Aber einer, wenn Sie Blender von m_id Terminal starten, läuft der Kreditgeber innerhalb dieses Terminals und es rendert abstürzt. Oder wenn ich es schließe, existiert das Terminal immer noch. Also, das ist eigentlich sehr nützlich. In bestimmten Fällen, wenn Blender Frage es manchmal durchkommt durchkomme ich es durch Ihr eigenes Karriereterminal und dann nur um sicherzustellen, dass Sie tatsächlich sehen können was die Drucke oder Debugging-Anweisungen sind, bevor es abgestürzt ist. 8. Objekte mit Code erstellen: Also, das erste, was wir wieder tun werden, ist gerade diesen Würfel losgeworden. Ich weiß, dass es die Community dazu bringt, den Standard-Würfel zu löschen. Nun, das wird es einfach wieder hinzufügen, um zu sehen, was es braucht, um es hinzuzufügen. Kopieren Sie einfach, wie wir es vorher getan haben. Kreatives neues Lehrbuch oder Skript oder was auch immer, importiert VP gleichermaßen, weil dies unser notwendiger Schritt ist, den wir nie vergessen können. Und dann basiert r Befehl wird auf Speichern wie hier gesehen, was auch immer. So haben wir jetzt im Wesentlichen bereits das Skript geschrieben. Also haben wir einen Skript-Knoten geschrieben, ich werde einen Würfel erstellen. Also, wenn Sie sehen, ob ich es ausführen, indem Sie alle Ihre drücken, indem Sie die Skripte und das Recht brennen, so dass der Umriss, können Sie sehen, dass der Würfel jedes Mal bearbeitet wird, wenn ich das Skript ausführe. Also, weißt du, das ist etwas, in Ordnung. Aber lassen Sie es uns ein bisschen interessanter machen. Also, was wir tun wollen, ist, dass sie eine zufällige Position lesen. Also wollen wir im Grunde nur, ich meine, es gibt mehrere Möglichkeiten, dies zu tun. Natürlich gibt es immer mehrere Möglichkeiten, etwas mit Scripting oder Programmierung zu tun oder, und Blender, sogar manchmal im Allgemeinen. Wir könnten also einen Würfel erstellen und ihn dann übersetzen. Also bewegen Sie es. Das ist eine Möglichkeit, es auf eine andere Weise zu tun. Wenn Sie genau auf den Cube add Befehl hinschauen dies vielleicht zu Bit bringen, können wir sehen, dass Sie tatsächlich Größe und den Ort angeben können. Wenn Sie den Würfel erstellen. Dies ist das gleiche, als ob man hier ein QC erstellt, tatsächlich zuweisen kann, ich meine, man kann diese Werte auch hier ändern. Machen Sie es größer. Und Sie sehen hier unsere Kommentare Updates. Also, wenn ich das kopieren und daneben legen würde, können Sie sehen, dass die Größe geändert werden kann, indem Sie diesen Wert ändern. Und unser Standort kann geändert werden, indem diese Werte geändert werden. Sie können also sehen, dass dies X-, Y- und Z-Koordinaten sind . Wenn ich also wieder alles loswerden und diesen Kerl loswerden würde. Also sagen wir, ich möchte, ich möchte einen Würfel erstellen. Also wieder, jedes Mal, wenn Sie etwas in diesem Fenster ändern oder tun möchten, müssen Sie sicherstellen, dass Ihr Cursor hier ist. Wenn ich also mein Cursor hier bin und Rücktaste mache, wird es nichts tun. Freitag, was ist hier? Ich bin Expats, sie sind gleich. Das ist also ein, etwas auch ein Stamm, an den man sich gewöhnen muss. Also, wenn ich das ausführen würde, jetzt, tun Sie es, Sie haben einen Würfel der Größe 3,9 bis o hier. Aber es ist eigentlich eine normalisierte, aber die, es tatsächlich, wenn Sie das messen, sollte dies 3,92 sein und die Position ist 9.39 auf der x-Achse, die Sie sehen und sehen können, auch hier. Auf diese Weise können wir wirklich leicht. Ändern Sie unsere QQ, wenn wir sie erstellen. Was wir also tun wollen, ist eigentlich, anstatt diesen Ort auf einen bestimmten Wert zu sperren, ob es 0 oder neun ist oder was auch immer, wir wollen das randomisiert haben. Um randomisieren zu können, vermeidet es die zufällige Bibliothek. Dies ist ein Paket genau wie BPI.com mit Blender, kommt mit Python im Allgemeinen. Und das ermöglicht es uns, Zufallszahlen zu generieren. Vielleicht kann ich es Ihnen zeigen, indem ich eine einheitliche Funktion ausdrucke. Wenn ich das ausdrucken würde. Ich meine, das auszuführen, wird Ihnen nichts zeigen. Sie müssen tatsächlich Ihre Konsole öffnen, die wahrscheinlich wie Fenster, Firewall-Systemkonsole tun wollen. Und das Konsolenfenster sollte angezeigt werden. Do Sternenlicht wieder ist weg und bringt es dann zurück. Okay, also habe ich gerade eine Zufallszahl zwischen 01 ausgedruckt. Wenn ich das nochmal machen würde, drucke ich diesen aus. Tun Sie es nochmal. So können Sie sehen, es ist nur eine beliebige Zufallszahl zwischen 01 könnte auch die Zelle testen, indem Sie sie in der interaktiven Konsole ausführen. Eigentlich ist dies wahrscheinlich ein besserer Weg, es zu tun. Müssen Sie es natürlich wieder importieren. Also wieder, diese beiden Fenster, sie sind überhaupt nicht miteinander verwandt. Sie reden nicht miteinander. Alle Variablen, die Sie hier haben, die besagen, dass ich eine Variable erstelle, sie 250 zuordnen würde, wenn ich 50 drucken würde, und hier drucke ich zum Beispiel VAR. Wird es eigentlich sagen, dass der Name VAR nicht definiert ist? Wenn ich Bar hier drucken würde, würde es 50 ausdrucken, weil in diesem Bit, Nase, während var ist und hier es nicht tut. Das ist also etwas, das man im Hinterkopf behalten muss. Aber das ist die gesät ein paar Mal, indem Sie den Pfeil nach oben auf unsere, auf unsere Pfeile. Mit dem Aufwärtspfeil können Sie die letzten Befehle zurückziehen. Sie können einfach durch Ihre Geschichte fahren, indem Sie nach oben und unten drücken. Also kannst du diesen Kerl einfach weiter hinrichten. Sie können sehen, dass es immer einen Wert zwischen 01 zurückgibt. Aber wenn ich 010 sagen würde, wird es mir einen Wert zwischen 010 geben, ist sehr nützlich für minus 1010. Ich denke also, dass dieser Punkt klar ist. So können wir diesen Zufallswert und in unserer Cube Add-Funktion verwenden. Sagen wir, das ist so lange, wie wir das tatsächlich Zeile für Zeile aufteilen, treffen wir diesen Kerl auch nicht wirklich. Wenn Sie gehen, werden wir uns die Referenzen ansehen. Vielleicht lasst uns das vielleicht zusammen machen. Also gab es einen riesigen Whew, tut mir leid, das habe ich gesagt. Ein riesiger Mixer. Python API-Website. Dieser Typ hier wird wahrscheinlich diesen Kerl als Lesezeichen markieren wollen. Diese enthält alle Informationen über BPI. Also, wenn ich unsere Funktion hier nachschlagen würde, um sie einfach zu kopieren und hier einzufügen. Und die Suche. Sie sehen die eigentliche Dokumentation zu dieser Funktion. So können Sie alle Parameter sehen, die wir gesehen haben, ändern Sie die Größe, geben Sie Bearbeitungsmodus, Position, Rotation. Keines dieser Dinge ist innerhalb dieser Funktion verfügbar. Und dann können Sie den Standard sehen. Also diese sortierten Standardwerte. Wenn ich es nicht wäre, würde ich die Größe nicht festlegen, dauert es nur zwei. Und wenn ich nicht angeben würde, und über den Bearbeitungsmodus, wird es auf false gehen. Und das wiederholt im Wesentlichen nur den Standard, damit ich ihn aufnehmen kann. Aber das könnte schon ein bisschen zu viel sein. Vielleicht kommen wir wahrscheinlich wieder in die Dokumentationen und wie man das richtig liest. Ich weiß nur, dass es existiert und all das, alles, was mit PY oder einem anderen Mixer Modul zu tun hat , das hier unten aufgeführt ist. Wie auf dieser Website erklärt, gibt es in der API nur eine Sache, die Sie bemerken müssen, ist die Version. Sie werden immer wollen, wollen die neueste Version verwenden oder noch besser nur auf Version, die Sie mit einem Mixer sind. Also verwende ich Blender Version 2.81, aber ich verwende die API-Dokumente von 2.83. Und wenn sich etwas zwischen 2.832.81 ändert, muss ich tatsächlich die neuere Version verwenden, während ich die ältere Version verwende. Aber die Unterschiede zwischen 2.812.83 oder so klein, dass es nicht wirklich wichtig ist. Ich meine, zumindest aus der Sicht des Skripts, aber es ist im Allgemeinen die beste Methode, nur die neueste Version immer zu verwenden. Also, beiseite, gehen wir zurück. Also, wenn wir das ausführen würden, sollte das funktionieren. Wir erstellen nur Würfel am 00 Standort für die Größe 3,92. Also, wenn ich das sagen würde, dann können Sie sehen, wie das wirkt sich auf die QC erstellt wird. Ordnung? Aber die Sache ist, dass wir nicht immer 00 oder 0 Größe verwenden wollen. Wir können es sperren, wenn Sie zum Standard neigen. Wir können es sogar auslassen, wenn du es gewohnt bist, aber ich lasse es einfach rein. Aber das ist der Grund, warum wir wollen , wollen wir diesen Standort ändern. Also lasst uns wieder unseren zufälligen Wert nehmen. Also lassen Sie uns diesen Zufallswert aufrufen und unseren Zufallswert dieser Variablen zuweisen. So verwenden Sie im Wesentlichen Variablen, die ein bisschen eine abstrakte, abstrakte Konzepte Variablen sein könnten , aber es ist wirklich einfach. Es ist im Wesentlichen nur die Zuweisung eines Wertes. Dies kann jeder Typ nur eine Wortdarstellung sein. Daher ist es im Allgemeinen eine gute Praxis, ihm einen aussagekräftigen Namen zu geben. Also das ist im Wesentlichen, Ja, das ist ein zufälliger Wert, man könnte zwischen minus 1010 oder was auch immer sagen, aber Zufallswerte mehr als genug. Das ist also selbsterklärend und das ist eine gute Praxis. Also lasst uns, lass es uns benutzen. Lassen Sie uns das anstelle von R 0 setzen. Also jetzt anstelle eines 0 Verweises auf zufällig generierte Zahl. Also das. Ein bisschen Code, das einen Wert zwischen dem negativen 1010 zurückgibt. Nehmen wir also an, es gibt 9.93 zurück. Der Zufallswert ist gleich 3,9. Also, wenn ich sagen würde, dass mein Standort gleich 3,93,93,9 ist, oder ein beliebiger Wert zwischen negativen zehn. Und dann sehen Sie, ob ich das ausführe, werden Sie sehen, es stellt sich heraus, dass der Zufallswert, der mit dieser Funktion generiert wurde, negativ 3,56 war. Und dann wurde unser q an diesem Ort erstellt. Oder es wieder zu tun. Und nu über n Wert wird genommen und ein neuer Würfel wird an dieser Stelle erstellt. Wir haben es als ein paar Male gemacht. Wir werden sehen, wie diese Würfel neu erstellt werden, aber sie sind alle in dieser geraden Linie. Das ist eigentlich nicht alles, was Sie schreiben möchten. Wir wollen, dass sie alles vorbei sind. Große R-Würfel, nur ein Haufen Würfel drinnen. Aber weil wir den gleichen Zufallswert für alle drei Zugriffe nehmen, werden sie immer in dieser dreidimensionalen Linie erstellen. Wir wollen also drei einzelne Zahlen mit drei Zufallswerten erstellen , eine für x, eine für y und eine für Zed. Also lasst uns das machen. Wir können jede Zeile duplizieren, die unser Cursor aufgestiegen ist, indem Sie die Kontrolle D drücken also habe ich das zweimal getan. Und dann werde ich den Wert umbenennen, weil Sie tatsächlich nie doppelte Variablennamen haben können. Nun, in Python können Sie, aber es wird nur die vorherige überschreiben. Also werde ich es durch zuweisen, sagen wir mal eins. Dann wird es überschrieben, was auch immer dieser zurückgibt, und dann wird es wieder überschrieben. Es ist also im Wesentlichen immer noch die gleiche Zeit. Ich meine den gleichen Wert, nur um mal zu essen. Wenn ich diesen Zufallswert X oder Y oder Z nennen würde und diese Typen entsprechend ändern würde. Was wichtig ist, weil Zufallswert an diesem Punkt, der nicht mehr existiert. Es ist nur der Zufallswert X, Y und Z bei Zufallswert wird jetzt erstellt werden. Es wird also nicht wissen, was es ist. Also, wenn ich diesen Kerl leiten würde, haben wir einen Würfel an einer wirklich zufälligen Stelle in unserem Dendrite, dann würde die Gitterzelle einfach spammen. Ich werde da sein, nur um dir ein bisschen mehr Würfel zu zeigen. Diese Linie ist das, was wir vorher hatten. Und jetzt haben wir mit unseren individuellen Zufallszahlen tatsächlich ein gut aussehendes Ergebnis. Also lasst uns diesen Geschmack loswerden gesehen. Vielleicht hast du es ein paar Mal wieder laufen lassen. So können Sie sehen, wie das aussieht. Okay, das ist also ein zufällig generiertes Cube-Skript, aber wieder, wir haben immer noch keine 100 Würfel oder 500 Gruppen , wo Scripting so mächtig ist, wir dieses Ding immer und immer wieder drücken müssen. Also, um Tags zu umgehen, werde ich eine for-Schleife erstellen. Für die Leute, die völlig neu in der Programmierung sind, ist eine for-Schleife im Wesentlichen eine Programmierstruktur, die bestimmte, wie bestimmte Codezeilen eine gewisse Zeit ausführen wird . Nehmen wir an, ich erstelle hier eine for-Schleife, um sie abzuschreiben. Also werde ich umschleifen. Ich meine, ich werde dieses Bit Code 100 Mal ausführen. Dies ist im Wesentlichen das Konzept einer for-Schleife. Also, was auch immer Bits von Code, die sich innerhalb der for-Schleife befinden , werden x Menge an Malen ausgeführt. Nehmen wir also an, die Menge der Würfel entspricht 100. Und dann kann ich die einfach austauschen. Also werde ich 100 Mal übergehen und ich werde einfach i ausdrucken. Ich ist im Grunde diese sich ändernde Variable, die die aktuelle Iteration darstellt. Also werden wir zu einem 100 Mal iterieren, und dann werde ich tatsächlich verfolgen, was die Dauer, auf der wir derzeit sind. Dies dient nur zu Demonstrationszwecken. Also werde ich nur sicherstellen, dass Zwietracht vorerst ignoriert wird. Und ich werde, es tut mir leid, ich werde das leiten. Ich bin tatsächlich gibt einen Fehler zurück. Also schauen wir uns an, was das sagt. Ok, ich muss das für i in Reichweite bringen. Es tut mir leid. Also, wenn ich das ausführe, werden wir sehen, dass diese Variable i für jede Iteration ändert. Also fängt es an, 0 zu sein, und dann wird es nur inkrementiert, bis es 99 ist. Also bis zu diesem Punkt haben wir diesen Code 100 Mal ausgeführt. Also, wenn ich tatsächlich r Cube-Skript schreiben und hören, führen Sie dies aus, wir werden eine 100 Würfel genau so aus der Box haben. Also, wenn ich sie alle entfernen würde, führen Sie es erneut aus. Ein 100 Würfel, alle mit zufälligen Positionen innerhalb dieser zehn mal zehn Gitter auf allen drei x. Indem Sie diese for-Schleife verwenden, können Sie eine Menge Geometrie auf einmal erstellen. So finden Sie nur heraus, wie Sie es einmal tun. Und jetzt sind Sie nur ein Wrapper, dass dieses Ende vier Schleifenstruktur ist und alles, was eingerückt wird, wiederholen Sie es. Das ist, das ist eins. Also ein Tab. Alles auf dieser Einrückungsebene wird 100 Mal ausgeführt , oder was auch immer er wollte mal, die Sie hier angeben. Also, wenn ich große 50 Würfel wollte, löschen Sie alles. Oder darin werden wir 50 Würfel haben. So können Sie hier sehen. 9. Bereinigung einer Szene mit Code: Eine weitere Sache, die ich erwähnen möchte , ist, dass jedes Mal, wenn wir dieses Skript ausführen, dass r Cubed z einen Stapel übereinander. Also, was wir tun sollten, ist, wählen Sie einfach alles, um es herum gelöscht. Okay, nun, das ist in Ordnung. Lassen Sie uns 50 erstellen und öffnen. Und mit diesem Skript spielt es keine Rolle, aber manchmal will man einfach nicht immer, wenn man etwas prozedurale Geometrie mit Scripting oder Grading etwas anderes erstellt . Du willst immer alles löschen müssen, und du weißt schon, es ist mühsame Arbeit, die du mit Scripting vermeiden willst. So ist es irgendwie intuitiv geworden, wenn Sie ständig eine mühsame Arbeit machen müssen. Also werde ich dir nur schnell zeigen, wie man das nicht tun muss. Also leisten Sie uns, gehen wir hier rein und sind interaktive Konsole, weil wir Dinge testen und versuchen, es herauszufinden. Das erste, was ich Ihnen zeigen werde, ist, wie Sie alle Objekte in Ihrer Szene greifen. Also einfach gehen Man heißt BPO I Punkt-Punkt-Punkt-Objekte. So können Sie sehen, dass es derzeit 50 Objekte in der Szene, aber einfach normal, weil ich 250 Würfel erstellt habe und ich alles vorher gelöscht habe. Nehmen wir an, ich erstelle eine 100. Nun, führen Sie das aus. Drücken Sie den Pfeil nach oben, können die vorherigen Befehle in R-Konsole oder interaktive Konsole Wetter ausführen . Und jetzt können wir sehen, es gab eine 150 Objekte, Art von 50, die dort waren vor und eine 100 extra, weil ich gewährt mehr. Aber wir wollen im Wesentlichen nur eine 100 an dieser Stelle haben. Also, was wir tun könnten, ist, dass wir auflisten können. Also jetzt haben wir eine Liste aller dieser Objekte. Wir können sie einfach alle entfernen. Und wir werden das wieder mit der for-Schleife machen. Also, was haben wir unsere for-Schleife auf diese Weise gemacht? Wir könnten tatsächlich angeben, wie oft wir eine Schleife wollen. Wir wissen, dass ich zu einer 100 gegangen bin und weißt du, jedes Mal, wenn du es steuerst, lebst du 100 Würfel. Aber an diesem Punkt, weißt du, du weißt nicht , wie viele Objekte wir in der Szene sein werden. Du könntest sagen, ja, denn ich weiß wieder 100, du weißt schon, entferne alles, aber wenn du es auf 50 setzen willst, wird es nicht mehr funktionieren. Es ist wirklich nicht dynamisch dieses Gewicht. Im Wesentlichen wollen wir also über viele Objekte iterieren, die es gibt, aber ohne zu wissen, wie viele Objekte es zuerst gibt. Also will ich nicht für i im Bereich von 150 sagen, weil es nicht immer 150 Objekte geben wird. Aber was wir tun könnten, ist, dass wir für das aktuelle Objekt BY Punktdatenobjekte sagen können . Und lassen Sie uns nur für jetzt nur das aktuelle Objekt drucken. Was wir hier tun, macht mich den ganzen Weg nach oben für das aktuelle Objekt in APY dot-dot-dot Objekten scrollen . Also für jedes Objekt in dieser Sammlung von Objekten oder in diesem noch, und diese Sammlung von Objekten. Zeig mir dein Haupt. Also, als wäre ich unsere Variable, die unsere aktuelle Iteration verfolgen würde. Diese Variable gibt hier Streik über unseren aktuellen Artikel in dieser Sammlung. Das ist also im Grunde ein Array oder eine Liste für Sie Programmierer da draußen. Und das ist im Grunde jedes Element in dieser Liste. Wenn Sie also eine Liste von Objekten haben, ist dies das aktuelle Element, das aktuelle Objekt, über das Sie gerade iterieren. Also, was auch immer das ist, es ist Teil dieser Sammlung. dies verwenden, können Sie sehen, dass ich all diese Würfel habe. Als ob ich alle Würfel schnappen kann. Also wieder, für mein Objekt und dieses Objekt, also für jedes Objekt in der Sammlung von Objekten, möchte ich es im Wesentlichen entfernen, oder? Sie wollen jedes Objekt Theorien loswerden. Also dafür können wir PPA dot-dot-dot und object dot entfernen. Und dann möchten Sie das Objekt angeben, das es entfernt werden muss, welches das aktuelle Objekt ist. Und genau so ist alles weg. Das ganze, jedes Objekt in dieser Szene ist weg. Jetzt werden auch Kameras und Lichter gelöscht, weil sie auch Objekte sind, oder? Also, wenn ich das nochmal machen würde, wird die Kamera weg sein. Also musst du das im Hinterkopf behalten, um alles zu entfernen. Sie könnten auch Netze, Materialien, Bilder, so ziemlich alles auflisten . Also, wenn ich zu BPI Punktdaten gehen und dann Steuerungsraum drücken würde, was ein wirklich cooler Trick ist. Es zeigt Ihnen alle Dinge, die in diesen Daten sind. So können Sie Textur, Sounds, Bildschirme, Maschen, Materialien, Licht haben. So bekommen Sie einfach so im Grunde alles, was hat. Aber wir werden nur Objekte für den Moment machen. Der Code, den wir hier geschrieben haben, funktioniert also tatsächlich. Es ist dynamisch. Es wird für jede Menge von Objekten funktionieren. Also lassen Sie uns jetzt in unserem Skript enthalten. Also, wie sollen wir das tun? Wir können es einfach vorher tun. So wie wir es getan haben. Und entsprechend ausgerichtet, Boom, jetzt ist es an Ort und Stelle. So wird jedes Skript von Zeile 1 zu Zeile ausgeführt, nur die letzte Zeile. Also unten einen durch Mais logisch verzichten. Es wird also hierher kommen, sich alle Objekte in der Szene ansehen, sie alle entfernen und dann 100 neue erstellen. Wenn ich dies tun würde, hätte ich eine 100 Objekte ist das gleiche, wie es vor ihm sein würde. Wenn ich es jetzt mache, möchte ich, dass du zu 100 verschiedenen Objekten kommst. Wenn ich hier wirklich schnell schauen würde, nur alle unsere Objekte drucken würde, würde es sehen, dass es immer noch eine Liste von 100 ist. Und ich kann diese 2020 Mal ausführen, oder wie oft Sie immer unter ihm sein werden. Oder um dies in 50 zu ändern. Jetzt habe ich 50 und alle Hunderte werden gelöscht. Piraten pro 500 wieder. Zuerst werden die 50 gelöscht, dann werden 500 neue erstellt. Aber Sie müssen nicht angeben, wie viele Objekte es am Anfang gibt , weil Sie es nie wissen können. Wie jetzt, ich merke nicht 500, die vielleicht hinterhältig sein und einen erstellen können. Und ich könnte einen Kreis schaffen, wir wissen, dass es richtig ist. Aber wenn ich es wieder laufen würde und das ist mein Freund ist ein bisschen zu viel. Und sich in Kreise zu bewegen, auch weil alles immer weg ist und durch um ihn ersetzt werden . 10. Ideen auf diesen Projekt aufbauen: Okay, also sind wir ziemlich weit gekommen, sind bereits in diesem ersten Kapitel des Kurses. Aber ich möchte, dass ihr euer Verständnis dafür vertieft, was wir hier tun, ist, selbst etwas auszuprobieren. Es gibt also im Allgemeinen eine Best Practice, um einfach zu gehen, alleine auszugehen und einige andere Sachen auszuprobieren vielleicht während Sie Missachtung inspirieren, oder Sie haben sie, wissen Sie, nur Inspiration, etwas anderes zu tun. Und ich möchte, dass wir fortfahren, dass jetzt sehen, ob Sie dazu hinzufügen können. Eine Sache, die ich vorschlagen könnte, ist herauszufinden, wie man ihre Rotation auch randomisiert. So, als ob jetzt nur zufällige Orte und Sie können sehen, ob Sie unseren Platz platzieren, Ihre Kamera irgendwo hier drin. Niemand sieht sehr interessant aus. Aber um dies auf die nächste Ebene zu bringen, können Sie vielleicht mehr Stern randomisiert. Das könnte also eine Rotation sein, das könnte Maßstab sein. Das könnte sogar ja sein, das könnte alles wirklich sein, nur ich werde nicht zu viel sagen, weil ich deine Fantasie nicht einschränken will. Also gehen Sie einfach durch, was Sie dazu hinzufügen würden, und probieren Sie es dann aus, schauen Sie nach Sachen in der Dokumentation. Also noch einmal, schnell diesen Link an EI angeschlossen. So Mixer, Python API verstärkt und, und Google. Und du bekommst das letzte. Stellen Sie sicher, dass Sie auf den neuesten sind eigentlich 2.90 jetzt, da ich denke, seit ein paar Tagen, wo der vierte September gerade jetzt. Also werde ich nicht den Wechsel vom MIT Kurs machen. Vielleicht werde ich mir das Änderungsprotokoll ansehen und wenn sich irgendetwas ändert, werde ich euch auf dem Laufenden halten. Aber im Moment ist die API identisch mit 0.812.832.9 für all die Dinge, die wir in diesem Kurs abdecken, wird alles funktionieren. Es wird alles gleich sein, also mach dir keine Sorgen darüber. Aber ja, hier können Sie einfach irgendwie Lookups selbst schnell erkennen, diesen Kerl hier kopieren, sehen, was wir damit machen können. Das bin ich also, ich werde dir zeigen, wie du das aushalten kannst. So können wir sehen, dass es eine Größe ist, die man randomisiert werden könnte. Also, das ist nur auf zwei gesetzt. Hier ist es auch auf zwei gesetzt. Dies ist also nur eine statische Zahl, so dass Sie es auf die gleiche Weise wie hier randomisieren können. Sie können einfach Ihre Grenzen wählen. Und auf diese Weise können Sie dieser Position wirklich mehr Dimensionen hinzufügen, Ihre Rotation oder Skalierung wieder, also ist dies auf 0 gesetzt, was ein wenig seltsam ist, denn normalerweise, wenn Sie auf 0 skalieren, machen Sie es einfach unendlich klein. Sie sollten nur um eins skalieren, um die gleichen Dimensionen beizubehalten. Dies ist nur ein Multiplikator. Und so ist das ein bisschen verwirrend. Also würde ich mich nicht darum kümmern, wenn Sie die Größe zufällig bestimmen wollen, ich würde es einfach hier durchmachen. Dies tut, ist, dies ist eine gleichmäßige Skalierung. Das ist also nur eine Skalierung jedes X gleich ist. Du bekommst vielleicht etwas, was du tun kannst, ist es zu skalieren und etwas zu sagen und es dann zu versiegeln. Und warum ein bisschen? Töten wir sie, ein X, etwas anderes. So bekommen Sie wirklich diese rechteckigen Formen. Also bin ich, wenn wir den Größenparameter verwenden, haben Sie immer einen Würfel. Also, das ist etwas zu beachten. Sie können immer hier schauen und sehen, was wir getan haben. Machen Sie einfach ein paar interessante Sachen und dann versucht, es zu schreiben. Viel Spaß und probiere einfach ein paar Sachen an dir selbst aus. Dies ist ein wirklich, wirklich wird der Unterschied zwischen einem sein, Sie gerade den Kurs beobachten und Sie tatsächlich verstehen, worüber wir sprechen, tatsächlich Anwendung, worüber wir reden. Es ist immer gut, irgendwie versucht, Ihre eigenen Sachen zu erstellen. Und wenn Sie dies tun, achten Sie darauf, es per E-Mail oder über meine Socials zu senden, wird es eine Beschreibung des Kurses geben. Ich bin immer wirklich interessiert zu sehen, wie ihr Leute, äh, oder ihr erschafft einfach einen Fuß mit dem Zeug, das ich zu lehren versucht habe, sortieren, das wäre wirklich cool, um zu sehen, wie ihr Jungs habt was er geschaffen hat und wie ihr Jungs denken, dass es verbessert werden kann. 11. Kontrollierte Randomisierung: Einführung: Und um den Prozeduralismus und die Randomisierung auf die nächste Ebene zu bringen, müssen wir darüber nachdenken, wann und wo wir ihn verwenden. Manchmal ist es im Allgemeinen besser, etwas zufällig zu machen, weil wir als Menschen immer versuchen, Erkennbare Muster zu finden. Und so arbeiten wir Künstler, so wie unser Gehirn funktioniert. Wir versuchen immer, Muster zu erkennen. Wir versuchen immer, Muster zu erstellen. Und selbst wenn Sie versuchen, eine 100 zu erstellen, spielen durch, immer konzentrieren sich auf zwei oder drei. Aber im Laufe der Zeit werden Sie einfach erkennbar und es ist sich wiederholend geworden. Und das sind nur Probleme, mit denen sich eine Maschine nicht auseinandersetzen muss, die rein mathematisch sind. Ich meine, wenn du, wenn du eine Maschine nach einer Zahl zwischen 01 fragst, denkt sie nicht darüber nach, es gibt dir nur die Nummer und es geht einfach weiter. Wenn Sie es also 100 mal fragen, erhalten Sie 100 Zufallswerte. Wenn Sie einen Menschen fragen, wird es immer geben, es wird immer eine Art Muster im Inneren sein. Und genau das müssen wir versuchen, zu vermeiden. Und das ist genau das, was Python und Mixer, und ich meine nur Prozeduralismus und Randomisierung und Generalisten. So gut. Es wird nicht voreingenommen als nicht vorhersehbar, nicht erkennbar. Und wenn du diesen Wert wirklich siehst. Und dann können Sie es wirklich auf die nächste Ebene schieben. 12. Kontrollierte Randomisierung ( Einen Zaum erstellen ): Also das ist, was machen wird und dieses Kapitel, es ist völlig randomisiert Zaun. Sie können sehen, dass es einen gewissen Versatz in der Drehung und dann die Höhe als auch. Das sieht also ästhetisch ansprechend aus, es ist wirklich einfach zu machen. Also ja, das ist, was wir die Breite haben werden. Beginnen wir mit einem neuen C kann tatsächlich vollständig kaufen gehen, um Scripting, wie wir es mittlerweile gewohnt sind. Ziehen wir das ein wenig raus, speichern Sie es. Tun Sie alles Wesentliche, bevor wir tatsächlich anfangen können, ein Skript wichtige Beat von einigen dieser therapeutischen Sachen zu erstellen . Und jetzt sind wir bereit. Also lassen Sie uns tatsächlich beginnen, indem Sie die weniger Dinge, die wir im vorherigen Kapitel getan haben, das die Szene aufräumt. Wenn wir uns also nicht ganz erinnern, werde ich es wiederholen. Die Sache, die wir tun werden, ist, dass wir jedes Objekt in der Szene packen. Also für Objekte DY Punkt-Punkt-Punkt-Objekte sein, und dann werden wir es entfernen. Wenn ich also die Texte addiere, wird das alles einfach jedes Mal loswerden , wenn es viel einfacher ist, während du arbeitest. Ich meine, ich sage nicht, dass du gehen solltest. Oder Sie veröffentlichen dieses Skript tatsächlich oder wenn Sie es tatsächlich verwenden, weil Sie es einfach sind, vielleicht möchten Sie einen Zaun in der Szene erstellen, die bereits vorhanden ist und Sie wollen einfach nicht alles loswerden, oder? Aber im Moment ist es einfach wirklich mühsam, immer zu entfernen oder wir haben erstellt, weil ich meine, von der ersten Iteration werden wir eine Warteschlange erstellen. Und wie Sie werden ärgerlich sein, es immer zu entfernen. also beginnen, Lassen Sie unsalso beginnen,indem wir unseren Würfel erstellen. Also wieder, Sie sollten jetzt schon diesen Befehl bemerken, aber selbst ich vergesse sehr oft. Also lassen Sie es uns wieder platzieren einen Würfel der Größe zwei und Position 000 schaffen. Und es ist tatsächlich, das auf eins zu verschieben. Es ist ein bisschen einfacher zu arbeiten und dann Bearbeitungsmodus zu wechseln, wie wir zuvor gesehen haben, es kann gelöscht werden. Das wird also immer noch funktionieren. Und jetzt haben wir nur einen kleineren Würfel. Beachten Sie, wie der Große verschwunden ist, was fantastisch ist. Es ist einfach so ein kleines Ding, aber ja, hält dich nur gesund als Person. So viel könnte ich dir sagen. Ordnung. Aber das sieht nicht sehr wie leer aus, oder? Also, um es wie ein leeres aussehen, bezieht sich Notwendigkeit, es nach oben zu bewegen. Natürlich, ich meine, skalieren Sie es. Also als Z, sagen wir zehn Zentimeter, was ein bisschen viel ist, aber ich meine, das ist in Ordnung. Es ist vielleicht skalieren Sie es im X und so viel, was 0,25 ist. Also wieder, Sie werden diese, diese Panels verwenden müssen. Mischen Sie sie einfach die ganze Zeit zusammen. Es ist super nützlich. Also, wenn wir tatsächlich einen Schritt zurück und sehen, was wir getan haben, so haben wir es genau dann skaliert. Und dort haben wir es um 0,25 und das x herabgesetzt. So können wir das tatsächlich erschaffen. Also lasst uns das hier kopieren. Und das ist eigentlich angemessen, was wir sehen können, vielleicht können sie feststellen, Stick ist die PEC. Wieder. Dies ist der gleiche Befehl, den wir zweimal hintereinander ausführen. Und dann, wenn wir 3D riskanter ausführen als die Nullen und Einsen riskanter als die X. So können wir wahrscheinlich diese beiden kombinieren. Also lasst uns das loswerden. Mal sehen, ob das tatsächlich funktioniert hat. Also, jetzt erstellen Sie einfach eine Warteschlange der Größe eins und dann skalieren wir sie so, es sei denn, vielleicht verschieben Sie sie um fünf nach oben, was die Hälfte von dem ist, was auch immer das ist, was auch immer das ist. Das ist also das. Dann haben wir im Wesentlichen ein leeres erstellt. Sieht gut aus. Die Skala ist völlig falsch. Mach dir keine Sorgen darüber machen. Aber nur als Nebennotiz. Aber ja, okay, das ist im Grunde das Rezept, wie man einen Rohling erstellt. Vielleicht sollten wir das in Funktion bündeln. Ich werde es durchgehen. Es ist ziemlich schnell, weil es nur eine Gruppierung von Code gibt. Für jetzt. Sie müssen nichts mehr wissen, als Distrikt Gruppierung von Code. Also lassen Sie uns sagen, Create Blank und wird all dieses Zeug hinein. Also, wenn wir es jetzt ausführen , wird nichts passieren. Aber wenn wir unsere Funktion aufrufen, wird es diesen Code tatsächlich ausführen. Zwietracht wird nur ausgeführt, wenn wir diese Funktion aufrufen, was großartig ist. Also lasst uns Schritt eins machen. Das sieht schon gut aus. Lassen Sie uns jetzt versuchen, Caret, sagen wir zehn Leerzeichen. Also wieder, wie wir es mit den Würfeln und dem ersten Kapitel getan haben, werden wir eine bestimmte Menge von Werten durchlaufen. Also lassen Sie uns sagen, für i in Reichweite von ihnen. Möchten Sie ein leeres erstellen. Für jetzt sollten wir zehn Links haben. Natürlich wollen wir nicht, dass sie alle am selben Ort sind, also wollen wir sie versetzen. Und warum dieser Betrag? In Ordnung, also wissen wir, dass die tatsächliche Breite, mal sehen, ob dies eine Breite ist. Wie viel es auf der Y-Achse ist, wird eins sein. Weil wir diesen Würfel der Größe eins erschaffen haben. Und wir haben es nicht heruntergefahren. Und y, so ist y immer noch, da ich nur um einen Faktor eins skaliere. Es multipliziert also im Wesentlichen eins nach dem anderen, was immer noch eins ist. Wir wissen also, dass dies einer ist. Also, wenn wir ein Leerzeichen erstellen und es dann um eins verschieben, oder sagen wir, lassen Sie uns tatsächlich eine Lücke identifizieren. Also lassen Sie uns sagen, wir wollen, dass wir die 0.1. nur 10% über die Dicke bekommen. wir also eine Plus-Lücke. Wir wollen also immer einen machen, denn das ist nur der Betrag gegenüber dem vorherigen. Und ich möchte nur ein wenig eine Lücke von 0,1 hinzufügen. Also, wenn wir das tun würden, hat das nicht funktioniert, weil das es nicht wirklich bewegt. Das ist eigentlich kein Delta y, das ist eigentlich ein, ein tatsächliches y. Das ist also die neue y-Position, die eigentlich nicht das ist, was wir wollen. Wir sollten wahrscheinlich einfach i benutzen, oder? Also können wir ich mal eins machen. Und ich möchte nur inkrementell zu Lücke. Da gehen wir. Also jetzt haben wir zehn Rohlinge, die es vielleicht ein bisschen größer von einer Mütze machen. Ich bin mir nicht sicher, ob du das wirklich arbeitest. Ich glaube nicht, dass es so ist, wie vielleicht nicht durch diese Lücke und ich multipliziere das mit i. Also warum die aktuelle Iteration? Das ist noch schlimmer, oder? Und ich bin derjenige. Na gut, da gehen wir. Also jetzt haben wir unsere Bretter und wir haben eine kleine Lücke zwischen 0.1.2. Es könnte ein bisschen zu groß sein. Okay, das sieht also nicht zu schäbig aus, oder? Schöner Blick auf den Zaun, aber es ist ein bisschen zu perfekt. Und das ist, wie es ist wie ein 3D-Künstler auf die wirklich spürbare und es ist wie Werkzeug perfekte Entscheidungen, um alles zu veranschaulichen. Also, das ist, wo die Zufälligkeit kommt in Suez es als Mensch wieder, es ist wirklich schwer, diese Stop-Phase zu greifen und dann diese bewegen Sie es aus und nehmen Sie ein wenig zu, um es ein bisschen Offset zu haben. Das ist es, was wir jetzt versuchen werden zu vermeiden. Also fangen wir an. Also, was wir für jeden Rohling tun wollen, ist, dass wir gewohnte Höhe haben wollen. So ist der Wasserstoff sehr jedes Mal. Also in unserer Schleife werden wir eine Variable deklarieren und unsere Höhe auf zehn setzen. Also für jetzt, lassen Sie es tatsächlich eine hart codierte oder nicht Variable halten. Ich meine, es ist immer noch eine Variable, dass es eine, es ist eine festgelegte Nummer, also wird es sich nicht ändern. Und das ist tatsächlich übergeben Sie das in. Neuerstellung blinkt. Also straff ich, eng. Also wird diese Höhe hier halten. Wir wollen unsere Anfangshöhe ersetzen. Also unsere Skalierung von Zed, die die Höhe einrichtete, da wir eine verwenden. Dies wird also jetzt immer noch das gleiche Ergebnis sein, aber die Verwendung dieser Variablen hier wird uns ein bisschen mehr Kontrolle geben, besonders indem wir sie durch diese Funktion übergeben. Also, wenn wir genau das gleiche ausführen würden, und jetzt, wenn ich es auf entweder 15 ändern möchte, wird das hier passieren. Jetzt haben wir es natürlich um fünf hochgefahren , da unsere Höhe ästhetisch auf zehn gesetzt war. Aber jetzt, da wir auf 15 geändert haben, sieht es nicht mehr gut aus, weil Sie tatsächlich 7.5 verwenden würden. Wenn ich das ausführen würde, dann wird es wieder ausgerichtet sein. Ja. Aber das wollen wir nicht immer. Ich meine, da wir das ändern wollen, müssen wir das auch ändern. So ist es nur eine Hälfte von was auch immer die Höhe ist. Das wird also funktionieren, unabhängig davon, was ich hier setze , wir richten es einfach immer nach unten aus. Und das ist wirklich, wirklich wichtig. Fast nie, wenn ich diese magischen Zahlen benutze. So wie, selbst hier, 0,25. Es ist nicht gut, das hier drin zu haben. Wir sollten dies wie eine Dickenvariable sein. Okay, tut mir leid, Dicke hier. Und natürlich müssen wir auch hier Dicke setzen. Also das ist ein Sie verursachen 0.25 und im Wesentlichen ist es immer noch der gleiche Code. Es macht genau das Gleiche, aber es ist viel lesbarer. Es ist viel umfassender. Wenn wir es wieder ausführen, und doch ist dies das gleiche Ergebnis. Aber es ist, es ist viel klarer und dann nur Skalierung in der x, y und jetzt wissen Sie, dass das eine Dicke ist. Okay, also lass es uns aufstellen. Die Sache ist jedoch, wir wollen die variable Höhe haben, das muss dynamisch sein, muss sich für jeden Rohling ändern. Also wieder, wir werden unsere zufälligen Funktionen verwenden, ist gut, lassen Sie uns zufällig importieren. Und jetzt, anstatt es an zehn zu senden, werden wir sein, wir werden einen Wert zwischen 910 wählen. Sagen wir mal. Vielleicht ist der Notruf vielleicht zu viel. Zufällige Punkt-Uniform Natürlich ist dies der, der eigentliche Name der Funktion. Und Sie können schon sehen, dass die Rohlinge jetzt Ferrying Höhe ein bisschen zu viel sein könnte. Das ist also ein Faktor von Eins. Der Unterschied zwischen dem maximalen min ist also eins. So werden wir eine maximale Änderung der Höhe sehen. Eins. Hat es könnte immer noch zu viel sein. Lassen Sie uns Component_2 oder so etwas tun. Du kannst mit diesen Zahlen spielen, oder? Dies sind nur die Dicke ist endlich. Es ist wie eine kleine, kleine Variable. Okay, das ist also gut. Das ist schon etwas, das schon viel besser aussieht als vorher. Und wieder, weißt du, das macht kleine Schritte, und wir erschaffen jetzt nur noch. Du denkst vielleicht, das ist dumm, ich konnte diese Minute nicht machen. Aber sagen wir, Sie wollen 100 Bretter haben, wie Offensive und sie gehen, Hollywood bleibt hier. Und das ist besonders nützlich, wenn Sie wie eine Szene haben , die eine Reihe von Zäunen hat oder einfach nur ja, wenn dies wiederverwendbar wird, werden Sie eine Menge Wert sehen. Und selbst wenn Sie gut im Scripting sind, können Sie dies in einer Minute oder so aufschreiben, geht einfach wirklich, wirklich schnell. Das sind die gleichen Befehle, oder? Sie können sie einfach hier rausziehen, das Parlament einen for-loop und BAM, da geht's. Es dauert also nicht lange, es dauert weniger Zeit, um Skripte zu erstellen und Andra Blanks Bibliotheken zu erstellen. Also ja, nur um eine Perspektive zu geben. Cool. Also habe ich Bretter und setze sie auf zehn zurück, um sich ein bisschen mehr zu konzentrieren. Und fügen wir eine weitere Dimension der Zufälligkeit hinzu, richtig? Also sind sie alle perfekt ausgerichtet. Wer auch immer diese niederlegt, ist Meister. Baby Austerlitz, vielleicht ein Randomize verdickt es ein wenig. Ich möchte, dass Sie dies mit den Variablen an Ort und Stelle haben und Sie folgen diesem. Diese Struktur ist wirklich einfach hinzuzufügen, oder? Vielleicht lassen Sie uns das etwas abwechslungsreicher machen. Ja. Sie können einfach jeden Aspekt nehmen und es einfach ein bisschen einzigartiger machen, ein bisschen randomisierter, um Details hinzuzufügen, anstatt nur, ich meine, Detail ist auch im Scripting. Sie haben nicht nur die Kachelmodellierung oder Vorlesung oder in was auch immer es auch Detailing Scripting haben kann. Okay, also haben wir Höhe, Dicke, hör zu, ich mache Rotation. Wie wir im vorherigen Video in der Dokumentation gesehen haben, gibt es ein Feld für die Rotation beim Erstellen eines Würfels. Wenn wir hier schauen, Würfel, wir haben diese Rotation, diese Rotation Werte auch hier. So können Sie in unserer Cube Add-Methode sehen, jede Position, es gibt auch eine Rotation. Und Sie können sehen, dass diese Werte ziemlich klein sind. Also nehme ich an, das ist eher eine Bestrahlungsstärke als Grad. Also, das könnte ein, ich meine, Sie müssen nur daran denken, dass es sich um Radius und nicht um Grad handelt. Jetzt, da wir wissen, dass dies existiert , können wir das tatsächlich kopieren. Das ist also ärgerlich. Drehung. Lassen Sie uns das raus und lassen Sie uns auf dem Ende basieren. So ist unsere Rotation jetzt wieder in Stein gesetzt, was überhaupt nicht dynamisch ist, sondern zu Demonstrationszwecken. Und während Sie dieses Programm erstellen, ist dies nur in Ordnung, um sicherzustellen, dass es funktioniert und sehen, wie es aussieht, wie es nicht ist. Und es wurde auch viel dicker, da es tatsächlich global skaliert wird. Also 4N Typ global, das ist vielleicht sehen, ob das besser funktioniert. Wenn Sie lokal machen, funktioniert das. Trotzdem tut es das. Also, jetzt drehen wir uns ein wenig. Jedes Xs, was wir jetzt tun wollen, will eigentlich auf Zed drehen, glaube ich, richtig? Ja. Also würden wir eigentlich diese ungleich Null x und y halten wollen wollen nur drehen und sagten, Lasst uns das hier setzen. Stellen Sie sicher, dass das funktioniert. Sie können also sehen, sie sind alle leicht geneigt, leicht abgewinkelt, sie sind alle gleich. Fügen wir hier eine Winkelvariable hinzu. Und dann lass es uns auf eine zufällige Uniform setzen, Wein neu ernennen und es ist nicht so schlimm. Also mache ich 0.1.1, negative und positive 0 zu eins. Tut mir Leid. Ich wollte, dass sie einander lieben. Aber immer noch die Dicke. Ja, wir bestimmen die Dicke, wo ich denke, das ist in Ordnung. Also, wenn wir es hier jetzt betrachten, das ist nicht ein Schar liest es durch dick. Bumm. Da gehen wir. Mal sehen, wie es aussieht, wenn wir ein bisschen mehr haben. Da gehen wir. Sieh dir das an. Du hast gerade ein 100, meine ich, zu relativ großen FBI geschaffen . Und nur eine Sekunde. Und es ist sehr, sehr dynamisch. Sagen Sie Nun, ich wollte etwas mehr in der Höhe tragen. Sie können einfach tippen. Aber diese 3-11. Jetzt haben Sie ein bisschen mehr Variation in IKT. Und es ist sehr, sehr flexibel, nur wegen der Art, wie wir das eingerichtet haben. 13. Erstellen einer sine Einführung: Okay, also sind wir sehr wohl mit Randomisierung und Prozeduralismus. Jetzt denke ich, wir werden von zufälliger zu allgemeiner Mathematik übergehen. Nun, wir werden nicht lösen für x tun und Gleichungen oder so etwas. Wir werden nur die mathematische Funktionsbibliothek verwenden, wie wir die zufällige Bibliothek verwendet haben. Es wird also jetzt komplexer oder theoretischer sein oder so, wie wir es mit dem Zufallsprinzip gemacht haben. Dies wird nur die mathematische Funktionsbibliothek anwenden. 14. Erstellen einer Sinuswelle: Alles klar, Jungs, machen wir uns bereit für unser nächstes Programm. Also werden wir wieder in den Scripting-Arbeitsbereich übergehen, alles, was da ist, loswerden. Erstellen Sie einen neuen Datenblock, zoomen Sie ein wenig Kontrolle, scrollen Sie real und haben das jetzt herausgefunden. Wichtig ist, dass PY und paar N3 nur, um uns bereit für unser Skript zu machen. Für diesen habe ich es ein bisschen anders. Wir werden nicht nur mit einem Würfel beginnen und dann von dort gehen, tatsächlich zu neu erstellen oder von Grund auf neu zu vernetzen. Also lasst uns hineingehen. Um dies zu tun, werden wir unser Netz erstellen. Ordnung, also könnte das ein bisschen vertraut aussehen , wenn wir alle unsere Objekte getragen haben. Wir verwenden BPI Punktdaten-Punktobjekte, um alle Objekte aufzulisten, was uns auch erlaubt, sie zu entfernen. Und Sie können sie auch einfach erstellen. Indem wir dies tun, arbeiten wir daran, ein Objekt zu schaffen rein und alle anderen Objekte über neu zu sein. Nennen Sie es vielleicht auch Sündenkurve. Und das wird tatsächlich reinkommen und der Zwei-Link-Arm durch unser Objekt. Sobald wir also ein Netz und ein Objekt haben, können wir tief Volltextverknüpfen. Es ist ein Bissen voll. Obj. Vielleicht sollten wir auch an dieser Stelle am besten vernetzen. Wenn ich mich nicht irre. Lassen Sie uns das laufen. Okay, jetzt können wir sehen, dass wir unser Objekt haben, das einen Vorwärtsgang hat. Wenn ich das nicht tun würde, wird das Zeug widersprechen. Erstellen Sie einfach ein Netz. Vielleicht Karriere. Befreien Sie sich von dem Objekt. Ausgewählt, löschen. Sie konnten sehen, dass ich das so oft wie eine Eins ausführen könnte. Es wird hier nie ein Objekt geben, und es wird ein Haufen Maschen hier unten sein. Das ist also ein bisschen verwirrend. Diese Dinge verstecken sich im Hintergrund wie dieses Würfelnetz. Wir glauben, dass es schon lange her ist, aber es versteckt sich immer noch. Also lassen Sie uns tatsächlich unsere Löschroutine durchlaufen. Also haben wir, wir haben dies ein paar Mal getan, wo die Objekte, also erinnere ich mich für OBJ und BP direkt bis Datenobjekte. Datenobjekte Punkt entfernen die Art des aktuellen Objekts. So wird jedes Objekt aufgelistet und dann wird es wie entfernt, so dass wir tatsächlich das gleiche für ein Gitter tun können. Also für Mesh im BPI Punkt die gelben Netze, BPI Punkt, dot.me Mesh. Das wird also tatsächlich alle Missionen loswerden , die derzeit in der Szene sind. Und dann wird es ein neues schaffen. Mal sehen, ob das funktioniert, richtig, es scheint so, als ob es getan hat. Und so gibt es hier nur ein Netz, es sind immer noch keine Objekte. Also lasst uns diese Kerle nochmal auskommentieren. Und wir haben jetzt alles Setup. In Ordnung, cool. Unsere Maschen sind immer noch ein bisschen langweilig, oder? Es gibt keine tatsächlichen Dateneinblicke. So können wir das ändern, indem wir britische Punkte, ad, ad. Ein 100100 Scheitelpunkte durch das Netz. Ich werde auch ein paar Kanten hinzufügen. Also brauchen wir tatsächlich eine weniger als die Menge an Über-Hebelwirkung ist, weil eine Kante immer eine Verbindungslinie zwischen zwei Scheitelpunkten ist. Es wird also immer eine Kante weniger geben und es gab vier Dixit. Also vielleicht sollten wir das hier reinlegen und eine Variable. Sagen wir mal 100 Proben. Also möchte ich 100 Scheitelpunkte und dann minus eine Kanten haben. Also, jetzt hätten wir wissen sollen, dass es immer noch alle den gleichen Orten gibt, an denen es immer noch nichts tut. Aber zuerst, lassen Sie uns vielleicht ein bisschen mehr im Grunde als die Klick-Bewertung zu Sinuswelle gehen. Erstellen wir einfach eine einfache flache Linie, eine flache Kurve. Also werden wir über jeden Scheitelpunkt gehen. Also für i im Bereich von Samples, weil das genau die gleiche Menge an Scheitelpunkten ist. So Menge an Proben. Wir werden den aktuellen Scheitelpunkt greifen , der für jeden Index i vernetzt wird. Und dann sagen wir den aktuellen Scheitelpunkt C, o, der die Koordinate ist. Wir werden das gleich setzen, sagen wir 0 auf x und y, und dann eins in z oder so, also ist es nicht flach auf dem Boden. Eine Art Belohnung, das zu laufen. Schau dir die Kurve an. Okay, das ist nicht schlecht. Immer noch keine tatsächliche Geometrie. So können wir die Punkte sehen, die versetzt worden waren, aber die Kanten sind nicht. Ich meine, es gibt Ränder da, aber sie wissen nicht, was sie auf dich warten sollen, denn Süchtige sind tief dran oder was sie tun sollen. Also, das ist eigentlich auch eingerichtet. Also werde ich nicht tun wollen, ist für jede Kante, für alle vier Ticks, ich möchte dies für jeden Scheitelpunkt außer für den letzten tun. Also, wenn ich weniger als einfach ist, minus1, wollte ich sagen, Gitterkanten. Die aktuelle, die ich die Scheitelpunkte übernehme, entspricht dem aktuellen Scheitelpunkt und dann dem nächsten. Und das ist im Grunde nur eine Unterzeichnung. Also gebe ich einem Scheitelpunkt einen Scheitelpunkt zu, ist für jede Mission überhaupt, für jede Kante. Jede Kante ist also im Wesentlichen der größte aller Zeiten. Das ist ein Scheitelpunkt, dieser Asterix hier. Und Sie haben hier einen Scheitelpunkt. Was ich tun will, sind wir, also verbinden Sie diese einfach, wenn eine Kante. Also das ist der aktuelle Scheitelpunkt, Scheitelpunkte I. So aktueller Scheitelpunkt als Index von i. Und dann ist der nächste Scheitelpunkt zu diesem Kerl, der das Ende der Verbindung ist, i plus eins. Der nächste. Oder Sie müssen sicherstellen, dass wir nie Proben abzüglich eins durchlaufen. Denn dann wäre ich plus eins 101 oder 100. Und dieser Scheitelpunkt existiert nicht, weil er von 0 bis 99 geht. Wir müssen also sicherstellen, dass wir diese Grenze nie überschreiten. Denn wenn wir sagen würden, dass du das weglassen würdest, würden wir einen Fehler bekommen. Kann die Konsole tatsächlich laden. So können Sie sehen, dass es ein Leser außerhalb des Bereichs Index 99. Das gibt es anscheinend nicht. Also müssen wir tun, um sicherzustellen, dass es seine noch in Reichweite hält. Wir können immer noch müssen wir in relativ zu Doppel-Tap-Registerkarte gehen wird ausgewählt, um unsere Kurve zu sehen. Das ist also ein bisschen nervig. Fügen wir tatsächlich einen Modifikator hinzu, so dass es sich um ein richtiges Stück Geometrie handelt. Also, das ist, wo wir Haut nehmen ist endlich. Wir können dies ebenso schreiben wie Film schnell tun. Also werden wir dies tun, indem wir OBJ-Datei Modifikatoren tun, dieser neue Typ gleich Skin und dann Name. Es spielt keine Rolle, wie seine Verwandten das tun würden, dann haben wir eigentlich schon, also nachdem wir die Objekte erstellt haben, erstellen wir einen Modifikator vom Typ Skin , der nur ein bisschen leichter zu sehen ist, wenn Sie zeigen. Okay, also sieht das schon ziemlich cool aus. Lassen Sie mich es tatsächlich auf ein C auf Scheitelpunkte anwenden, weil es mich nicht wirklich sehen lässt. In Ordnung, cool. Das sind also menschliche Proben. Wenn wir diese Probe nehmen würden , und das ist viel kürzer, sollten wir das vielleicht nicht tun. Nun, jetzt ist es in Ordnung. Gehen wir hier hinein, wenden Sie den Modifikator an. Ich verstehe, das Ich, ich sehe. Es wird also immer um eins geändert. So wie das lesen kann. Und Wälder. Für Sinuswelle sollten wir ein paar weitere Variablen hinzufügen. Also lassen Sie uns eine Frequenz hinzufügen. Ich werde das einfach auf 30 Länge setzen, weil es variabler sein sollte. Und dann vielleicht Höhe drei. Und dann könnten wir einen Schritt machen, der die Länge geteilt durch unsere Probe sein würde, die alles ausrichten wird. Das macht ein bisschen mehr Sinn. Sie werden sehen, wie das in einer Sekunde aussieht. In Ordnung, also um die, um die Sinuswelle zu bekommen, müssen wir Mathematik importieren, was uns erlaubt, auf ein paar weitere Module zuzugreifen. Also, wenn wir beginnen können, erkundet werden und die Konsole ein wenig, vergrößern. Eine Sache, die du durchmachen könntest. Drittens, Mathe. Diese Funktion wird abgeleitet, Funktion ist nur Standard-Python Funktion. Ich werde alle Dinge auflisten, die Sie mit der aktuell ausgewählten Methode oder Klasse tun können . Und hier, so können Sie sehen, Mathe bietet Sinus Quadratwurzeln. Vielleicht kann ich dir zufällig zeigen, um es auch ein bisschen visueller zu machen. Wenn ich das Zufallsprinzip machen würde, könntest du zufällige Uniform sehen. Also, das ist die Funktion, die wir vorher verwendet haben, richtig, zufällig Uniform. Und hier kannst du einfach nach Sachen suchen. Sagen wir mal, ich wollte etwas mit Sünde oder Bestrahlung oder mit Macht machen, schätze ich, irgendwie danach suchen. Also sehe ich ok, also heißt es Sünde. Und ich kann vielleicht gerne Metriken in haben, und dann wird es den Sinus von x zurückgeben, Sinus x gibt einen Sinus von x zurück. Also, wenn ich Sinus 90 tun würde, ist das richtig. Gemessen in Bogenmaß. Nun, natürlich ist das nicht großartig, wie auch Ihre Methode. Weil es auch hier einer ist. Okay, also MATLAB Strahlkraft, ja, 90. Das sind 1,5 Seiten tun. Ja. Also ist der Sinus von 90 tatsächlich einer, der funktioniert, also musste man ihn einfach auf und in Glanz drücken. Aber ja, das ist nur ein bisschen mehr darüber, wie man diese Module tatsächlich spielen und entdecken kann. Wenn Sie das einfach ausdrucken, können Sie irgendwie durchgehen, was alles bietet, was Sie sonst noch haben, können Sie sich natürlich auch die Dokumentation ansehen. Also lasst mich einfach schnell einpacken, was hier reingeht. So können Sie unterschreiben gehen. Vielleicht an einer Klammer. Ja. Es gibt einen Sinus von x Bogenmaß. Ja, und x Bogenmaß, natürlich, eine Zielrückgabe ist im Bogenmaß, aber ein Zeichen im Bogenmaß. Das ergibt keinen Sinn. Das finde ich außerdem. Jetzt wissen wir, wie Mathe funktioniert. Also können wir unser, sagen wir, unser Wert ist das, was wir tun wollen. Ja, lasst uns statt einer, hört auf diese Methode Sinus von i t wir bekommen jetzt bekommen Sie Sinuswelle, die sehr, sehr blockig eine sehr, sehr lange als auch, weil wir 500 Proben haben. Das wird also 500 sein und Link, weil ja, das wird immer eins sein. Also ja, das wollen wir definitiv nicht. Wir wollen einen Schritt machen. Ich meine, alle Beweise, die bereits vorhanden sind. Also lassen Sie uns sagen, mein Wert entspricht i mal Schritt. Und dann wollte ich tun, statt dies möchte ich Wert tun, was es ein bisschen kontrollierbarer und ein bisschen glatter macht , weil wir diese zusätzlichen Schritte haben. Anstatt dies nur eins zu sein, wird es 30 durch 500 geteilt werden. Und so können wir tatsächlich die Länge kontrollieren. Wenn wir das auf 20 setzen, wird es kleiner sein, aber es wird nicht wirklich die Häufigkeit ändern, die Sie verstecken würden oder irgendetwas. Und es ist tatsächlich enthalten IKT. Lassen Sie uns also unsere xy-Koordinaten mit der Höhe multiplizieren. Auf diese Weise, wenn Sie 33,55 tun, wird tatsächlich die Höhe beeinflussen. Lasst uns das auf drei setzen. Das gefällt mir irgendwie. Okay, also sieht es schon irgendwie aus. Vielleicht. Ich zeige Ihnen, welche Samples sehr schnell, um weniger Samples zu haben, Sie haben weniger Scheitelpunkte. Es ist also weniger Auflösung. 500 und glatt. Das läuft so schnell. 15. Echte Daten lesen: Ich Leute, in diesem Teil des Kurses werde ich darüber sprechen, in tatsächlichen Daten aus einer CSV-Datei zu lesen und es als geeignete 3D-Grafik 3D-Balkendiagramm anzuzeigen. Wir gehen Schritt für Schritt durch, lesen in Daten, zeigen sie schön. Und schließlich werden wir am Ende mit einer richtigen 3D-Balkendiagramme, wie Sie hier sehen. 16. Die Daten lesen: Na gut, Jungs. Ich habe gerade unser Gold gelöscht, um dieses Zeug zu erzeugen. Also werde ich es auch loswerden. Das hier, schauen wir, bevor er weg ist. Und ich beginne einfach frisch, wichtig BP, wie wir es gewohnt sind. Das ist auch wichtig. Csv, das Standardmodul für Python und Mixer ist. Ich habe gerade standardmäßig eingeschlossen, so dass wir keine andere Installation oder irgendetwas tun müssen. Ich lass uns nur kommt standardmäßig rein. Also vielleicht lasst uns schnell in unsere Konsole gehen und das auch dort ausführen, wo es eigentlich noch hier ist. Ich habe bereits eine kleine Aufnahme gemacht, die ich von vorne anfangen musste damit wir tatsächlich sehen können, was die Ausgabe war oder die sind, die kommen. So können Sie irgendwie sehen, einige andere Sachen hier könnte ein wenig abstrakt sein. Ich gehe einfach nicht rüber, um zu sehen, wie die beiden die CSV-Bibliothek laden. Wir werden es nur verwenden, um unsere Daten zu importieren. Die Hauptsache, die wir brauchen, ist ein Dateipfad. Dies wird das eigentliche Bad auf diesem über unsere CSV-Datei, die wir es lesen wollen. Also lasst uns diesen Kerl öffnen, brauchen nicht zu sehen, ist eigentlich ein kleiner Blick auf das, was Alcott hereinkommt. Aber wie Sie in die Balkendiagramme gehen, und das ist die eigentliche Datendatei. Und wir Relativisten haben das sehr schnell geöffnet. Damit ihr guckt, was drin ist. Wenn Sie nicht vertraut sind. Csv-Dateien, kommagetrennte Wertedatei ist im Grunde nur Werte durch Komas getrennt. Vielleicht, wenn ich Ihnen zeigen würde, wie Sie eine Textdatei hinzufügen oder wie in einem Editor. Es könnte ein bisschen klarer sein. Wieder, das ist nur die de Gama Stunden gearbeitet und dann können Sie einfach alle Daten hier unten sehen. Also im Wesentlichen am Freitag, den 4z sieben Stunden, das ist, was die Daten sagen. Also als einen kurzen Überblick darüber, was wir uns ansehen werden. Also, um den Dateipfad dieses Typen zu erhalten, können Sie einfach hier oben auf dem Explorer und kulturellen C klicken, all das. Das ist also d Verzeichnis und dann der Name der Datei. Wir werden einfach F2 tun, um Control a umbenennen, um alles und Control C auszuwählen . Stellen Sie sicher, dass Sie die Erweiterung dort haben, keine. Also haben Sie tatsächlich Tutorial dot CSV oder was auch immer Ihre Datei ist, dot csv. Und das ist eigentlich wichtig, weil sonst Mixer nicht in der Lage sein wird, es zu finden. Das sieht also aus wie ein gutes Bad. Eine Sache, die wir tun müssen, ist die Presse als Kunst I vor ihr. Dies liegt daran, dass wir umgekehrte Schrägstriche in unserer Zeichenfolge haben. Alles zwischen Anführungszeichen wird als Zeichenfolge und Programmierung bezeichnet. Und Python ist eigentlich, Sie müssen Python tatsächlich sagen, diese Backslashes nicht zu behandeln, weil Sie tatsächlich wie einen umgekehrten Schrägstrich n für einen umgekehrten Schrägstrich r tun , der wie Sonderzeichen ist nicht in die heute. Sie müssen nur sicherstellen, dass Sie entweder beste Kunst und Front oder entkommen jeden umgekehrten Schrägstrich mit einem anderen umgekehrten Schrägstrich. Also sind beide Fledermäuse gültig. Wenn du nur Beck Vorträge machen würdest, das nicht funktionieren und sie werden in der Lage sein, seinen Weg zu lösen. Also seien Sie sich dessen bewusst. Ich benutze einfach den ersten, weil er das Beste liest. Also gut, jetzt haben wir unseren Dateipfad deklariert. Wir müssen nur die tatsächlichen CSV-Daten auslesen , die in dieser Datei gespeichert sind. Also werde ich eine Variable erstellen, in der ich alle Daten speichern werde. Vielleicht werde ich nur Daten angerufen, vielleicht etwas sauberer. Und dann werden wir unsere Datei öffnen. Das ist also ein bisschen Python Code, ist nicht an Blender gebunden, dies ist nur allgemeiner Python-Code zum Öffnen einer Datei. Also mit Open und einem Pfad zur Datei, der Anspruch und wie die neue Zeile ein Punkt ist, der liest Materie als CSV-Datei sagt. In diesem Inneren können wir mit unserer Datei interagieren, indem wir die CSV-Dateivariable verwenden , die hier am besten ist. Mit, ich meine, das ist nur eine Möglichkeit, eine Datei zu öffnen und sie dann direkt zu schließen, wenn Sie mit der Programmierung vertraut sind. Wenn nicht, ist es wirklich, es ist wirklich egal. Dies ist kein Tutorial über Datei IO oder irgendetwas, also nimm einfach mein Wort darauf. Dann werden wir unseren CSV-Leser deklarieren und ihm unsere CSV-Datei als Eingabe geben. Was tatsächlich wird, werde ich nur zeigen, was das, was das zurückgibt, indem ich dies ausführe. Und ich verdopple unsere Konsole, weil das Drucken tatsächlich auf die Systemkonsole ausgedruckt wird, wie wir bereits gesagt haben. Und das Peris Kurskapitel, das gibt tatsächlich ein CSV-Reader-Objekt zurück, das nicht wirklich irgendetwas ist, mit dem wir arbeiten können, oder? Offensichtlich wird über unsere Leserergebnisse mieten müssen. Ein Leser ist also tatsächlich eine Liste von Zeilen. Was wir also tun können, ist, alle unsere Regeln innerhalb des Lesers zu durchlaufen und das dann in unser Wörterbuch, unser tatsächliches Ergebniswörterbuch, zu setzen . Und wieder, all das, was ich jetzt erkläre, ist sehr pythonisch. Gold. Das ist nicht, das hat nichts mit dem Mixer zu tun oder das hat nichts zu tun. Das ist nur nicht, bis sie alltägliche Entscheidungen, alle Arten von Dingen, um Daten aus einer CSV-Datei zu extrahieren. Sie können das online nachschlagen. Es gibt viele wie Stapelüberlauf-Antworten. Ich werde dir genau das geben. Ich werde einfach nicht zu viel Zeit damit verbringen , weil das wirklich nicht im Mittelpunkt von heute steht. Aber ja, mal sehen, was uns das gibt. Eigentlich. Lassen Sie uns dies zurück zu Daten ändern, weil tatsächlich Daten hier verwendet wurden. Lassen Sie uns Daten ausdrucken und sehen, was uns das gibt. Wir werden ein Wörterbuch bekommen. Unser erster Index wird also Tag und Stunden Arbeit sein. Also, das ist eigentlich die erste Reihe. Das ist also vielleicht im Vergleich zu Eingängen an der Ausgabe mit dem, was wir geschrieben haben. Also zuerst erhalten wir entweder eine Variable, die CSV-Typ ist, und dann können wir eine Schleife über, so dass wir über alle Zeilen in unseren Indizes iterieren können, die wir ablegen. Wenn wir also unsere CSV-Datei wieder öffnen würden, werde ich dieses Mal Excel verwenden, damit Sie die Zeilen wirklich deutlich sehen können. Sie können pro Zeile sehen. Vielleicht drucke ich die Länge davon aus. Die Länge des Lesers wird also im Wesentlichen die Menge an Roben sein , die alle haben, aber nicht wirklich die Arbeit erwartet haben. Lassen Sie mich das schnell zeigen. Ja, es hat nicht, dass es keine eigentliche Liste ist. Aus irgendeinem Grund können Sie darüber iterieren, aber es ist nicht wie ein Listentyp. Wie wir es vorher gesehen haben. Dies ist das CSV-Reader-Objekt. Es ist also ein bisschen anders, aber Sie können darüber schleifen, was das Wichtigste ist. So können Sie über alle Zeilen scrollen. Ich benutze die Enumerate-Funktion, um auch X zu können, da unser Index Sorta derzeit Ed als nächstes gestiegen ist. Auf diese Weise können wir tatsächlich einen einzigartigen Schlüssel haben. Dies liegt daran, wenn ich tun für Zeilenleser verwenden würde, und dann könnte ich meine Regel ausdrucken. Lass uns das für eine Sekunde machen. Führen Sie das aus. Sie können sehen, dass dies alle Zeilen sind, die in meinem Leser sind. Sie werden sehen, dass sie am Montag reserviert sind, oder? Also, wenn wir hier schauen, können wir nebeneinander setzen und wählen Sie eine vier, wenn z3. Das sind also die Daten und in ihren Zeilen. Also drucke ich für jede Zeile aus, was drinnen ist. Aber jetzt, wenn ich das habe, gibt es keinen eindeutigen Schlüssel, den ich habe. Denn das Problem mit Wörterbüchern ist, dass man nie zweimal einen Schlüssel haben kann. Also, wenn ich Daten sagen würde, und ich könnte Zeile 0 setzen, die der erste Index mit dieser Liste ist, die Montag oder Dienstag oder Mittwoch oder was auch immer sein wird. Also, wenn ich diesen Kerl nehmen würde und das gleich eins setzen würde, das sind die geleisteten Stunden. Also 84, drei. Dann hätte ich nur einen Eintrag für Montag, einen Eintrag für Dienstag und so weiter. Denn es wird ständig den vorherigen Eintrag innerhalb überschreiben. So bespreche ich, wie Wörterbücher in Python funktionieren. Das ist also etwas, das du dir bewusst sein musst. Ihr Schlüssel muss immer einzigartig sein. Denn wieder, wenn es findet, so, Sie sehen hier Montags acht mit diesem ist ein schlechtes Beispiel. Also Dienstag ist eins, aber es ist eigentlich, es gibt etwa vier Stunden oder sechs oder so viele. Es merkt sich nur die Liste, wählen Sie ein und die Zeilen. Um das zu beheben, müssen wir den Index verfolgen. Und wenn Sie dies tun möchten, ist dies kein Torus und Fehler, weil es nicht genug Werte für mpeg gibt. Oder eigentlich, es sagt es nicht wirklich spezifisch. Aber das ist nur etwas, was ich weiß. Sie müssen also Aufzählungen darüber tun, sorry, ich bekomme den tatsächlichen überwältigten Scheck, aber Sie erhalten auch den Index und sie können unseren Index verwenden, hat einen Schlüssel. Und dann können wir tatsächlich ein Wörterbuch innerhalb unseres Wörterbuchs erstellen , in dem unsere Daten gespeichert werden. Das wäre also das Label und das wäre der Wert für wie, wie habe ich es genannt. Das ist in Ordnung. Und dann werden wir sehen, dass wir einen Eintrag für jeden Tag haben, jeden Montag, Dienstag. Sie sind nicht überschrieben. Auf diese Weise können wir tatsächlich alle Daten extrahieren. Das ist also schon ein großes Stück Arbeit erledigt. Wir haben unsere Daten ordentlich in einem Wörterbuch und es ist bereit, durchgearbeitet zu werden. 17. Die Daten lesen: Hey Leute, ich werde schnell alles durchgehen. Wir können unsere Daten auch extrahieren, wenn es aus einer Textdatei kommt. So können Sie sehen, hier ist die CSV, die ein bisschen zu kompliziert für das, was wir zu erreichen versuchen. Jetzt. Im Wesentlichen sind die Daten die gleichen, sogar die Art, wie sie geschrieben werden, es ist die gleichen. Ich habe gerade die Erweiterung geändert, um Punkt TXT zu lesen. Wenn wir diese nebeneinander legen würden, würden wir sehen, dass es im Wesentlichen dasselbe ist. Aber das ist eine Punkt-TXT-Datei, die es ein wenig einfacher macht , mit zu arbeiten und mit zu interagieren. Also lasst uns Blender öffnen. Das ist nur eine leere Szene. Gehen wir zu unserem Scripting-Kampf. Größere neue Datei. Und dann wären Importe BHI, genau wie wir es gewohnt sind. Speichern Sie die Szene, so. Na gut, und wir sind bereit. Okay, das erste, was wir tun müssen, ist zu lokalisieren oder Datei, weil wir es in Mixer importieren wollen. Du musst wissen, wo es ist. Ich klicke hier einfach schnell rein. Das ist das gleiche Eigenkapital mit dem CSV, aber wenn du das Video nicht gesehen hast, werde ich das nochmal durchgehen. Also müssen wir das Verzeichnis kopieren. Klicken Sie also in den oberen Bereich des Explorers und die Leute sehen das. Kommen Sie hier rein und lassen Sie uns eine Variable namens Dateipfad einrichten und kopieren Sie diese dann. Und so weit, so gut. Kommen wir zurück hierher, holen Sie sich unseren tatsächlichen Dateinamen, stellen Sie sicher, dass Sie die Erweiterungen haben oder es ist nicht TXT. Du brauchst das Ganze das Ganze. Wir hatten alle SMS hier. Und ich kann einfach einen weiteren Backslash hinzufügen. Und basierend auf einem Dateinamen, Sache weniger, die wir tun müssen, um dies zu einem gültigen Pfad in Python zu machen , ist eine Bar kurz vor der Zeichenfolge. Es gibt einige Handhabung von OPEX-Vorlesungen , die Python standardmäßig macht und wir möchten nicht, dass es es jetzt tut. So können wir es einfach sagen, nicht, indem wir diese vor sich bringen. Das ist also wirklich wichtig. kannst du nicht vergessen. Alles klar, im Wesentlichen haben wir jetzt getan, dass wir die AAC-Datei gepackt haben, aber wir haben immer noch nichts damit gemacht. Also lasst es uns öffnen. Und ich habe es nicht einmal so gemacht. Mit geöffnetem Dateipfad möchten wir die Datei lesen. Also lasst uns hier r setzen, die Betrachtungsmodus ist. Und dann werden wir als TXT-Datei sagen. Also war es eigentlich schon fertig, jetzt öffnete unsere Datei. Und Sie denken, warum hat dies nicht innerhalb dieser Deklaration, so wird auf dieser Einrückungsebene auf die Datei zugreifen. Also, wenn wir hier drin sind, folgen wir offen, aber wann immer wir wieder hier sind, wird die Datei in der Nähe sein. Das ist also wirklich schön. Dies geschieht automatisch mit dieser Breite offenen Syntax. Der Mixer bietet, dass Bitcoin besser bietet. Okay, also sind wir an dieser Stelle in unserer Datei, weil mein Cursor eine Einrückung vom Anfang oder von dieser Breite ist. In der Akte. Und lassen Sie es uns vorerst ausdrucken. Also lassen Sie uns den Dateipfad Punkt ausdrucken, Zeilen lesen. Lassen Sie uns einfach alle Zeilen lesen und nur sehen, was das uns gibt, und klicken Sie einfach auf Ausführen. Es wird mir einen Fehler geben. Schauen wir uns das an, indem wir unsere Systemkonsole öffnen. So können wir tatsächlich sehen, was schreiben zu sagen. Es hat also kein Attributrelais. Okay, das liegt daran, wenn wir uns in unserer Textdatei befinden, müssen wir unsere DEX-Datei verwenden, wo wir unsere Dateibetten nicht verwenden können, weil unser Gefühl schlecht ist nur der Speicherort der Datei, Textdatei. Das ist das, was wir hier erklärt haben, ist eigentlich der Inhalt der Datei. Was auch immer es geöffnet ist, Sie müssen in diesem Beispiel als txt-Datei bezeichnet werden. Das war also nicht das, was ich tun wollte. Dies führt das aus, das funktionierte. Gehen wir zurück zu unserer Systemkonsole, weil es immer noch Druck muss auch ausgegeben werden, um die Systemkonsole Server müssen hier suchen. Und wir können sehen, dass wir jetzt alle unsere Linien hier drin haben. Das ist also im Wesentlichen eine Liste. Das ist also eine Sammlung von Zeilen. Readlines Funktion gibt als eine Sammlung von Zeilen. Und das können wir hier sehen. Es gibt diesen umgekehrten Schrägstrich n , der einer der, den umgekehrten Schrägstrich ist , über den ich hier gesprochen habe. Der umgekehrte Schrägstrich n sagt im Wesentlichen Ihre, Ihre Datei ist ein Eingabetaste, also ist dies ein neues Zeilenzeichen. Und wir wollen das nicht wirklich in unseren, in unseren Daten, damit wir das loswerden können. Also lassen Sie uns tatsächlich ein Wörterbuch erstellen, wie wir es zuvor getan haben. Das wird also sein, Ihre Daten werden ein leeres Wörterbuch wie so sein. So können Sie ein leeres Wörterbuch deklarieren. Es ist also im Wesentlichen dasselbe, wie dies zu sagen. Aber ich habe vorerst nur Arbeit eingegeben. Tut mir leid, mein Alarm. Okay, also haben wir ein leeres Wörterbuch. Lasst uns nun alle unsere Linien durchlaufen. Also haben wir X Anzahl von Zeilen. Wir wissen nie, wie viele Linsen oder haben wir diese Sammlung von Linien? So wie wir es mit den Objekten getan haben, können wir einfach über jede einzelne Zeile iterieren, die wir finden können. So vierzeilige TXT Datei Punkt lesen Zeilen. Das wird also unsere Sammlung von Linien über jede Linie sein. Eine Sache, die wir tun müssen, also lassen Sie mich einfach Linie drucken. Zur Veranschaulichung. Wir können sehen, dass wir diese haben, all diese Zeilen. Und jetzt beachte, dass dieser Backslash n Zeichen nicht mehr hier ist. Aber stattdessen haben wir diese Eingabe. Wir haben diese Linie dazwischen, die im Wesentlichen aus ist umgekehrter Schrägstrich. N Zeichen wird in Mischung in Python interpretiert, was wir natürlich nicht wollen. Also eine Sache, die wir tun könnten, ist, unseren Strip diesen Charakter aufzuzeichnen. Also, warum sind Strippen? Wir können im Wesentlichen alles von der rechten Seite unserer aktuellen Zeichenfolge entfernen. Also wäre meine Linie gleich. Wir sehen uns nächsten Montag, Schicksal. Und ich bin umgekehrter Schrägstrich n, indem wir unseren Streifen sagen, wir können tatsächlich von rechts beginnen und Sie können diesen umgekehrten Schrägstrich n. Also, was auch immer wir hier setzen, wird entfernt werden. Also werden wir das tatsächlich bekommen. Wenn wir das auf der Konsole ausdrucken würden, führen Sie unser Skript aus. Sie können jetzt sehen, dass die unsere betreten, unsere bekommen verschwinden. Dies ist also im Wesentlichen die Zeile, die wir in unserem Datenwörterbuch speichern möchten. Also lasst uns unsere Linie neu definieren. Stellen Sie es gleich der Zeile ohne diese Eingabe am Ende. Und dann können wir das tatsächlich in unserem Wörterbuch verwenden. Es gibt noch eine Sache, die wir tun müssen. Um zu sehen, wie die Wiederverwendung gestartet wurde, wurde jede Spalte bereits nach Zeichenfolge, durch die, durch die Funktion geteilt . Aber jetzt müssen wir das auch selbst machen. So können wir diese Zeile sehen, zum Beispiel, sagt Sonntag Komma fünf. Aber wir müssen das aufteilen. Also ist unser Tag Sonntag und unsere Arbeitszeit ist, ist fünf. Aber ab sofort ist dies nur eine Entität, dies ist eine Zeichenfolge. Also müssen wir das aufteilen. Um die Zeichenfolge zu teilen, können wir die Split-Funktion verwenden. Und es ist wirklich nicht so schwer. Es ist, das ist eine nette Sache mit Python. Es ist alles sehr lesbar und es ist nicht so abstrakt. Also könnten wir unseren Tag sagen. Dieser Zeilenpunkt wird geteilt und eine wird am Komma geteilt. Dies wird also im Wesentlichen eine Liste unserer, unserer Zeichenfolge zurückgeben , die wir es einer Zeile als String geben. Wir wollen dieses überfällige Koma aufteilen. Also werden wir nehmen, was vor dem Komma ist, was auch immer nach dem Komma ist. Und das wird im Grunde unsere Liste sein. Lassen Sie mich es Ihnen zeigen. Ich werde gerade den Tag drucken. Das wird nicht der eigentliche Tag sein. Dies wird nur die Liste sein, die über das Komma aufgeteilt wurde. Entschuldigung, das ist noch nicht meine Richtigkeit, also lasst uns das laufen. Und jetzt werden wir sehen, dass wir unseren Tag haben und unsere Stunden getrennt gearbeitet haben. Dies ist nun eine Liste mit 22 Elementen und so einer für jede Spalte. Da unsere Spalten mit diesem Komma geteilt werden. Also ist unser Tag eigentlich der erste. So können wir sagen, und als nächstes ist 0, weil wir immer mit Index 0 beginnen müssen. Und unsere geleisteten Arbeitsstunden wären Index eins. Das wird also bei allem sein, nachdem der Doppelpunkt alles vorher ist. Und das ist alles danach. Nun, natürlich, wenn es mehrere Kommas gäbe, gäbe es mehr als zwei Indizes in dieser Liste, weil das Verbreiten funktioniert. Es wird vor jedem Chroma gespalten. Aber da es nur einen gibt, wird nur haben, was vorher ist und was auch immer danach ist. Das ist genau das, was wir wollen. Was wäre, wenn wir zum Beispiel wissen könnten, würden sie Arbeitsstunden drucken und wir werden sehen, dass das genau das ist, was wir wollen. Also im Moment gibt es immer noch, wir wollen das immer noch nicht für jede Zeile hier. Dies ist nur eine Kopfzeile oder Beschriftung oder wie auch immer Sie es nennen möchten. Also eine Sache, die ich tun werde, werde ich die Aufzählungsfunktion wieder verwenden. Das ist also eine nette Art von Bytes und ermöglicht es uns, unseren aktuellen und nächsten Halt zu bekommen. Also, während wir uns über all unsere Linien schleifen. Und so, wie wir es vorher hatten. Also für Zeile in Datei, lesen Sie Länge, lesen Sie nur, greifen Sie unser liniertes Objekt. Drei greifen nur das tatsächliche String-Objekt, das in der Liste ist, dass wir nicht wissen, was der aktuelle Index oder die aktuelle Iteration ist, wir erhalten nur das Objekt. Aber durch die Verwendung der Enumerate-Funktion greifen wir unseren Index, also unsere aktuelle Iteration und auch online. Das ist also eigentlich viel mehr Pythonic, die wir auch für den Index im Bereich tun könnten und dann die Länge oder wie die Anzahl der Zeilen, die wir haben und dann liegen, wäre die Textdatei lesen Zeilen in ein. Variable auch, kann ein Hektar gerade Schwerkraft ausnutzen, dies könnte bereits ein bisschen verwirrend werden. Also lasst uns einfach auf diese Art zurückkommen, es zu lesen. Also verwenden Sie jetzt im Wesentlichen, indem Sie diese Aufzählungsfunktion und unsere Sammlung verwenden, wir haben diesen Index im Wesentlichen entsperrt, der in unserer for-Schleife abfragt werden kann. So können wir jetzt auch darauf zugreifen. So wie wir es vorher getan haben, nehmen wir unser Datenwörterbuch oder Schlüssel muss eindeutig sein, also werden wir den Index hier setzen, und dann werden wir unsere Daten hier gespeichert. Also nenne ich dies als tatsächlich bezeichnet, wie wir es vorerst einen Tag nennen, aber es ist etwas selbsterklärender. Und unsere Arbeit ist Arbeitsstunden. Und wenn wir hier unten Daten drucken würden, würden wir sehen, dass wir, na ja, wir haben immer noch, wir haben diese erste Zeile. Lassen Sie uns das jetzt loswerden, da wir den Spin-Index verwenden, können wir filtern. Also können wir sagen, ob mein Index größer als 0 ist. Also für die erste Zeile wird unser Index 0 sein, da dies die erste Iteration sein wird und wir immer bei 0 beginnen. Das wird also ein Blick hier sein. Und 0 wird diese Zeile sein. Also wollen wir es nicht sein, wir werden diese Linie im Grunde ignorieren. Also, wann immer es ist, ist mein Index mehr als 0. Also, wann immer wir hier sind, oder wo auch immer, werden wir wirklich tun, was wir wollten. Aber davor, überspringen Sie es einfach. Im Wesentlichen. Deshalb setzen wir diese if-Anweisung, diese Filterung ganz oben. Weil du dich nicht mal ausziehen willst. Wir wollen nicht einmal die Mühe machen, wenn es die erste Zeile ist, gehen Sie einfach auf dieses Kontinuum. Es spielt keine Rolle. Wenn Sie dies auf unserer Konsole ausdrucken. Wir werden sehen, dass es bei einem beginnt. Und dann haben wir nur all unsere Tage und über Stunden gearbeitet. Okay, also lass mich dir vielleicht schnell zeigen , wie das aussehen würde, wenn wir unseren Index hier nicht benutzen würden, denn das ist eine Fallstricke oder ein Wörterbuch, dass du River sein musst. Nehmen wir also an, wir setzen unseren Tag hier rein und dann würden wir das gleich setzen, aber immer, dass wir gearbeitet haben. Es sieht nur ein bisschen hübsche Array-Liste aus, die einfach funktionieren könnte. Also lassen Sie uns das ausführen. Und jetzt, wie Sie sehen, haben wir hier nur sieben Einträge. Wir haben nur einen Eintrag pro Tag. Und das liegt daran, dass ein Wörterbuchschlüssel nie sein kann, jemals zweimal dort drin sein kann. Es wird immer nur den vorherigen Wörterbuchschlüssel überschreiben. Sagen wir, wir hatten Montag, also haben wir acht eingelegt. Ok, das ist alles sehr gut. Aber dann haben wir Montag wieder und dann wird er es einfach mit einem überschreiben. Wenn Sie also genau hinsehen, werden Sie sehen, dass diese Linie im Wesentlichen nur eine letzte Woche ist, die der Sünder nicht hört. Also Sonntag bis Samstag sechs, also geht es irgendwie zurück und es überschreibt alles, was wir drin haben. Das ist also nicht gut. Wenn Sie also Daten haben, die hier dupliziert sind, meine ich, wenn das Label dupliziert ist oder, oder wenn eine Spalte dupliziert ist, können Sie diese Spalte nicht als Schlüssel oder Wörterbuch verwenden, weil Sie Daten verlieren. Sie werden, Sie bleiben nur der letzte, desto weniger Einträge. Das ist also nicht das, was wir wollen. Also verwenden wir unseren Index, der eindeutig sein wird, weil es nur die aktuelle Iteration der Zeile ist. Das ist also im Grunde die Zeilennummer. Also benutze ich das stattdessen. Und das wird nur ein Wörterbuch innerhalb erstellen und unsere Daten hier speichern. Also verlieren wir eigentlich gar nichts. Wird das ausführen. Obwohl wir alle unsere Daten sauber und das gleiche Format wie wir hatten, als wir früher als V-Bibliothek zu sehen. 18. Das Balkendiagramm erstellen: Okay, jetzt, da wir unsere Daten haben, lassen Sie mich das wirklich schnell auf die gleiche Art und Weise umbenennen , wie Sie auf der CSV-Seite Gewohnheiten sortieren. Es ist wirklich Etikett und Wert. Wenn du das Video nicht ausgecheckt hast, habe ich das getan. Ich habe ein bisschen mehr erklärt, wie Sie das Öffnen von Dateien möchten und der Dateipfad und das Zeug funktionieren. Also, wenn Sie wissen, dass das für Sie noch ein bisschen unklar ist, können Sie vielleicht gehen, um dieses Video auch zu überprüfen. Einige weitere Informationen zur Enumeration. Es ist also nicht schlecht, um zu überprüfen. Aber sobald Sie hier sind und Ihre Daten gedruckt sind, sind Sie bereit, zum nächsten Schritt zu gehen, tatsächlich die Daten visualisiert, denn deshalb sind wir hier, richtig? Möchten Sie unser 3D Balkendiagramm erstellen? Nein, es Mixer. Das ist es, was wir jetzt tun müssen. Vielleicht schreiben wir zuerst unseren kleinen Bereinigungsteil , den wir für die letzten paar Skripte gemacht haben, weil wir nicht hineingehen und die gesamte Geometrie entfernen wollen, oder ich werde jedes Mal Objekte sein , weil Sie müssen ab jetzt bei jeder Iteration Würfel und Sachen erstellen, jedes Mal, wenn wir das Skript ausführen und wir wollen nicht immer in den Blickpunkt gehen und wir alles entfernen. Also sollten Sie sich daran erinnern, dass es mittlerweile ist. Also für jedes Objekt in BPI Punktdaten Punktobjekte, so dass alle Objekte eine Sammlung von Objekten sind. Und lassen Sie uns alle einzeln übergehen. Und dann werden wir jedes Objekt individuell. Also führen wir das durch, alles ist weg. Maschen könnten immer noch hier sein. Das ist also, was wir vorher in unserem und unserem Zeichenkurs oder Mathe-Kurs gesehen haben. Vielleicht schreibe ich es hier nicht. Also, wenn Sie es loswerden wollen, ist dies eine gute Übung für Sie Jungs versucht, versucht, sich daran zu erinnern, wie es zu tun. Es ist sehr ähnlich zu dem, was wir hier geschrieben haben. Beachten Sie, dass wir nicht möchten, dass er Objekte verschiebt, aber wir möchten, dass Netze entfernt werden. Und das sollte ein guter Hinweis für die Jungs sein, die das zu Hause ausprobieren wollen. Also werde ich zu diesem Zeitpunkt nicht darauf eingehen. Also lasst uns eigentlich ein bisschen. Nehmen wir an, der Datentyp ist hier. Säuberung geschieht hier. Und jetzt machen und visualisieren wir alle Daten. In Ordnung, cool. Im Wesentlichen wollen wir für jeden Index, für jede Zeile oder jedes Bit von Daten, die wir haben, einen Balken erstellen. Was wir also tun wollen, ist über alle unsere Dateneinträge zu gehen. Wir könnten tun, ist, dass wir für die Dateneingabe und Daten tun. Lassen Sie uns das ausdrucken. Lassen Sie uns die Dateneingabe ausdrucken. Sieh mal, was wir bekommen. Wir bekommen Schritt für Schritt. Sie erhalten alle unsere Indizes, was jetzt im Wesentlichen das ist, was wir wollen. Aber wir könnten dies nutzen, um unsere Daten über mich auf einem HLOOKUP, unserer aktuellen Dateneingabe in unserem Datenwörterbuch, zu erfassen . Wenn wir das ausführen würden, würden wir sehen, was wir sehen wollen. Das wären also unsere Daten. Lassen Sie mich eine Textdatei öffnen, damit es schneller ist. Also würden Sie Zeilen sehen. Aber dann in Blender und Bison. So weit so gut. Und wir werden starten, tut mir leid. Okay, sollten wir so bekommen, dass wir unsere Daten haben, schleifen wir uns über seine Geschichte oder überprüfen jede Dateneingabe einzeln. Und im Wesentlichen, was wir jetzt tun wollen, ist, dass wir ein Geld schaffen wollen. Um dies zu tun, erstellen wir einfach einen Würfel schnell, um sicherzustellen, dass wir wissen, wie das funktioniert, weil wir immer wieder vergessen. Dies ist ein einfacher Cue. Nun, die Sache ist, ich möchte die Größe ändern, um es zu machen, um die Höhe b zum aktuellen Wert oder dem aktuellen zu machen, die Anzahl der Stunden, die wir gearbeitet haben. Also, um das zu tun, Alex, aber um auf eins zu skalieren, weil ich am Ende mit der Größenänderung beginnen werde. Und ich möchte es einfach mit eins multiplizieren, damit es ein bisschen besser ist. Sie haben es also nicht doppelt so lange, wie es aufgelöst werden sollte , bevor sie diesen in den Bearbeitungsmodus wechseln können. Und der Standort wird sich auch ändern müssen. Wir wollen also nicht nur, dass sich all diese Balken überlappen. Also lasst uns sie einfach in die y-Richtung bringen. Es heißt also, wir verwenden eine Größe von Eins. Unsere Breite oder der Würfel wird zu jeder Zeit eins sein und sind Index oder Stunde. Die Iteration wird auch mit einem inkrementiert. Also lassen Sie uns wieder die Enumerate-Funktion verwenden, die ich die ganze Zeit verwende. Also, um noch einmal zu wiederholen, die Aufzählung. Verwendung von Aufzählungen, bevor unsere Sammlung entsperrt, unser Index, entsperrt unsere aktuelle Iteration. Also, warum wir nur, für die Dateneingabe oder für Artikel in Daten, wir nur überschüssige oder Artikel, die Sie drucken können. Artikel, das ist in Ordnung. Aber es gibt keine Möglichkeit, den Überblick darüber zu behalten, welche Iterationsbahn oder wie oft wir diese Schleife bereits ausgeführt haben. Wir könnten natürlich eine Variable i gleich 0 setzen und nur ich gleich ist, gleich eins jedes Mal in unserer Schleife. Aber das ist sehr nicht pythonisch. Python bietet diese Funktionalität standardmäßig an, indem Sie einfach enumerate hier setzen. Also entsperren Sie unsere idx, unseren Index, und stellen Sie sicher, dass Sie diese Bestellung korrekt eingerichtet haben, so dass es zuerst Index und dann den tatsächlichen Artikel ist. Das ist also ein wichtiges zu beachten. Also haben wir jetzt unseren Index. Also könnten Sie das genauso gut wie unsere y-Koordinate setzen. Bei der ersten Iteration wird unser Index also 0 sein. Also unser y Index r, y Koordinate wird eins sein, wird 0 sein. Tut mir leid, lassen Sie mich wirklich illustrieren. Also unsere y-Koordinate bis v 0. Und unser nächster Würfel, oder die nächste Iteration oder IV, x wird eins sein und unsere y-Koordinaten werden eins sein. Und das geht einfach weiter. Also haben wir 2345 und so weiter. Auf diese Weise können wir wirklich einfach nur aufstellen oder Würfel. Da wir wissen, dass die Länge immer eins sein wird. Und das wird immer mit einem inkrementieren. Also, das funktioniert gut. Okay, jetzt sieht es schon aus wie ein Balkendiagramm, aber es ist nicht wirklich interessant, es ist alles gleich. Also müssen wir die skalieren. Also lassen Sie es uns wieder manuell tun, um sicherzustellen, dass wir wissen, wie das geht. Und ich fing an, hier unten das Kommando zu stehlen. So können wir es einfach ändern, den Wert, was auch immer. Also sollte das eigentlich nicht zehn sein, oder? Es sollte unser tatsächlicher Wert sein. Es ist absolut Liebe. Das sollte zwei oder sechs sein. Um diesen Wert zu erhalten, müssen wir unser aktuelles Dateneingabe- und Datenwörterbuch nachschlagen. Und dann werden wir es immer noch nicht haben, lassen Sie mich Ihnen zeigen, was wir haben, wenn wir das tun. Also jetzt haben wir nur die Venture-Cubes, aber das ist unser Wert. Und wir wollen das nicht nur richtig. Wir wollen unseren Wert innerhalb unserer Dateneingabe nachschlagen. Also müssen wir eigentlich zweimal nachschlagen, weil wir hier ein Wörterbuch in einem Wörterbuch haben . Also müssen wir es nochmal nachschlagen. Also durch die Verwendung dieser Klammern und dann wollen wir Werte eingeben. Und das ist der Schlüssel, den wir verwendet haben, um unsere Daten zu speichern, unsere Arbeitsstunden. Also, wenn wir dies verwenden, werden wir sehen, dass unser Wert tatsächlich unser Wert ist. Jetzt, wo wir es haben, können wir es anstelle von R platzieren, dann wird es dynamisch, aber es hört auf zu arbeiten. Schauen wir uns das an. Erwartetes Sequenzelement vom Typ float, nicht string. Okay, also drucken wir das aus. Das sieht aus wie Zahlen. Alles klar, das sieht aus, aber im Wesentlichen, was DEX-Dateien oder CSV-Dateien auch tun, ist, dass sie erraten, welchen Wert es zwei String findet. Anstatt vorwärts zu speichern, wird es tatsächlich eine Zeichenfolgendarstellung oder für dasselbe mit jedem anderen Datentyp gespeichert. Nehmen wir an, Sie haben eine Liste von Zahlen. Also, das sind 123. Es wird dies tatsächlich nur in Anführungszeichen umschließen und in eine Zeichenfolge verwandeln. Du wirst es also nicht wirklich haben. Sie können es nicht als Liste verwenden. Du hättest es zuerst auf eine Liste erraten. Also, das ist etwas, das man im Auge behalten muss. Aber wir wissen, dass dies immer ein Float sein wird weil wir eine gewisse Kontrolle über unsere Daten haben. So können wir es einfach explizit in einen Float umwandeln. So wird dies, während Ihrer Nummer in einen Float. Jetzt musst du dir bewusst sein. Also im Wesentlichen, was wir jetzt haben, so Wert ist eine Zeichenfolge, die vier ist. Also, wenn Sie Wert drucken oder vielleicht einfach so drucken, würde es aussehen. Als wäre es ein Wert für einen Float. Aber wenn wir, sagen wir, wir tun Wert plus drei, würde das nicht funktionieren, wie Sie sehen, kann dann String mit String verkettet werden. Unser Wert ist also eine Zeichenfolge. Immer noch. Wir sollten dies explizit n-Typ tun, den Typ unseres Wertes erhalten. Das wäre ein Schwimmer. Also, um das zu ändern, können wir sagen, Wert gleich Float-Darstellung des R-Wertes. Wir würden sehen, dass unser Wert vom Typ float ist. Und wenn wir jetzt zu 3-2 wären, es, das würde funktionieren. Aber es gibt eine Sache, die Sie beachten müssen. Nehmen wir also an, mein Wert ist string, eine tatsächliche Zeichenfolge. Ob dies also eine Reihe von vier oder eine Reihe von Tests ist, das ist dasselbe, wenn ich tippen würde, um den Typ nachzuschlagen. Also B String, sagen wir, mein Wert entspricht Schreibtischen. Dieser Wert ist, es ist immer noch eine Zeichenfolge, er weiß nicht was, was es drin ist. Jetzt wissen wir, dass vier ein ist, ist ein Schwimmer, so können wir es zu einem Schwimmer erraten. Aber lassen Sie uns sagen, unser Wert entspricht Schicksal oder versuchen, versuchen Sie, dies zu einem Schwimmer zu erraten. Das wird nicht funktionieren. String konnte nicht in Float-Test konvertiert werden, da dies kein ist, dies ist keine Zahl, es wird nicht funktionieren. Also, was wir hier tun, wie wir erraten, über Wasser zu gehen, aber sagen wir, unser Wert ist eigentlich nicht, es kann nicht in Float umgewandelt werden. Das ist, das wird unser Programm zum Absturz bringen. Das ist also etwas, worüber du vorsichtig sein musst. Jetzt wissen wir, dass das alles Zahlen sein wird, oder das ist in Ordnung. Aber bedenken Sie das. Dass Sie nicht einfach alles rücksichtslos ins Schweben werfen sollten , weil das vielleicht nicht immer funktioniert. Aber in unserem Beispiel wird das immer funktionieren. Also lassen Sie uns das tun und wir sehen, dass unsere Bars die richtige Größe haben. Nun noch eine Sache zu beachten ist, dass diese Art von sieht aus wie eine Schallwelle oder etwas, das nicht wirklich das ist, was wir wollen. Wir wollen, dass sie alle flach auf dem Boden sind. Also müssen Sie sie einzeln nach oben bewegen. Und wie Sie sehen können, skaliert es es von der Mitte aus. So wird die Hälfte der, die Hälfte davon unter 0,5 davon sein wird, wird über 0 sein. Also im Grunde, was wir tun müssen, ist, dass wir es nur um die Hälfte der Höhe bewegen müssen. Dieser Wert ist also eine Höhe, ändert sich zu ICT. Das wäre also die Höhe und dann wäre dies die Höhe geteilt durch zwei. Also, wenn Sie das laufen würden, können wir sehen, dass alles richtig ausgerichtet ist. Wir haben keine Anfragen, die Sie wollen, lassen Sie mich vielleicht, dass sie in diesem, in den Daten, ich änderte dies auf 19. Das sind Lehrer zurück nach unten. Es sieht also ein bisschen besser aus. Und da gehst du. Jetzt habe ich ein Balkendiagramm, dass es ein tatsächliches 3D-Bardiagramm gibt, nicht wie jemand Wort Betrüger versuchen zu erreichen. So können Sie darauf aufbauen, natürlich könnten Sie auch dieses Lesen von Daten aus einer Textdatei verwenden und ein Stadtbild oder etwas im Hintergrund erstellen, um zu erhalten, nur einige Zahlen zu erhalten und dann einige Gebäude zu bekommen. Aber vorerst ist dies nur ein Balkendiagramm. Es sagt nicht so viel aus. Wir können vielleicht einige Etikettierung hinzufügen oder ein paar andere Dinge, die Kinder tun, wie wir dies in unserem Wörterbuch einrichten. Wir wissen eigentlich, was unser Label ist, oder? Also könnten wir das genauso gut verwenden, das ausdrucken oder das speichern. Das funktioniert also. Also könnten wir es vielleicht so haben, als ob wir hier auf den Boden legen. Also versuchen Sie das vielleicht. 19. Etiketten hinzufügen: Also, jetzt, da wir Zugang zu unserem Etikett hier haben, lassen Sie mich das vielleicht schnell ausdrucken und sicherstellen, dass es genau das ist, was wir sein wollten. Das sind also nur ein Tag. Lassen Sie uns das auch in unsere 3D einfügen. Also wollen wir nicht nur in unsere Konsole schauen müssen, oder? Das ist also, was es ist. Alle 3D. Vielleicht sollten wir einen Text dafür erstellen. Ich denke, das ist der beste Weg, dies zu repräsentieren. Also zwingt mich nicht, dies zuerst manuell zu tun, um sicherzustellen, wie das funktionieren würde. Ok? Also, was haben wir getan? Wir fügen es hinzu. Wir haben gelöscht, und dann gingen wir zurück. In Ordnung, also bedeutet das, Daten zu nutzen. Eigentlich werde ich das hier auch hinlegen. Das ist also für die Bar. Und dann werden wir die Bar hier unten beschriften. Wie unser Label ist dies. Sie möchten Text hinzufügen. Also dasselbe, sieht das irgendwie ähnlich aus, oder? Also statt primitiven Würfel an diesem wird Decks hinzufügen, eingeben, Bearbeitungsmodus gleich false. Ich denke, wir wollen, dass das passiert. Unser Standort kann die gleiche wie die als r Würfel sein. Wir können das und Eier nicht kompensieren. Das ist also um 1.2 versetzt, sollte eine statische sein, weil wir wissen, dass es tatsächlich nicht ist. Also wissen wir, dass dies eins ist, also ist diese Größe eins. Und wir können die Linien sehen, die es bereits in der Mitte. Also müssen wir es nicht um 1,2 tun. Wir können es um 0,6 Uhr tun. Also wird dieser Abstand von hier nach hier 0,05 sein und wir würden es nur ein bisschen weiter wollen. Also lasst uns das machen. Lass uns vielleicht schon sehen, wie das aussieht. Also sollten wir hier einen Haufen Text haben. Und wir sollten es ein wenig zurückschieben auf die, auf das y. Denn ich sehe schon richtet es als gut aus. Doch richtet es bereits so aus. Aber unser Q ging tatsächlich in beide Richtungen. Wenn wir das tun sollten, sollte es ein bisschen besser aussehen. Wir gehen weiter in den Bearbeitungsmodus, was normal ist, weil das ist, was wir sagen, es zu tun. Also lasst uns jetzt eigentlich schon editiert. Also müssen wir zuerst den Text loswerden, der da ist. Also machen wir das einfach. Eine Sache, die wir hier tun müssen, ist anstelle von vorherigen oder Auswahl, oder es wird, um dies zu vorherigen Wort ändern müssen. Weil wir, wir könnten das auch nur fünfmal tun , wie wir hier getan haben, wird die Rücktaste fünfmal B gedrückt . Auf diese Weise werden wir eigentlich nur die ganze Welt entfernt, entfernt alle Worte, weil ein bisschen einfacher. Und dann lassen Sie uns tatsächlich unsere Texte einfügen, die wir wollen. So Text einfügen Text erinnert sich früh. Also wollen wir es mir leid, Mann, Open. Golfen alle Zeiten hat wirklich nervig. Und wir werden versuchen, es nicht mehr zu tun. Aber so richten wir im Grunde unser Label und den Text ein und dann wollen wir einfach aus dem Bearbeitungsmodus kommen. Also lassen Sie mich das kopieren. Oh, tut mir leid, wir sind bereit für den nächsten. Also, was wir jetzt tun, ist, dass wir unser Label nachschlagen. Hier erstellen wir ein bisschen Text. Wir werden die loswerden, der Beispieltext. Das ist also ein Stapel. Das wollen wir nicht. Wir geben unseren Etikettentext ein, den wir wollen. Also unser Tag Und ich werde einfach zurück in den Zwei-LLC-Modus gehen. Also, wenn wir das ausführen, können wir sehen, dass wir unseren Tag haben. Sieht nett aus. Vielleicht eine Sache, die wir tun könnten, denn das ist gerade jetzt flach. Es gibt eine extrovertierte, vielleicht ist es wie eine Abschrägung oder so. So komplexes Objekt, das aktuelle Objekt Punktdaten sein wird. Aber um die 0.01 zu besitzen. Sehen Sie, wie das aussieht. Und jetzt haben wir zumindest eine gewisse Dicke. Wenn wir also vergleichen, wenn wir das nicht tun, ist es flach, tun Sie es. Wir haben etwas Robin ist es ziemlich dünn. Skalieren Sie es auf Z. So trocken, dass es vielleicht schon ist, aber ich denke, das ist in Ordnung, weil es mit der Schattierung viel besser aussieht weil Luft wie tatsächliche Geometrie ist, weil das nur, Nun, das ist schon mit der Abschrägung, aber es ist wie ziemlich flach. Damit haben wir ein bisschen mehr Dreidimensionalität. Ich würde sagen, nun, das ist alles nur persönliche Vorliebe, oder? Ich werde es um zwei skalieren, es einfach doppelt so dick machen, wie es sein sollte, wie es vorher war. Damit wir es so haben können. Übertreiben Sie, um Ihnen zu zeigen, dass sie im Grunde die Dicke ist. Ok. Ich werde das auch in die Variable einfügen um es hübsch zu machen, damit wir nicht alle diese magischen Zahlen haben. Ich bin eigentlich ein paar von ihnen. Also hat unsere Dicke das gesetzt, um diesen Kerl hier Ebene zu lassen , das wäre 0,01. Wir haben auch Text, der 0,6 sein wird. Also übersetze ich im Grunde nur all diese Werte, Variablen. Wenn wir das lesen, sind es nicht nur magische Zahlen und wir können diesen zentralen Ort haben , wo wir diese Werte anpassen. Es gibt also nichts mehr. Ich meine, das war 0.05. Weil wir einen hier haben. Ich meine, ich kann das hier einlassen. Also nehme ich jetzt lassen Sie uns bekommen, Sie wollen in der Regel nur vermeiden, Zahlen in Ihrem, in diesen schönen Funktionen zu haben. Sie wollen nur, dass es x ist, weil Sie dann immer suchen müssen , wo diese Werte in IA sind, das ist unsere y setzen die Dicke. Also muss ich mir hier den zed-Wert ansehen. Jetzt können Sie es einfach x Dicke nennen. Boom, um es dort zu ändern. Es ist viel bequemer. Okay, jetzt haben wir eine plötzliche Etikettierung. Das sieht schon ganz schön aus. Vielleicht können wir auch eine Beschriftung auf der zed-Achse haben. 21. die Zecken markieren: Okay, also haben wir unser dickes Silizium, okay, der Ersatz gibt den Daten etwas mehr Bedeutung, aber nicht wirklich so viel. Das ist einfach eine visuelle Sache. Also jetzt werden wir auch hier unsere zusätzlichen Informationen hinzufügen. Also werden wir die Zahl setzen oder die Ticks sind neben, zu nehmen, so dass sie ein wenig mehr sagen und dann verwenden, wo die. Also, dafür werden wir im Grunde dasselbe tun, wie wir es mit unserer Kennzeichnung hier unten getan haben. Also werden wir nur ein bisschen Text in eine Zeile setzen, die angemessen ist, stellen Sie sicher, dass die Position richtig ist. Ja, also wie sollen wir es machen, ist, das einfach zu kopieren und dann nur so Werte zu ändern. Also vielleicht die Lage, die sie verpassen können und die Größe ist eigentlich in Ordnung. Also werde ich mich nicht mit dem ganzen Zeug hier anlegen. Die tatsächliche Steuer wird natürlich an einem anderen Ort anders sein. Also für den Anfang, kann ich tatsächlich den Standort unseres Schwanzes kopieren. Ich habe das hier reingesteckt. Und dann der Text werde ich nur 0 für jetzt nur als Dummy machen, um zu sehen, wie das funktioniert. Und wir sehen unsere Texte bereits als grob am richtigen Ort positioniert. Nun, wenigstens rühren es passt zu einem dicken, aber es ist nicht wirklich richtig ausgerichtet. Also müssen wir das ein bisschen nach oben schieben. In unserer Lage zed Wert, oder der aktuelle Wert wird ein wenig größer sein müssen. Hier müssen wir durch die dicke Dicke geteilt durch zwei, um es auf der Oberseite zu setzen. Und dann hat unsere tatsächliche Zahl auch Dicke, oder Sie müssen das auch hinzufügen. So wird dies unsere Fase, die mal r Dicke sein. Also lasst uns das auch tun. Und so möchten Sie eine ziemlich große sein, also erstellen Sie vielleicht eine Variable dafür. Also Nummer, nicht sicher, dass dies ein richtiger Weg ist. Nummer, weil sie nicht schauen sollten, um x zu setzen, nennen wir es einfach so für jetzt. Also werden wir auch hier eingestellt haben. Nur damit es klappt. Es wird alle unsere Berechnungen hier machen. Also nehmen wir den aktuellen Wert, der die Mitte dieses Blocks ist, wird die dicke Dicke hinzufügen. So wird die Hälfte davon genommen, um es gedacht. Und dann werden wir auch unseren Kampf hinzufügen , dass, wenn ich dieses Niveau der Tiefe mal Texte Dicke als K hier finden kann. Und das ist ein Bissen voll, nur um sicherzustellen, dass es ausgerichtet ist. Also lassen Sie mich es Ihnen zeigen. Und ich war perfekt auf der Arktis für jede, jede Zecke. Das klappt also gut. Jetzt müssen wir noch etwas tun, ist, dass wir es drehen müssen. Also, das wird um z und dann um y. Also, wenn ich unser Set 90 oder 90 machen oder es hochziehen würde, könnte ich einfach diese Typen hier unten kopieren. Also, nachdem Sie das getan haben, ist es nicht wirklich wichtig, wo wir das hinstellen. Also wollen wir es herum machen, tun das, und dann um das y herum. Also für die Ausführung, werden sie alle sein. Stehen, wo sie Schüssel sein sollte. Also haben wir bereits eine Nummer auf Ticks. Das ist also nicht schlecht. Jetzt müssen wir nur sicherstellen, dass es um eine zu korrigieren ist. Also im Grunde, was wir tun wollen, ist, dass wir einfach das, was auch immer an Position ist, es ist als ein, als Wert hier setzen was auch immer an Position ist, es ist als ein, wollen. Also werden wir nur aktuellen Wert nehmen und das hier setzen. Jetzt wird das nicht funktionieren, weil unser derzeitiger Wert ein Float sein wird. Es sagt, tatsächlich muss eine Zahl sein, aber wir brauchen einen String-Typ. Anstatt zu sagen, ich gehe einfach hierher und die Konsole ist schnell zu veranschaulichen. Anstatt zu sagen, dass mein Text 40 entspricht, was heißt, Sie möchten an dieser Stelle ein Float oder eine Ganzzahl sein. Aber das ist keine direkte, weil wir explizit eine Zeichenfolge benötigen. So können Sie hier sehen, erwartet diese Zeichenfolge. Wenn wir also schauen, ist unser Typ keine Zeichenfolge, also ist es falsch. Und wenn wir dies tun und dann tippen, den Typ holen, würden wir sehen, dass es eine Zeichenfolge ist, so dass alles, was zwischen Anführungszeichen ist, immer vom Typ String sein wird. Das ist wichtig zu beachten. Also, nun, wir können nicht einfach Anführungszeichen um diese herum greifen weil sein aktueller Wert tatsächlich auf den Wert verweist. Wenn du das tun würdest, würden wir hier nur das Wort aktueller Wert sehen, weil wir das nicht tun wollen, richtig? Sie möchten also tatsächlich den Wert erraten, der sich innerhalb des aktuellen Werts der Variablen befindet. Wir wollen das als nächstes anzeigen. Eine Möglichkeit, dies zu tun, ist SDR und dann der Wert. Also, wenn ich x setzen würde oder sagen wir, der aktuelle Wert gleich 40 ist 0.02 reif, es ist ein Float. Und dann geben wir ein, wo Sie den Typ des Wertes erhalten. Das wird also schweben. Richtig? Nun, wenn Sie es in eine Schnur werfen, können Sie sehen, dass die Ernte um sie gewickelt werden. Wir müssen das nicht tun, wir müssen das nur schreiben. Und lassen Sie uns es tatsächlich zu seinem aktuellen Wert neu zuweisen entspricht der Zeichenfolgendarstellung. Und dann, wenn du es austippen würdest, damit wir sehen können, dass dies jetzt eine Zeichenfolge ist. Also STR Klammern, genau wie wir es mit dem Float getan haben, etwas höher oben. Also jeder Gast, was auch immer hier drin ist, zu einem Gleitkommawert, werden wir dasselbe mit einer Zeichenfolge tun. Also hier werden wir es nur in eine Schnur werfen. Und wenn wir das tun würden, würden wir tatsächlich dorthin kommen. Das sind sie. Jetzt ist die Ausrichtung noch ein bisschen aus, so dass Sie sehen können, dass sie tatsächlich nach links ausgerichtet wird. Sie werden es nach rechts ausrichten wollen. So können wir einfach die Größe davon bekommen. Das sind nun drei Zeichen und das sind vier Zeichen. Der Offset wird also etwas anders sein. Also lassen Sie uns hier tatsächlich eine Variable hinzufügen und es ist ein Wert als String oder SSD-Speicher dort. Da eine zusätzliche Sache, die wir jetzt tun können, wenn wir hierher zurückkommen, ist der aktuelle Wert hier vom Typ string. Und jetzt können wir tatsächlich abfragen, um zu verlängern. So wird die Länge vier sein. Das bedeutet, dass es vier Charaktere in der aktuellen und Distrikt gab. So ein 1234, kann es sogar den Index von u1 bekommen. Also aktueller Wert 0, dies hat einen Bericht. Der erste Index wird 0,23 sein und wir sehen uns nächstes Jahr. Dies hat vier Zeichen, um danach abzufragen. Es wird nicht funktionieren, weil der Index nicht existiert, weil es nur vier gibt und wir bei 0 beginnen, also ist es 0 oder eins bis drei. Also, dass wir aus dem Weg, haben wir ein paar Zeichen und wir wollen es im Grunde entsprechend aussetzen. Also hier ist jeder Satz dick Offset, wir wollen entweder hinzufügen oder wir wollen es hinzufügen, aber wir wollen nicht immer den gleichen Betrag hinzufügen. Also, was wir hier tun wollen, ist, dass wir die Länge unseres aktuellen Wertes mal einen bestimmten Buchstaben mit Variable hinzufügen wollen. Also lassen Sie uns diese eine Buchstabenbreite zuweisen. Und ich werde das als eins schätzen. Und mal sehen, was wir bekommen. Jetzt. Nicht, was du willst. Das ist also der einzige Grund. Also denke ich, das ist ein bisschen zu viel. Und das könnte negativ sein, weil Sie in die entgegengesetzte Richtung gehen. Also schauen wir mal, was wir jetzt haben. Ja, das ist definitiv kein einziges Streifenfeuer, noch ihr Ego. Da wir also nur eine Standardgröße dieses Textes verwenden, können wir einfach, es wird eins sein, also können wir die Hälfte davon nehmen und es wird die einzelne Buchstabengröße sein. Das sieht also gut aus. Und dann lasst uns vielleicht. Das ist nun eine Linie auf der rechten Seite. Und das ist vielleicht nur, um gegenüber zu ticken. Zu sein. Ich werde es immer noch sein, Dürfte ich dachte, sie werden relativ zu Haustier sein. Also im Grunde, was wir tun wollen, ist, sitzen durch zwei geteilt, getrennt, ein bisschen weniger weit weg. Das ist nicht so Bertier. Also ja, es kommt nur auf persönliche Vorlieben. Wieder, ich finde nur irgendwie heraus, wo ich das hinstellen soll. Vielleicht will ich noch etwas mehr machen. Das ist also ein zusätzlicher Offset. Das ist also eine Zahl. Machen wir das 0,1. Und dann das hier. Werfen wir einen Blick darauf, ein bisschen größer, um sicherzustellen, dass es so ist, wie Sie es wollen. Und Sie können mit dieser Position spielen. Natürlich ist das nur persönliche Vorliebe. Ich zeige Ihnen nur, wie Sie es am Leben bekommen können und wie Sie die Werte bekommen und wo Sie sie genau setzen. Es ist nicht wirklich wichtig, dass viel ihn sogar ein bisschen kleiner machen kann. Wenn wir sagen, du wärst wie Rudel, könnte es ein bisschen Schwein geben. Und nun mal sehen, ob sie sich richtig anpassen. Also lassen Sie uns wieder unsere Daten schnell gehen, um es zu durchsuchen. Okay, also Tutorial TXT. Senken Sie das wieder auf neun. Mal sehen. Jetzt haben wir so etwas. Sie werden auch, denn jetzt könnte es etwas dämlich sein, 0 überall in eine ganze Zahl zu werfen, aber dann verlieren Sie natürlich etwas Präzision. Dies ist also ein, einige Dinge, die Sie berücksichtigen müssen. Lassen Sie uns 39 schnell setzen, um zu sehen, wie sich das verhält. Wir gehen immer eins über das aktuelle Setup. Stellen Sie sicher, dass Sie das mögen. Normalerweise tue ich das. So viel spielt es keine Rolle. Die Hauptsache ist, dass es funktioniert. Das sollte nicht passieren. Aber jetzt haben wir einige Rundungsprobleme, während es standardmäßig gerundet wird, also durch Mixer, aber unsere Zahlen sind viel zu lang jetzt wollen wir dies nicht anzeigen, vielleicht schätzen es. Also lassen Sie uns das auch berücksichtigen. So funktionieren die Ausrichtungen immer noch. Das ist also ziemlich cool. Es wird also immer noch nach rechts ausgerichtet sein. Also R, S die Werke. Aber lasst uns das abrunden. Unser Wert als String wird also auftretender Wert sein, aber gerundet. Nehmen wir also zwei Werte nach dem Komma zum guten um ihn herum Punkt. Ordnung. Vielleicht schnell, um Schere, runde Funktion und Mixer zu veranschaulichen. So können Sie einfach jeden Float bis zu einer beliebigen Präzision aufrunden. Also, wenn ich eine Zahl haben würde, die 0.0.0 ist, ist fünf, und das würde eine Zahl teilen. Nun, vielleicht ist es eine schlechte Nummer. Zahl ist gleich 15, etwas. Nummer. Ich könnte diese Zahl aufrunden, bis ein Wert hinter dem Komma ich das bekommen würde. Wäre eigentlich clever genug, um dies aufzurunden, weil der nächste Wert eine Neun ist. Wenn es 16.128 sein sollte, zeig es dir. Es wäre sechs einfach ging zu war eins, es wird 11 sein, so codon. Das ist also ein bisschen mehr über die Rundungsfunktion. Ist nicht schon zwei wichtig. Es funktioniert so, wie Sie erwarten, dass es funktioniert. Das ist also immer schön. Und so können wir unseren Daten, unserem Diagramm, mehr Bedeutung verleihen. 22. Materialien erstellen und Randomisieren: Okay, also haben wir viel über Objekte und Netze gesprochen und all das Zeug. Am Ende möchte ich natürlich wieder ein bisschen mehr Boden abdecken und auch über Materialien sprechen. Die Art und Weise, wie wir Materialien verwenden, ist ziemlich ähnlich der Art, wie wir Objekte verwenden. Vielleicht illustriere ich es einfach mit einem kurzen. Sie können einfach ein neues Material erstellen und sehen, wie das aussieht. Cbp, warum nicht Upstart Material dot nu. Also aufwändiges Material, das wusste , okay, es ist ein bisschen anders. Aber wenn wir das ausschreiben würden, würde es tatsächlich genauso funktionieren. Also lassen Sie uns jetzt ein Material am Ende erstellen. Und wir werden sehen, dass sie 10 haben, tatsächlich ein paar Materialien haben. Sie laufen das schon ein paar Mal. So sehen Sie jedes Mal, wenn Sie dies ausführen, eine Art neue Materialien erstellt werden. Aber auch die alten Walden werden da sein. Also vielleicht lasst uns diese schnell loswerden. Wir werden das auf die gleiche Weise tun, wie wir unsere Objekte loswerden. Also vielleicht werde ich ein wenig innehalten, ein bisschen. Ich meine, du solltest das Video pausieren und herausfinden, wie du alle diese Materialien wirklich entfernen kannst. Es ist sehr ähnlich zu dem, was wir vorher getan haben, und es ist sehr ähnlich, was jetzt auf dem Bildschirm ist. Also werde ich es tun. Pausieren Sie, wenn Sie wieder, drei zu eins, gehen wir. Also wollen wir über alle unsere Materialien gehen, greifen das aktuelle Material. Also für jedes Material in unseren Materialien, genau wie wir es für jedes Objekt und andere Objekte tun. Bpi Punktdaten Punktmaterialien, weil wir Materialien jetzt überprüfen , entfernen Sie Garantiematerial. Wenn ich das jetzt ausführen würde, wird es nur ein Material geben, das hier ist. Ich bin mir nicht sicher, ob ich hier einen Namen geben kann. Nun, eigentlich ist es als eine kurze Randnotiz im Allgemeinen schlechte Praxis, BPI Dot Ops zu verwenden. Ist es nur etwas, das wir sagen und nicht zu viel erklären werden? Denn dahinter steckt eine ganze Argumentation. Hauptsächlich Kontext und Bälle und, und es gibt Mixer-Zeug, Mixer, API-Zeug, in das ich nicht hineinkommen werde. - Es. Es ist ein bisschen zu komplex für den aktuellen Umfang dieses Kurses. Es ist vor allem gut, sich daran zu erinnern, dass BPO i dot etwas ist, das Sie nur verwenden sollten, wenn es absolut notwendig ist. Also, wenn Sie Geometrie erstellen möchten, wird verwendet, um es zu tun. Aber wenn Sie das Material erstellen, ist es im Wesentlichen, ob BPI-Punktdaten, Punktmaterialien verwendet werden. Und hier kann ich das einfach nennen, was auch immer seine Künstler für jetzt Namen verwenden. Und dies zu tun ist eigentlich ein bisschen mehr, ein bisschen weniger fehleranfällig. Also tatsächlich können wir hier sehen, das ist variiert. Oder sagen Sie eingeschränkt, das Ui.R-Zeug. Es Operatoren sind ziemlich auf ihre Umgebung gesperrt, also ist es am besten, nicht daran zu denken und einfach PPI Punktdaten oder andere Aufrufe im Wesentlichen zu verwenden . Und jetzt können wir das sogar einer Variablen zuweisen und wir können es ausdrucken, nur um zu überprüfen, wie das aussieht. So können Sie sehen, dass wir ein Material haben. Es nennt sich Name. Ich kann das nennen, was auch immer Material ist. Also, jetzt wissen wir im Wesentlichen, wie man ein einziges Material herstellt. Also lasst uns das für jeden Würfel tun. So können wir dies tun, indem wir Tab drücken und den Anfang der Zeile, das heißt, whoops, das ist, dass Sie unsere, unsere Linie in unsere for-Schleife schieben wollen . Also wieder, alles, was sich auf dieser Einrückungsstufe befindet, wird über x Anzahl von Malen geloopt werden. So wird diese Zeile jetzt zu einem 100 Mal ausgeführt werden. Also, wenn ich das ausführe und sehe, dass wir 100 Materialien haben, ist der Name statisch, aber es fügt nur diesen Punkt 048 oder Punkt, Punkt was auch immer Punkt, Punktnummer hinzu. Dahinter. Es gibt andere wirklich wichtig, der Name nur bei URI oder wo immer das ist. So haben wir jetzt im Wesentlichen ein Material erstellt, während wir den Würfel erstellen. Also das einzige, was uns dauert zuweisen unser Material 3D-Würfel. So können wir dies tun, indem wir BPI Punkt-Kontextobjekt tun, derzeit aktive Objekte sind, mit denen unsere R-Cubed Sie gerade hinzugefügt haben, wir können auf die Datenmaterialien dieses Objekts zugreifen, und dann können wir einfach unser aktuelles Material anhängen zu ihm. So können wir jetzt im Wesentlichen BPI Punktkontext von Objekten Punktdaten Punktmaterialien sehen, was ein, ziemlich Bissen ist, bezieht sich auf diese hier auf unsere Materialien. Und indem wir auf diese Schaltfläche klicken, hängen wir daran an. Es ist also tatsächlich ein neues zu erstellen und es dann direkt auf diese Weise zuweisen , es zu erstellen und dann fügen wir es an das aktuelle Objekt an. Also das aktuell aktive Objekt, das aktive, das Objekt und es wurde gerade von dieser Funktion erstellt. Also, wenn Sie das tun würden, würden wir sehen, dass jeder Würfel jetzt als Material, C cube 017, das ist Material 017, und so weiter. Das sieht schon cool aus, aber alle Materialien sind immer noch gleich. Also Macht, um zum Shader-Editor zu gehen. Gleichgewichte, nicht einmal mit Noten werden hier angezeigt. Aber ja, sie sehen alle genau gleich aus. Und wir müssen nicht einmal Knoten verwenden, damit es nicht gleich ist. Also eine Sache, die wir tun könnten, ist ein Material, das diffuse Farbe gleich ist. Lass es uns vorerst rot machen. Sehen Sie einfach, ob das funktioniert oder nicht. Reduzierter Bedarf an. Also, das wäre unser G ein. Also, wenn wir uns auch Sorgen machen, werde ich das leiten. Also im Grunde, was wir als unsere Grundfarbe einstellen. So wie Sie auf der sehen können, auf der Werkzeugspitze steht Punkt diffuse Farbe. Und hier können Sie f, r, g, b, a. So 1001 sehen. Wir wollen nicht, dass sie alle gelesen werden. Natürlich wollen wir, dass sie alle zufällig sind. So können wir unsere Zufallsfunktion wie wir hier verwenden, um eine Zufallszahl zwischen 01 zu erhalten. Und das hier. Wir wollen es für jeden Kanal tun. Also wollten wir das für Rot, Grün und Blau. Ich werde dir folgen, dass du immer einen haben wirst. Es wird immer vollständig transparent oder undurchsichtig sein , wie das Wort transparent für den anderen Kerl. Indem wir dies tun, erzeugen wir im Grunde eine zufällige Farbe. Also lief ich sie Farbe für jeden Würfel, oder Zuweisung dieser Farbe durch das neue Material, das wir für jedes q erstellt haben und dann weisen wir das Material mit einer zufälligen Farbe zu, einem Würfel. 23. Kontrollierte Randomisierung: Okay, also haben wir unsere zufälligen Farben unseren zufälligen Würfeln zugeordnet. Wenn ich das noch ein paar Mal ausführen würde, würden Sie sehen, dass alle diese Würfel jetzt individuelle Farben haben. Irgendein Aussehen, aber sie sind alle einzigartig. Ich meine, es könnte ein Duplikat geben, dass es etwa tausend Würfel gibt. Nehmen wir einfach an, dass wir für jeden Würfel tatsächlich randomisieren. Also für jedes Q wird ein einzigartiges Material erhalten. Aber sagen wir, wir wollten ein bisschen mehr Kontrolle nehmen und wir wollen nicht nur eine 100 zufällige Farben haben, aber sagen wir, wir wollen wie zehn zufällige Farben haben. Also, was wir tun könnten, ist Menge Farben gleich zehn. Und dann genauso wie die Neuerstellung unserer Android-Würfel, können Sie eine 100 Materialien erstellen. Also für i im Bereich eines Berges Farben, können wir unsere materielle Schöpfung oder Randomisierung tun. Und dann diese Zuweisung, das wird eigentlich nicht funktionieren. Dieser Punkt, weil wir unsere Warteschlangen noch nicht haben. Aber lassen Sie uns das jetzt einfach hier reinkopieren. So werden wir tun, ist wir X Menge an Materialien zu schaffen und dann werden wir ihre Farben randomisieren. Also, jetzt verschleißt es. Werde das los. Wir werden also kein Material mehr für jeden Würfel erstellen. Es gab noch Material an den aktuellen Würfel zuweisen müssen. Das ist also, das kann immer noch bleiben. Aber materiellen Referenzen und unsere gebrochen, weil es keinen Zugang zu diesen Materialien gibt hier. Also lassen Sie uns vielleicht den Überblick über unsere Materialien behalten, indem wir oben eine leere Liste erstellen. Und dann tatsächlich unser Material durch diese Liste anhängen. Also, was wir hier getan haben, ist, dass wir unser Material geschaffen haben. Aber diese Linie haben wir randomisiert und dann haben wir sie zu dieser Sammlung von Materialien hinzugefügt. Hier können Sie diese Sammlung neu initialisieren. Also bekommen wir nur eine leere Sammlung und leere Liste von Materialien. Und dann, wie wir durch unsere Liste gehen, wie wir schaffen diese Materialien füllen unsere Sammlung. Also am Ende, wenn ich unsere Materialien drucken würde, und ich werde das einfach ausführen. Ich werde nur die thermische Entwicklerkonsole kredieren und es verschwindet immer wieder. Wir werden sehen, jetzt haben wir eine Sammlung von Material. Objekte sind BPO, erwachsene Schwanzpunktmaterialien, dotiertes Material. Und das ist eigentlich ein Material-Objekt, und Sie können sehen, dass dies eine Sammlung von Material-Objekten ist. Das ist also, was wir wollen, oder? Es gibt eine Referenz des Materials, das im Gedächtnis gehalten wird, weil dies auch als Material bezeichnet wird. Aber ich bin, deshalb sehen wir tatsächlich eine Farbe und das stürzt nicht ab. Wenn ich das irgendetwas anderes nennen würde, wird es kaputt machen. Aber lasst es uns vorerst lassen. Also wollen wir im Grunde nur irgendein Material aus unserer Sammlung nehmen . Also, was wir tun könnten, würde es schnell unsere Konsole wieder greifen , wie Sie die zufällige Funktion verwenden. Also zufällige Punktuniform, naja eigentlich sind wir eingeloggt, ich möchte zufällige Punktuniform verwenden. Wir werden etwas anderes benutzen. Denn wie wir gesehen haben, drei doppelte zufällige Punktuniform zwischen 010, weil wir haben, haben wir zehn Farben. Also eigentlich, was wir mit einem Monat Farben tun würden, gleich zehn, nur irgendwie stellen Sie sicher, dass wir das gleiche, gleiche Aussehen, das wir von hier zu Menge an Farben gehen würden. Aber wie Sie hier sehen, bekommen wir diese, diese Gleitkommazahlen. Zufällige Punkt-Uniform Butter ist ein Fließkommazahl drei, wir tun zufällige Punkt-Uniform. Sie würden sehen, wie Methoden der zufälligen, zufälligen Instanz eine Zufallszahl im Bereich von a oder B erhalten, abhängig von der Rundung. Nun, es heißt nicht explizit, dass es Schwimmer ist, aber wir könnten es sagen, richtig? So können wir, wir können debuggen oder gute Programmierer. Also lassen Sie uns tatsächlich überprüfen, was randomize zu bieten. Neben zufälligen Punktuniform macht hier eine Reihe mehr Funktionen. Nichts, was du tun könntest, ist nur Google. Es wurde wie eine zufällige Ganzzahl zwischen einer Kuppel, ein paar Grenzen, aber lass es uns tun. Blender Weg für jetzt, nur Hardcore. Ich kann schon sehen, Rent int wird wahrscheinlich ein guter sein. Zufällige Reichweite. Holen wir uns die Hilfe auf. Ich wollte diese zufälligen Punkte. Reichweite. Wählt ein zufälliges Element aus Anordnen, Starten, Stoppen. Dadurch wird der Programmierer behoben, der den Endpunkt enthält. In Python ist dies normalerweise nicht das, was wir wollen und es ist eigentlich hier. Es ist auch ein über eins. Daher wollen wir die Endpunkte nicht einschließen. Wenn ich also einen zufälligen Punkt-Punkt-Punkt-Bereich zwischen 0 und der Menge der Farben erhalten würde, würden wir eine ganze Zahl bekommen. Und jetzt sollte das eigentlich nie zurückkehren. Dann, weil wir hier neun sehen, sollte dies tatsächlich der höchste Wert sein, den dies zurückgibt. Also lasst uns das ein paar Mal machen und sicherstellen, dass wir nie etwas über Nacht bekommen. Als ob wir nie zehn bekommen. Ich werde das nicht tun, weil wir die Hilfe lesen, aber es ist immer gut zu überprüfen und sicher zu sein. Denn wie wir wissen, verwendet eine Liste, genau wie dieses Material hier, genau wie dieses Material hier,die Indizierung und die Indizierung beginnt bei 0. Also, wenn wir zehn Elemente in der Liste haben, wird das letzte Element durch den neunten Index zugegriffen werden. Wenn das also keinen Sinn ergibt, haben wir Index 0, Index 123456789. Wenn wir hier schauen, haben wir eigentlich zehn Artikel. So haben wir 12345678910 Artikel. Aber es ist etwas, das Sie wirklich beachten müssen, wenn Sie mit Listen arbeiten , ist, dass Sie immer bei 0 beginnen müssen. Das ist nur etwas, an das man sich wirklich erinnern muss. Das funktioniert also zufällige Renderings. Also hast du zwei Mengen an Farben geschrieben. Also jetzt, anstatt nur das letzte Material zu nehmen, das wir hier haben, können wir einfach einen bestimmten Index aus unserer Materialsammlung abfragen. Also werden wir unsere Materialsammlung in den Griff bekommen und dann werden wir im Grunde nur einen zufälligen Index abfragen. Dies wird also ein zufälliger Index sein, der verwendet wird, um einen Wert in der Materialliste zu suchen. Und das wird nur ein zufälliges Material zurückgeben. Also, wenn wir das laufen würden, erhalten Sie dann zufällige Materialien, die ziemlich gleichmäßig verteilt werden sollten. Vielleicht wollen wir Materialien gerne machen, um es ein bisschen deutlicher zu machen. Und ich sehe, dass wir nur so zählen müssen. Sie können noch mehr Kontrolle über unsere, unsere Randomisierung übernehmen. Es ist also nicht nur ganz zufällig.