Workspace

Pokaż przestarzałe

*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.

Brak możliwości tworzenia
Usługa

Głównym zadaniem Workspace jest utrzymywanie obiektów, które istnieją w świecie 3D, skutecznie BaseParts i Attachments .Choć takie obiekty są potomkami Workspace, będą aktywne.Dla BaseParts oznacza to, że zostaną wyrenderowane i będą interakcjonować fizycznie z innymi częściami i światem.Dla Attachments oznacza to, że obiekty ozdobione dla nich, takie jak ParticleEmitters , Beams i BillboardGuis , zostaną wyrenderowane.

Rozumienie tego zachowania jest ważne, ponieważ oznacza, że obiekty mogą być usuwane z Workspace gdy nie są potrzebne.Na przykład mapa Models może zostać usunięta, gdy odtwarzana jest inna mapa.Obiekty, które nie są natychmiast potrzebne w świecie 3D, są ogólnie przechowywane w ReplicatedStorage lub ServerStorage.

W roli posiadacza aktywnych obiektów 3D Workspace zawiera szereg przydatnych funkcji związanych z częściami, ich pozycjami i stawami między nimi.

Dostęp do przestrzeni roboczej

Workspace można uzyskać na kilka sposobów, wszystkie z nich są ważne.

  • workspace
  • game:GetService("Workspace")
  • game.Workspace
Notatki

Podsumowanie

Właściwości

Właściwości odziedziczeni z: Model
  • Zabezpieczenia dodatku plug-in
    Odczyt równoległy

    Ustawia poziom szczegółowości na modelu dla doświadczeń z włączonym strumieniem instancji.

  • Kontroluje zachowanie przesyłania modelu na Models gdy włączono przesyłanie instancji.

  • Odczyt równoległy

    Główna część Model lub nil jeśli nie jest wyraźnie ustawiać.

  • Bez replikacji
    Brak możliwości dodawania do skryptu
    Odczyt równoległy

    Własność tylko dla edytora używana do skalowania modelu wokół jego osi. Ustawienie tej właściwości przeniesie skalę tak, jakby Model/ScaleTo została wezwana na niej.

  • Bez replikacji
    Odczyt równoległy

    Określa, gdzie znajduje się osiować punkt obrotowy , który nie ma ustawionego zestawu.

Właściwości odziedziczeni z: PVInstance
  • Bez replikacji
    Brak możliwości dodawania do skryptu
    Odczyt równoległy
  • Bez replikacji
    Brak możliwości dodawania do skryptu
    Odczyt równoległy

Metody

Metody odziedziczeni z: WorldRootMetody odziedziczeni z: Model
  • AddPersistentPlayer(playerInstance : Player):()

    Ustawia ten model, aby był trwały dla określonego gracza.Model.ModelStreamingMode musi zostać ustawione na PersistentPerPlayer , aby zachowanie zostało zmienione w wyniku dodania.

  • Zwraca opis woluminu, który zawiera wszystkie części modelu.

  • Zwraca rozmiar najmniejszego pudełka ograniczającego, które zawiera wszystkie BaseParts w Model, zgodnie z Model.PrimaryPart, jeśli jest ustawiać.

  • Zwraca wszystkie obiekty Player , które ten obiekt modelowy jest trwały dla.Zachowanie różni się w zależności od tego, czy metoda ta jest wywoływana z Script lub LocalScript.

  • Zwraca kanoniczną skalę modelu, która domyślnie wynosi 1 dla nowo utworzonych modeli i zmieni się, gdy zostanie skalowana za pomocą Model/ScaleTo.

  • MoveTo(position : Vector3):()

    Przesuwa PrimaryPart do określonej pozycji. Jeśli nie zaznaczono głównej części, zostanie użyta część korzenna modelu.

  • RemovePersistentPlayer(playerInstance : Player):()

    Sprawia, że ten model nie jest już trwały dla określonego gracza.Model.ModelStreamingMode musi zostać ustawione na PersistentPerPlayer , aby zachowanie zostało zmienione w wyniku usunięcia.

  • ScaleTo(newScaleFactor : number):()

    Ustawia czynnik skali modelu, dostosowując rozmiar i lokalizację wszystkich potomnych instancji tak, aby miały ten czynnik skali w stosunku do ich początkowych rozmiarów i lokalizacji, gdy czynnik skali wynosił 1.

  • TranslateBy(delta : Vector3):()

    Przesuwa Model przez podany odległość Vector3, zachowując orientację modelu.Jeśli istnieje już inny BasePart lub Terrain w nowej pozycji, wtedy Model pokryje powiedziany obiekt.

Metody odziedziczeni z: PVInstance

Zdarzenia

Właściwości

AirDensity

Odczyt równoległy

Poziom gruntu ( Y z 0) gęstość powietrza w jednostkach RMU/stud³ (patrz Robloxowe jednostki ), używany do obliczenia siły aerodynamicznej, jeśli Workspace.FluidForces jest Experimental .Domyślny odpowiada realistycznej gęstości powietrza na poziomie morza przy standardowej temperaturze i ciśnieniu.Gęstość powietrza spada wraz z wzrostem wysokości Y , osiągając 5% wartości poziomu ziemi na 100 000 metrów.Poniżej Y z 0, gęstość powietrza jest ustawiona na wartość wejściową.

AllowThirdPartySales

Bez replikacji
Odczyt równoległy

Ta właściwość Workspace określa, czy zasoby stworzone przez inne użycia mogą być sprzedane w gra.

Czym są sprzedaże stron trzecich?

Gdy ta wartość jest fałszywa, jak to jest domyślnie, tylko aktywa stworzone przez twórcę miejsca (czy to gracz czy grupa) i Roblox mogą być sprzedawane za pomocą MarketplaceService .

W większości przypadków gry nie muszą sprzedawać zasobów stron trzecich.Jednak niektóre gry, takie jak wymiana rozmów, wymagają tej funkcji i dlatego istnieją jako opcja do wyboru.

Jakie produkty stron trzecich mogę sprzedawać?

Uwaga, produkty dla programistów można sprzedawać tylko w grze, z którą są powiązane, niezależnie od tego, jaki jest ustawiony parametr AllowThirdPartySales.Właściwość ta wpływa na przepustki do gry i odzież.

AvatarUnificationMode

Brak możliwości dodawania do skryptu
Odczyt równoległy

ClientAnimatorThrottling

Odczyt równoległy

Określa Enum.ClientAnimatorThrottlingMode do użycia dla lokalnego klienta.

Po włączeniu animacje na zdalnie symulowanych instancjach Model zaczną się kurczyć. Ogranicznik oblicza intensywność ograniczania za pomocą:

  • Widoczność Model w odniesieniu do Camera
  • strzelanki FPSw grze
  • Liczba aktywnych animacji

CurrentCamera

Bez replikacji
Odczyt równoległy

Obiekt Camera używany przez lokalnego gracza.

Jak używać kamerę obecną

Szukając obiektu klienta Camera, użyj tej właściwości zamiast szukać dziecka o nazwie Workspace o nazwie "Kamera".

Kiedy ustawisz tę właściwość, wszystkie inne obiekty Camera w Workspace zostaną zniszczone, w tym poprzednie CurrentCamera.Jeśli ustawisz tę właściwość na nil lub do kamery, która nie jest potomkiem przestrzeni roboczej (lub CurrentCamera jest w inny sposób zniszczona), zostanie utworzona i przydzielona nowa Camera.Unikaj tych scenariuszy, ponieważ niszczenie kamery może mieć niezamierzone konsekwencje.

Aby uzyskać więcej informacji, zobacz Programowanie kamery.

DistributedGameTime

Bez replikacji
Odczyt równoległy

Ilość czasu, w sekundach, przez które gra działa.

Pomimo tytułu, ta wartość nie jest obecnie "Rozproszona" na klientzie i serwerze.Zamiast tego na serwerze reprezentuje czas, jaki serwer działa.Na klientzie reprezentuje to, jak długo klient był połączony z serwerem.

Twórcy nie powinni polegać na powyższym zachowaniu, a możliwe jest, że w przyszłości ta właściwość zostanie zsynchronizowana między klientami i serwerem.

Ci, którzy szukają czasu odkąd program zaczął działać, powinni zamiast tego używać funkcji 'time'.Zobacz poniżej porównanie między DistributedGameTime a jego alternatywami.


local Workspace = game:GetService("Workspace")
print(Workspace.DistributedGameTime) -- Time the game started running
print(os.time()) -- Time since epoch (1 January 1970, 00:00:00) UTC
print(tick()) -- Time since epoch (1 January 1970, 00:00:00) system time
print(time()) -- Time the game started running
print(elapsedTime()) -- Time since Roblox started running

FallHeightEnabled

Zabezpieczenia dodatku plug-in
Odczyt równoległy

FallenPartsDestroyHeight

Zabezpieczenia dodatku plug-in
Odczyt równoległy

Właściwość ta określa wysokość, na której silnik Roblox automatycznie usuwa spadające BaseParts i ich przodków Models z Workspace przez rodzicielstwo ich do nil .Ma to zapobiec częściom, które wypadły z mapy, od dalszego spadania na zawsze.

Jeśli część została usunięta z powodu tego zachowania jest ostatnią częścią w Model, model ten również zostanie usunięty.Obejmuje to wszystkie przodki modelowe części.

Właściwość ta jest ograniczona między -50,000 a 50,000, ponieważ BaseParts nie symuluje lub nie renderuje prawidłowo na dużej odległości od źródła ze względu na nieścisłości punktów zwrotnych.

Właściwość ta może być odczytywana przez skrypty, ale może być ustawiona tylko przez wtyczki, pasek poleceń lub okno właściwości w Studio.

FluidForces

Brak możliwości dodawania do skryptu
Odczyt równoległy

Z włączoną tą właściwością silnik fizyczny oblicza siły aerodynamiczne na BaseParts, której właściwość EnableFluidForces jest prawdą.Domyślny, Default , wyłącza siły aerodynamiczne.Zauważ, że ta właściwość nie może być ustawiona za pomocą skryptowania i zamiast tego musi być przełączona w Studio.

GlobalWind

Odczyt równoległy

Właściwość ta określa kierunek i siłę, przez którą wiatr wieje przez doświadczenie, wpływając na trawę terenu, dynamiczne chmury i cząstki.Zobacz artykuł Globalny wiatr dla szczegółów.

Gravity

Odczyt równoległy

Określa przyspieszenie z powodu grawitacji zastosowane do spadania BaseParts .Wartość ta jest mierzona w szpilkach na sekundę kwadratowane i domyślnie ustawiona na 196,2 szpilki na sekundę 2.Zmieniając tę wartość, programiści mogą symulować efekty niższej lub wyższej grawitacji w grze.

Przykłady kodu

This script creates a touch pad in the workspace that, when touched, will reduce the game's gravity. Activating the pad again will switch back to normal gravity.

Low Gravity Button

local MOON_GRAVITY_RATIO = 1.62 / 9.81
local DEFAULT_GRAVITY = 196.2
local MOON_GRAVITY = DEFAULT_GRAVITY * MOON_GRAVITY_RATIO
-- Create a touch pad
local pad = Instance.new("Part")
pad.Size = Vector3.new(5, 1, 5)
pad.Position = Vector3.new(0, 0.5, 0)
pad.Anchored = true
pad.BrickColor = BrickColor.new("Bright green")
pad.Parent = workspace
-- Listen for pad touch
local enabled = false
local debounce = false
local function onPadTouched(_hit)
if not debounce then
debounce = true
enabled = not enabled
workspace.Gravity = enabled and MOON_GRAVITY or DEFAULT_GRAVITY
pad.BrickColor = enabled and BrickColor.new("Bright red") or BrickColor.new("Bright green")
task.wait(1)
debounce = false
end
end
pad.Touched:Connect(onPadTouched)

IKControlConstraintSupport

Brak możliwości dodawania do skryptu
Odczyt równoległy

Włącza wsparcie dla ograniczeń dla IKControls.Wartość Default jest taka sama jak Enabled.Jeśli jest wyłączone, IKControls ignorują ograniczenia fizyczne.Zobacz IKControl dla dodatkowych szczegółów.

InsertPoint

Bez replikacji
Odczyt równoległy

MeshPartHeadsAndAccessories

Brak możliwości dodawania do skryptu
Odczyt równoległy

Ustawia, czy głowy i akcesoria postaci powinny być pobierane jako MeshParts .Wartość Default jest taka sama jak Enabled.Jeśli ta funkcja jest włączona, wbudowane awatary będą używać MeshParts dla głowy i akcesoriów postaci.

ModelStreamingBehavior

Brak możliwości dodawania do skryptu
Odczyt równoległy

MoverConstraintRootBehavior

Brak możliwości dodawania do skryptu
Odczyt równoległy

Kontroluje logikę używaną do wyboru części korzenia zbioru dla mechanizmów, które wykorzystują jedną z następujących ograniczeń:

Gdy ta właściwość jest ustawiona na Enum.MoverConstraintRootBehaviorMode.Enabled, ograniczenia zostaną zignorowane podczas wyboru części korzenia zbioru, jeśli ograniczenie nie przekazuje sił między dwoma częściami (niektóre przykłady to AngularVelocity.ReactionTorqueEnabled ustawione na false , AlignPosition.ReactionForceEnabled ustawione na false lub AlignOrientation.Mode ustawione na Enum.OrientationAlignmentMode.OneAttachment ).

Gdy właściwość ta jest ustawiona na Enum.MoverConstraintRootBehaviorMode.Disabled, ograniczenia te mogą być błędnie rozważane przy wyborze części korzenia zbioru, co prowadzi do niezgodnego własności sieci i opóźnień przy dodawaniu tych ograniczeń do mechanizmu.

PathfindingUseImprovedSearch

Brak możliwości dodawania do skryptu
Odczyt równoległy

PhysicsImprovedSleep

Brak możliwości dodawania do skryptu
Odczyt równoległy

PhysicsSteppingMethod

Brak możliwości dodawania do skryptu
Odczyt równoległy

Ustawia, w jaki sposób rozwiązanie zaawansuje symulację fizyczną w czasie.Ta opcja nie jest skryptowalna i musi być ustawiona z właściwością PhysicsSteppingMethod z Przestrzenią roboczą w Studio.Zobacz Adaptacyjne planowanie czasu dla szczegółów.


<th>Opis</th>
</tr>
</thead>
<tbody>
<tr>
<td><b>Adaptacyjny</b></td>
<td>Silnik próbuje przypisać optymalne szybkości symulacji dla pojedynczych zespołów o częstotliwości 240 Hz, 120 Hz lub 60 Hz.To ustawienie jest zoptymalizowane pod kątem wykonywanie.</td>
</tr>
<tr>
<td><b>Naprawiono</b></td>
<td>Wszystkie symulowane zespoły w środowisku roboczym będą przesuwane do przodu z częstotliwością 240 Hz. Ta opcja jest najlepsza dla optymalnej stabilności i dokładności symulacji.</td>
</tr>
<tr>
<td><b>Domyślny</b></td>
<td>Domyślny obecny jest <b>Naprawiony</b>.</td>
</tr>
</tbody>
Opcja

Zauważ, że gdy zespoły różnych szybkości symulacji są połączone za pomocą Constraints lub kolizji, połączony mechanizm domyślnie ustawi najwyższą szybkość symulacji dla stabilności.

PlayerCharacterDestroyBehavior

Brak możliwości dodawania do skryptu
Odczyt równoległy

PrimalPhysicsSolver

Brak możliwości dodawania do skryptu
Odczyt równoległy

RejectCharacterDeletions

Brak możliwości dodawania do skryptu
Odczyt równoległy

RenderingCacheOptimizations

Brak możliwości dodawania do skryptu
Odczyt równoległy

ReplicateInstanceDestroySetting

Brak możliwości dodawania do skryptu
Odczyt równoległy
Odczyt równoległy

SandboxedInstanceMode

Brak możliwości dodawania do skryptu
Odczyt równoległy

SignalBehavior

Brak możliwości dodawania do skryptu
Odczyt równoległy

Właściwość ta określa, czy obsługiwacze zdarzeń zostaną wznowieni natychmiast po wystąpieniu zdarzenia, czy też zostaną odroczone i następnie wznowione na późniejszym punkcie wznowienia.Punkty wznowienia obejmują obecnie:

Aby uzyskać więcej informacji, zobacz Opóźnione wydarzenia.

StreamOutBehavior

Brak możliwości dodawania do skryptu
Odczyt równoległy

Sterowanie StreamOutBehavior kontroluje, gdzie treść zostanie rozładowana z pamięci urządzenia na podstawie warunków pamięci przepływu lub na podstawie promienia przesyłania.

Zobacz także:

StreamingEnabled

Zabezpieczenia dodatku plug-in
Odczyt równoległy

Właściwość StreamingEnabled określa, czy transmisja treści gry jest włączona dla miejsce.Właściwość ta nie jest skryptowalna i musi zostać ustawiona na obiekcie Przestrzeni roboczej w Studio.

Zobacz także:

StreamingIntegrityMode

Brak możliwości dodawania do skryptu
Odczyt równoległy

Jeśli instancja streamingowa jest włączona, doświadczenie może zachowywać się w niezamierzony sposób, jeśli postać gracza przeniesie się do regionu świata, który nie został przesłany do jego klienta.Funkcja integracji strumieni oferuje sposób uniknięcia tych potencjalnie problematycznych sytuacji.

StreamingMinRadius

Brak możliwości dodawania do skryptu
Odczyt równoległy

Właściwość StreamingMinRadius wskazuje promień wokół postaci gracza lub obecnego ReplicationFocus wokół, w którym treść zostanie przesłana z najwyższym priorytetem.Domyślnie 64 szpilki.

Należy zachować ostrożność podczas zwiększania domyślnego minimalnego promienia, ponieważ zrobienie tego wymaga więcej pamięci i więcej przepustowości serwera kosztem innych komponentów.

Zobacz także:

StreamingTargetRadius

Brak możliwości dodawania do skryptu
Odczyt równoległy

Właściwość StreamingTargetRadius kontroluje maksymalną odległość od postaci gracza lub obecnego ReplicationFocus, w którym treść będzie przesyłana strumieniem.Domyślnie do 1024 szpilkami.

Zauważ, że silnik może zachować wcześniej załadowane treści poza zasięgiem celu, pamiętając o możliwościach pamięci.

Zobacz także:

Terrain

Tylko do odczytu
Bez replikacji
Odczyt równoległy

Właściwość ta jest odniesieniem do obiektu Terrain należącego do Workspace .

Terrain object within the Workspace hierarchy

Zobacz Teren środowiskowy dla więcej informacji.

TouchEventsUseCollisionGroups

Brak możliwości dodawania do skryptu
Odczyt równoległy

TouchesUseCollisionGroups

Brak możliwości dodawania do skryptu
Odczyt równoległy

Właściwość ta określa, czy parts w różnych grupach ustawione na niezderzanie się zignoruje kolizje i zdarzenia dotykowe.Domyślnie wartość tej właściwości jest ustawiona na false .

Gdy ta właściwość jest włączona, części w różnych grupach ustawione na niezderzanie się również zignorują właściwość CanTouch, podobnie jak ignorowana jest właściwość BasePart.CanCollide.Aby uzyskać więcej informacji o zachowaniu CanTouch, odwiedź jego stronę właściwości.

Metody

GetNumAwakeParts

Zapis równoległy

Zwraca liczbę BaseParts, które są uważane za aktywne fizycznie, ze względu na to, że niedawno były pod wpływem fizyki.

Funkcja ta dostarcza miarę tego, jak wiele BaseParts jest wpływanych przez, lub ostatnio pod wpływem, sił fizycznych.


local Workspace = game:GetService("Workspace")
print(Workspace:GetNumAwakeParts())

Śpij vs Budzne części

Aby zapewnić dobrą wykonywanie, Roblox ustawia BaseParts, w którym fizyka nie jest stosowana do stanu "śpienia".BaseParts z ustawieniem BasePart.Anchored na prawdę, na przykład zawsze będzie spał, ponieważ fizyka nie ma zastosowania do nich.Gdy siła zostanie zastosowana do niewzmocnionego BasePart, zostanie zastosowany stan "budzony".Podczas gdy BasePart jest przebudzony silnik fizyczny Roblox będzie wykonywał ciągłe obliczenia, aby zapewnić, że siły fizyczne prawidłowo interakują z częścią.Gdy BasePart przestanie być poddawany siłom fizycznym, powróci do stanu "śpienia".


Zwroty

Liczba budzonych części.

GetPhysicsThrottling

Zapis równoległy

Zwraca całkowitą liczbę, pomiędzy 0 a 100, reprezentującą odsetek czasu rzeczywistego, do którego obecnie jest ograniczana symulacja fizyczna.

Funkcja ta może być używana do określenia, czy i w jakim stopniu występuje ograniczenie przepustowości fizyki.

Co to jest ograniczanie fizyki?

Ograniczanie fizyki występuje, gdy silnik fizyczny wykrywa, że nie może nadążyć za grą w czasie rzeczywistym.Kiedy fizyka jest ograniczana, aktualizuje się rzadziej, powodując, że BaseParts wydaje się poruszać wolniej.

Bez ograniczania przepustowości symulacja fizyczna będzie spadać dalej w niezgodności z grą.Może to prowadzić do niższych szybkości klatek i innych niepożądanych zachowań.

Obiekty powiązane z Humanoids są zwolnione z ograniczania fizyki.

Zobacz też Workspace:SetPhysicsThrottleEnabled().

Demonstracja ograniczania fizyki

Twórcy powinni zawsze unikać tworzenia miejsc, które obciążają silnik fizyczny, ponieważ prowadzi to do słabej wrażenia dla graczy.Ci, którzy chcą jednak symulować ograniczanie fizyki do celów badawczych, muszą jedynie szybko stworzyć wiele Parts bardzo szybko.


local Workspace = game:GetService("Workspace")
local i = 0
while true do
i += 1
if i % 5 == 0 then
task.wait()
end
local part = Instance.new("Part", Workspace)
end

Zwroty

Procent czasu rzeczywistego, do którego obecnie jest ograniczana symulacja fizyczna.

GetRealPhysicsFPS

Zapis równoległy

Zwraca liczbę klatek na sekundę, przy których obecnie symulowana jest fizyka.

Używanie GetRealPhysicsFPS do walki z exploiterami

Powszechnym użyciem tej funkcji jest wykrycie, czy exploiterzy zwiększają szybkość ramy fizyki lokalnej, aby poruszać się szybciej.Zazwyczaj dokonuje się tego, porównując wynik zwrócony przez GetRealPhysicsFPS klienta do maksymalnego, który nie zostanie naruszony w normalnych warunkach (zwykle 65 lub 70).Jeśli ten limit zostanie naruszony, programiści mogą użyć funkcji Player:Kick(), aby usunąć to Player z gry.Ważne jest, aby pamiętać, że choć praktyka ta może być skuteczna czasami, środki zapobiegające nadużyciom strony klienta nigdy nie są w 100% niezawodne.


Zwroty

Zwraca liczbę klatek na sekundę, przy których obecnie symulowana jest fizyka.

Przykłady kodu

Speed exploiters commonly increase their local physics FPS in order to increase their character speed. This can be detected from a LocalScript by checking if the player's physics FPS is over the maximum:

Workspace:GetRealPhysicsFPS

local Players = game:GetService("Players")
local player = Players.LocalPlayer
while task.wait(1) do
if workspace:GetRealPhysicsFPS() > 65 then
player:Kick()
end
end

GetServerTimeNow

Zapis równoległy

GetServerTimeNow() zwraca najlepszą aproximację klienta dotyczącą obecnego czasu na serwerze.Jest to przydatne do tworzenia zsynchronizowanych doświadczeń, ponieważ każdy klient otrzyma takie same wyniki niezależnie od strefy czasowej lub lokalnego czasu.

Wywraca to czasoprzestrzeń Unix podobny do os.time(), który można używać z os.date() lub z DateTime.fromUnixTimestamp().

Czas powrotu czasu przez tę funkcję jest wygładzony tak, że:

  • Jest monotoniczny; jego wartość nigdy nie zmniejszy się.
  • Porusza się z taką samą prędkością jak lokalny zegar do 0,6%.

GetServerTimeNow() jest drogie do wywołania w porównaniu do DateTime.now() i jest mniej precyzyjne niż os.clock() , więc powinno być używane, aby upewnić się, że wydarzenie rozpocznie się w odpowiednim czasie rzeczywistym lub dostosowywać rzeczy okresowo, aby utrzymać serię wydarzeń w zgodności.

Funkcja ta polega na serwerze, więc wezwanie jej z klienta, który nie jest połączony, spowoduje błąd.Zauważ też, że ta funkcja nie jest odpowiednia do rzeczy takich jak czasowe nagrody, ponieważ nie jest bezpieczna w porównaniu do śledzenia takich czasomierzy na serwerze.

Zobacz także:


Zwroty

Szacowany czas戳 Unix na serwerze.

JoinToOutsiders

()

Funkcja ta tworzy stawy między określonymi Parts i dowolnymi częściami dotykającymi w zależności od powierzchni części i określonego trybu tworzenia stawów.

Funkcja ta tworzy połączenia między określonymi częściami i dowolnymi płaskimi powierzchniami dotykającymi, w zależności od powierzchni części i określonego trybu tworzenia połączeń.

  • Klej, klamry, wloty, uniwersalne, spawanie i gładkie powierzchnie wszystkie utworzą instancje spawania.
  • Sfery nie będą spawane powierzchniowo do niczego. Zakrzywione strony cylindrów nie będą spawane powierzchniowo, ale płaskie strony końcowe będą.
  • Powierzchnie zawiasów i silników nadal będą tworzyć Rotate i RotateP wspólne instancje, niezależnie od kształtu części.

Pierwszy parametr to tablica BaseParts.Stawy zostaną utworzone tylko między częściami w matrycy, a nie w matrycy.Nie zostaną utworzone stawy między częściami w matrycy.

Drugim parametrem jest Enum.JointCreationMode, który określa, jak powstają stawy.Przekazanie wartości enum, Enum.JointCreationMode.All lub Enum.JointCreationMode.Surface , ma takie samo zachowanie, które odpowiada Zawsze dołączaj

Funkcja ta jest używana przez narzędzie Przesuwania w Roblox Studio Studio, gdy użytkownik kończy przesuwanie wyboru.W połączeniu z Plugin:GetJoinMode() i Workspace:UnjoinFromOutsiders() może być używany do zachowania funkcjonalności połączenia podczas opracowywania niestandardowych narzędzi budowania studio.Zobacz kodowania poniżej dla przykładu.


local Workspace = game:GetService("Workspace")
-- Zakończono przesuwanie wyboru; utwórz stawy
local function finishedMovingParts(parts)
local joinMode = Plugin:GetJoinMode()
Workspace:JoinToOutsiders(parts, joinMode)
end

local Workspace = game:GetService("Workspace")
-- Zaczęto przesuwać wybór; złamuj stawy
local function startMovingParts(parts)
Workspace:UnjoinFromOutsiders(parts)
end

Parametry

objects: Instances

Zbiór BaseParts dla którego mają być wykonane połączenia.

Wartość domyślna: ""

Do użycia jest Enum.JointCreationMode . Przekazanie Enum.JointCreationMode.All lub Enum.JointCreationMode.Surface ma takie samo zachowanie, które odpowiada Zawsze dołączaj.

Wartość domyślna: ""

Zwroty

()

PGSIsEnabled

Wyświetla true jeśli gra ma włączony rozwiązacz PGS Physics.

Ponieważ Workspace.PGSPhysicsSolverEnabled, funkcja PGSIsEnabled pozwala programistom powiedzieć, z jakim rozwiązaniem fizycznym gra korzysta.


Zwroty

Prawda, jeśli włączono rozwiązanie PGS.

UnjoinFromOutsiders

()

Łamie wszystkie stawy między określonym BaseParts a innym BaseParts.

Ta funkcja wymaga matrycy BaseParts.Uwaga, stawy nie zostaną złamane między tymi BaseParts (między sobą), tylko między tymi BaseParts i innymi BaseParts nie w array.

Funkcja ta jest używana przez narzędzie Przesuwania w Roblox Studio Studio, gdy użytkownik zaczyna przesuwać wybór.W połączeniu z Plugin:GetJoinMode() i Workspace:JoinToOutsiders() może być używany do zachowania funkcjonalności połączenia podczas opracowywania niestandardowych narzędzi budowania Studio.Zobacz kodowania poniżej dla przykładu.


local Workspace = game:GetService("Workspace")
-- Finished moving a selection; make joints
local function finishedMovingParts(parts)
local joinMode = Plugin:GetJoinMode()
Workspace:JoinToOutsiders(parts, joinMode)
end

local Workspace = game:GetService("Workspace")
-- Started moving a selection; break joints
local function startMovingParts(parts)
Workspace:UnjoinFromOutsiders(parts)
end

Parametry

objects: Instances

Matryca BaseParts.

Wartość domyślna: ""

Zwroty

()

ZoomToExtents

()
Zabezpieczenia dodatku plug-in

Pozycje i powiększenia Workspace.CurrentCamera pokazują zakres BaseParts obecnie w Workspace.

Funkcja ta była używana w teraz usuniętym przycisku "Przybliż do rozmiarów" w Roblox Studio.Pokazuje podobne zachowanie do funkcja"Przybliż do" (F skrót), jednak pokazuje rozmiary Workspace zamiast wybranego obiektu.

Funkcja ta nie może być używana w skryptach, ale będzie działać w pasku poleceń lub wtyczkach.


Zwroty

()

Zdarzenia

PersistentLoaded

To wydarzenie wystrzeliwuje za każdym razem, gdy gracz otrzymał wszystkie aktualne trwałe modele i bezwzględne modele atomowe bez części.Parametr player wskazuje, który gracz otrzymał wszystkie odpowiednie instancje.

Zauważ, że ładowanie doświadczenia następuje przed trwałym ładowaniem i wystrzelaniem wydarzenia DataModel.Loaded, co nie oznacza, że wszystkie trwałe modele są obecne.

Parametry

player: Player