Scripting Beispiele

Eine Sammlung nützlicher Skript-Snippets und Beispiele.

Wenn Sie neu im Scripting sind, empfehlen wir dringend, zuerst die folgenden Anleitungen zu lesen:

Unten finden Sie einige grundlegende Skripte als schnelle Referenz.

Wir bieten auch viele Beispiel-Szenen und komplette Projekte an, die Sie herunterladen und als Ausgangspunkt verwenden können:

Grundlegende Komponente

@code ts twoslash

siehe scripting für alle Komponenten-Events

Referenzieren eines Objekts aus Unity

@code ts twoslash

Referenzieren und Laden eines Assets aus Unity (Prefab oder SceneAsset)

@code ts twoslash

Referenzieren und Laden von Szenen aus Unity

::: tip Finden Sie ein funktionierendes Beispiel in unseren Samples zum Herunterladen und Ausprobieren :::

@code ts twoslash

Klicks auf Objekte empfangen

Fügen Sie dieses Skript zu jedem Objekt in Ihrer Szene hinzu, das anklickbar sein soll. Stellen Sie sicher, dass sich auch eine ObjectRaycaster Komponente in der übergeordneten Hierarchie dieses Objekts befindet.

Test

@code ts twoslash

Vernetzte Klicks auf Objekte

Fügen Sie dieses Skript zu jedem Objekt in Ihrer Szene hinzu, das anklickbar sein soll. Stellen Sie sicher, dass sich auch eine ObjectRaycaster Komponente in der übergeordneten Hierarchie dieses Objekts befindet. Die Komponente sendet den empfangenen Klick an alle verbundenen Clients und löst ein Event aus, auf das Sie dann in Ihrer App reagieren können. Wenn Sie Unity oder Blender verwenden, können Sie einfach Funktionen dem onClick Event zuweisen, um z. B. eine Animation abzuspielen oder Objekte auszublenden.

@code ts twoslash

Animation bei Klick abspielen

@code ts twoslash

Referenzieren eines Animation Clip

Dies kann nützlich sein, wenn Sie Ihre eigene Animationslogik ausführen möchten. Sie können auch ein Array von Clips exportieren. @code ts twoslash

Erstellen und Auslösen eines UnityEvent

@code ts twoslash ::: tip EventList Events werden auch auf Komponentenebene ausgelöst. Das bedeutet, Sie können das oben deklarierte Event auch mit myComponent.addEventListener("my-event", evt => {...}) abonnieren. Dies ist eine experimentelle Funktion. Bitte geben Sie Feedback in unserem Forum :::

Deklarieren eines benutzerdefinierten Event-Typs

Dies ist nützlich, wenn Sie ein Event mit benutzerdefinierten Argumenten (wie einem String) in Unity oder Blender verfügbar machen möchten @code ts twoslash

Beispielverwendung:

Verschachtelte Objekte und Serialization verwenden

Sie können Objekte und ihre Daten verschachteln. Mit passenden @serializable(SomeType) Decorators werden die Daten automatisch in die richtigen Typen serialisiert und deserialisiert.

In Ihrer Typescript-Komponente: @code ts twoslash

In C# in jedem Skript: @code

::: tip Ohne die korrekten Typ-Decorators erhalten Sie die Daten weiterhin, aber nur als einfaches Objekt. Das ist nützlich, wenn Sie Komponenten portieren, da Sie Zugriff auf alle Daten haben und die benötigten Typen hinzufügen können. :::

Web APIs verwenden

::: tip Denken Sie daran, dass Sie weiterhin Zugriff auf alle Web APIs und npm Pakete haben! Das ist die Schönheit von Needle Engine, wenn wir das hier so sagen dürfen 😊 :::

Aktuellen Standort anzeigen

@code ts twoslash

Aktuelle Zeit mit einer Coroutine anzeigen

@code ts twoslash

Benutzerdefinierte Shader-Eigenschaft ändern

Angenommen, Sie haben einen benutzerdefinierten Shader mit einer Eigenschaft namens _Speed, die ein Float-Wert ist, so würden Sie sie von einem Skript aus ändern. Ein Live-Beispiel zum Herunterladen finden Sie in unseren Samples

src Attribut wechseln

Siehe Live-Beispiel auf StackBlitz

Neue Postprocessing Effekte hinzufügen

Stellen Sie sicher, dass Sie npm i postprocessing in Ihrem Webprojekt installieren. Dann können Sie neue Effekte hinzufügen, indem Sie von PostProcessingEffect ableiten.

Um den Effekt zu verwenden, fügen Sie ihn demselben Objekt wie Ihre Volume Komponente hinzu.

Hier ist ein Beispiel, das den Outline Postprocessing Effekt umschließt. Sie können Variablen und Einstellungen wie gewohnt verfügbar machen, da jeder Effekt auch nur eine Komponente in Ihrer three.js Szene ist.

@code

Benutzerdefiniertes ParticleSystem Verhalten

@code ts twoslash

Benutzerdefinierte 2D Audio Komponente

Dies ist ein Beispiel, wie Sie Ihre eigene Audio-Komponente erstellen könnten. Für die meisten Anwendungsfälle können Sie jedoch die Kern-AudioSource Komponente verwenden und müssen keinen Code schreiben.

@code ts twoslash

Beliebige externe Dateien

Verwenden Sie den FileReference Typ, um externe Dateien (z. B. eine JSON-Datei) zu laden. @code ts twoslash

Seite automatisch mit AI übersetzt

Last updated