Model danych

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Każde miejsce jest reprezentowane przez model danych, hierarchię obiektów, które opisują wszystko o tym miejscu. Model danych zawiera wszystkie obiekty, które składają się na świat 3D, takie jak części, teren, oświetlenie i inne elementy środowiska. Zawiera również obiekty, które mogą kontrolować zachowanie czasu uruchomienia, takie jak skrypty, które zmieniają właściwości, wzywają metody i funkcje i reagują na wyd

Silnik Roblox używa modelu danych jako źródła prawdy dla stanu miejsce, więc może go symulować i renderować na urządzeniach klienta. Dla więcej informacji o tym, jak silnik Roblox interpretuje model danych, zobacz czas pracy klient-serwer.

Obiekty

Umieszcza i organizuje obiekty w modelu danych, aby opisać miejsce w Roblox. Każdy obiekt w Roblox dziedzicza się z klasy Instance, która określa ogólne właściwości, metody i wydarzenia, które są wspólne dla wszystkich obiektów. Ob

Dla kompleksowej listy wszystkich funkcji silnika Roblox, zobacz dokumentację referencyjną.

3D Bloki Budowania

BasePart jest podstawową klasą dla fizycznie symulowanych bloków budowlanych 3D w świecie. Definiuje właściwości i metody wspólne dla wszystkich fizycznych obiektów z właściwościami, takimi jak pozycja, rozmiar i kierunek.

ObiektOpis
PartPodstawowa część, która może przyjąć kształt bloku, kuli, cylindra, kąta lub kąta rogowego.
MeshPartImportowane mesze z 3D-materiałów modelujących, takich jak Maya lub Blender.
TrussPartŻelazna bela, którą postacie mogą wspiąć się jak drabina.

Chociaż teoretycznie możesz stworzyć w pełni funkcjonalne doświadczenie Roblox z użyciem tylko podstawowych części, prawdopodobnie zaimportujesz mesze i połączysz podstawowe części w bardziej złożone obiekty i struktury poprzez modelowanie solids.

Skrypcje

Możesz dodać interaktywność i zachowanie światu 3D swojego miejscei zdefiniować zasady z użyciem skryptów. Piszę skrypcje w języku programowania Lua, aby robić rzeczy, takie jak przesuwanie części, wzywanie innych skryptów i reagowanie na wydarzenia. Ponieważ Roblox działa w modelu klient-serwer, możesz uruchomić skrypcje na serwerze, klientu lub mieć je komunikować poprzez

  • Obiekt Script reprezentuje skrypt, które może być uruchomione tylko na serwerze.
  • Obiekt LocalScript reprezentuje skrypt, które może być uruchomione tylko na klienta.
  • Obiekt ModuleScript reprezentuje ponowny używalny skrypt, który możesz require() zarówno z serwerów, jak i z klientów.

Aby skrypty zachowywały się prawidłowo, musisz je umieścić w odpowiednich kontenerach w modelu danych. Aby uzyskać więcej informacji, zobacz sekcje Serwer i Klient.

Organizacja Obiektu

Podczas gdy masz wiele elastyczności w tym, jak organizujesz swój model danych, silnik Roblox oczekuje, że pewne obiekty znajdują się w pewnych usługach kontenerowych , które są obiektami, które mają zachowania i mogą wpływać na zachowania zachowań, które one zawierają. Główne kategorie usług kontenerowych obejmują:

Ponadto możesz dalej zorganizować swoje obiekty za pomocą następujących obiektów:

  • Katalogi - A Folder jest dla celów organizacyjnych i nie określa żadnego zachowania. Na przykład możesz używać katalogów, aby grupować podobne obiekty, takie jak zestaw skryptów w serwerze.
  • Modele - A Model jest głównie przeznaczony dla grupowań geometrycznych części, takich jak grupowanie zestawu biur, w tym krzesło, stół i lampę. Aby zorganizować bardziej złożone zestawy, możesz nawet zapisać modele w modelach.

Praca

Workspace zawiera wszystkie obiekty, z których składa się świat 3D miejsca. Możesz dodawać obiekty do pracownika, aby dostosować swój świat 3D, takie jak podstawowe części, części siatki i

Kamera

Camera określa, jak klient ogląda świat 3D. Domyślnie jest jedna kamera w przestrzeni roboczej, ale możesz dodać kilka obiektów kamery, aby stworzyć różne perspektywy i widoki. Każdy klient bierze te ustawienia i tworzy własną widok kamerki, którą serwer nie może bezpośrednio zmodyfikować.

Na przykład możesz ustawić kamerę, aby podążała za ruchami użytkownika lub pozostawała w określonej lokalizacji. Możesz również dostosować pola widzenia, odległość i kąt, aby stworzyć różne efekty wizualne tego, jak użytkownicy oglądają twoją 3D.

Dla więcej informacji, zobacz Dostosowywanie kamery.

Terytoria

Terrain pozwala na stworzenie krajobrazów dla twojego miejsce. Możesz zastosować materiał na teren, aby simulować pożądane środowiska naturalne, takie jak trawa, woda, piasek lub niestandardowy materiał. Mimo że możesz mieć tylko jeden obiekt terenu dla twojego świata 3D i zastosować jeden materiał na ten teren, możesz użyć

Dla więcej informacji, see Środowiskowy teren .

Środowisko

Efekty oświetleniowe i dźwiękowe mogą uczynić twoją 3D-world bardziej immersyjny i realistyczny. Chociaż nie jest konieczne dodawanie tych efektów do twojego miejsce, można je uczynić bardziej wizualnie i dźwiękowo atrakcyjne.

Oświetlenie

Lighting zawiera obiekty, które kontrolują globalne ustawienia oświetlenia twojego miejsce, takie jak Atmosphere do symulacji efektów atmosfery lub Sky do zmiany słońca, księżyca i gwiazd w twoich środowiskach.

Dla więcej informacji, see Oświetlenie .

Dźwięk

SoundService może kontrolować ustawienia Volume i Odtwarzania dla dzieci Sound obiektów dla muzyki tła lub efekty dźwiękowe środowiska.

Dla więcej informacji, see Dźwięk .

Replikacja

Replikacja to proces, w którym serwer synchronizuje stan Twojego miejsca z wszystkimi połączonymi klientami. Silnik Roblox replikuje w sposób inteligentny i automatyczny dane, fizykę i wiadomości czatu między serwerem a klientem w wielu przypadkach, ale możesz również określić niektóre obiekty do replikacji, umieszczając je w szczególnych kontenerach.

ReplicatedFirst

ReplicatedFirst zawiera obiekty, które chcesz sklonować na klienta, gdy dołączy do twojego miejsce. Zwykle zawiera obiekty niezbędne do inicjatyzowania gracza, takie jak obiekty strony klienta LocalScript i związane z nimi obiekty. Wszystkie treści w tym kontenerze są sklonowane z serwera na klienta tylko raz.

ReplicatedStorage

ReplicatedStorage zawiera obiekty, które są dostępne zarówno dla serwera, jak i połą

For more information on how replication works, see Client-Server Runtime .

Serwer

Model danych zdefiniował poświęcone pojemniki dla obiektów tylko strony serwera, które nigdy nie są replikowane na klienta. To umożliwia serwerowi wpływ na zachowanie i stan klienta bez ujawniania obiektów i logiki serwera dla klienta.

ServerScriptService

ServerScriptService zawiera Script obiekty, ModuleScript obiekty, które są wymagane przez serwerowe skrypciny, i inne obiekty związane z skryptami, które są przeznaczone tylko dla użytku serwera. Jeśli twoje skryпty wymagają

Przechowywanie serwera

ServerStorage zawiera obiekty przeznaczone tylko dla użytku serwera. Możesz użyć tego kontenera do przechowywania obiektów, które chcesz sklonować i zrodzic do przestrzeni roboczej lub innych kontenerów podczas uruchomienia. Na przykład możesz przechować duże obiekty takie jak mapy w tym kontenerze, aż będą potrzebne, a następnie przenieść je do przestrzeni roboczej tylko w

Klient

Usługi kontenera klienta są przeznaczone dla obiektów, które są replikowane na każdym połączonym klienta. Ta kategoria kontenerów replikuje na każdym połączonym klienta i zwykle zawiera obiekty 3D i związane obiekty LocalScript. Wszystkie obiekty, które przechowujesz w tych kontenerach, nie są trwałe między sesjami

Gdy klient połączy się z serwerem, usługa kontenerowa Players słucha użytkowników dołączających do twojego miejsca i tworzy obiekt Player dla każdego klienta. Serwer kopiuje obiekty z klientów z kontenerów w modelu danych edytowych do odpow

Edytuj model danychModel danych czasu uruchomieniaNotatki
StarterPackGracz.PakietSkrypy, które ustawiają ekwipunek gracza i generalnie zawierają Tool obiektów, ale często zawierają również lokalne skrypy.
StarterGuiPlayer.PlayerGuiSkryпty, które mogą zarządzać lokalną interfejsą użytkownika. Gdy gracz się odrodzi, treści PlayerGui są puste. Serwer kopiuje obiekty wнутри StarterGui w PlayerGui.
StarterPlayerScriptsPlayer.PlayerScriptsSkrypciki ogólnego celu dla klienta. Na przykład, jeśli chcesz stworzyć efekty specjalne na klienta, gdy spełnione zostaną pewne warunki, możesz umieścić lokalny skrypt w tym kontenerze, aby to zrobić. Serwer nie może uzyskać dostępu do tego kontenera.
StarterCharacterScriptsGracz.CharakterSkrypty, które są kopiowane na klienta, gdy się pojawiają. Te skrypty nie trwają, gdy gracz respawnuje.
ReplicatedFirstTreści tego kontenera są replikowane do wszystkich klientów (ale nie do serwera) najpierw, przed czymkolwiek innym.

Czat

TextChatService

TextChatService Reprezentuje usługę, która zarządza różnymi zadaniami czatu w doświadczeniu, takimi jak zarządzanie kanałami, dekorowanie wiadomości, filtrowanie tekstu, tworzenie komend i rozwój niestandardowych interfejsów czatu.

Dla więcej informacji, see System czatu tekstowego w czasie rzeczywistego doświadczenia .

VoiceChatService

VoiceChatService Reprezentuje funkcję czatu głosowego opartą na bliskości, która simuluje realistyczną komunikację w zależności od tego, jak blisko jesteś do innych użytkowników. Możesz użyć tego usługi, aby włączyć lub wyłączonefunkcję.

Dla więcej informacji, zobacz Czat głosowy.

Katalogi i Modele

Są dwa główne metody na grupowanie obiektów w modelu danych: katalogi i modele. Obie są Container dla obiektów, ale mają różne cele.

  • Katalogi są najlepszym rozwiązaniem do przechowywania sekcji środowisko, takich jak lobby lub arenę walki.
  • Modele służą do zestawów obiektów, takich jak zestaw biurko, który zawiera krzesło, stół i lampę. Aby zorganizować bardziej złożone zestawy, pakuj modele w modele.

Zawsze nazywaj swoje obiekty opisowo. To ułatwia znalezienie i modyfikację obiektów później, jeśli będzie to konieczne.

The Explorer window with a demonstration of a folder organization structure.
Przedmioty zorganizowane w Folders >
The Explorer window with a demonstration of a model organization structure in several services.
Różne modele "mapy" do wymiany między Workspace a ServerStorage.