Propy · 3 min czytania

Jak zamienić GLB na prop FiveM bez Blendera

Czytaj w języku: English · Español · Français · Deutsch · Português · Italiano · Türkçe · Русский

GLB to Prop z wczytanym modelem przyczepy: widok 3D z jej rozmiarem w metrach oraz panele transformacji, wymiarów i punktu zaczepienia

Znalazłeś idealny model na Sketchfabie, zrobiłeś go w Blenderze albo wygenerowałeś narzędziem AI i chcesz go mieć na serwerze FiveM jako prop, który można zespawnować. Zwykle oznacza to Blendera, dodatek Sollumz, CodeWalkera i sporo nauki. To samo można zrobić online w parę minut.

Z czego składa się prop FiveM

Prop, który gra może zespawnować po nazwie, to trzy pliki w folderze stream zasobu, plus jedna linia w fxmanifeście:

  • .ydr: sam model, z jego shaderami i kolizją.
  • .ytd: jego tekstury (mogą być też wewnątrz .ydr).
  • .ytyp: jego archetyp, czyli wpis, który czyni z propu obiekt do postawienia: nazwa, rozmiar, zasięg rysowania, słownik tekstur i fizyka. (Więcej o .ytyp.)
lua
data_file 'DLC_ITYP_REQUEST' 'stream/my_prop.ytyp'

Plik .glb zawiera model i jego tekstury w jednym pliku, dlatego to najłatwiejszy punkt wyjścia. Wyeksportuj go z Blendera jako glTF Binary (.glb); .gltf z osobnymi plikami się nie nadaje.

Sprawdź licencję modelu przed użyciem. CC Attribution oznacza, że musisz podać autora, a niektóre licencje zabraniają użytku komercyjnego.

Konwertuj krok po kroku

Otwórz GLB to Prop i przeciągnij swój .glb (albo naciśnij Try a 1 m test cube (wypróbuj testowy sześcian 1 m), żeby najpierw zobaczyć, jak to działa). Skompresowane GLB (Draco, meshopt, tekstury KTX2 lub WebP) są rozpakowywane w przeglądarce, zanim cokolwiek zostanie wysłane.

  1. Ustaw rozmiar. Obok modelu stoi ped freemode. Jeśli model przyszedł w centymetrach lub milimetrach, ustaw File units (jednostki pliku); albo wpisz rozmiar w metrach.
  2. Obróć. Model leżący na boku trzeba obrócić o ćwierć obrotu: X +90°. Drop (G) kładzie go na podłodze.
  3. Ustaw punkt zaczepienia. Domyślnie Bottom centre (środek dołu): CreateObject stawia ten punkt w podanych współrzędnych, więc prop stoi na ziemi w miejscu, w którym go spawnujesz.
  4. Nazwij go małymi literami, cyframi i _. Użyj własnego prefiksu: nazwy zaczynające się jak nazwy gry (prop_, v_, p_…) dostają ostrzeżenie, bo mogą kolidować z modelami GTA.
  5. Wybierz kolizję: Fitted (convex hull) (dopasowana wypukła otoczka) pasuje do większości propów, Its own triangles (własne trójkąty) do propów, w które się wchodzi, i podłóg, Box around it (pudełko wokół) do skrzyń i bloków, None (brak) do dekoracji. Wybierz też Surface (powierzchnię), np. beton, metal czy drewno, żeby mieć właściwe dźwięki i ślady po kulach.
  6. Kliknij Download the FiveM resource (.zip) (pobierz zasób FiveM, .zip).

W sekcji Advanced (zaawansowane) możesz też zostawić tekstury w .ydr, zrobić poligony dwustronnymi, ustawić największy rozmiar tekstury (domyślnie 1024 px) i to, jak daleko prop jest rysowany (Seen up to, domyślnie 100 m). Zaznacz Static (can't be pushed) (statyczny, nie da się przesunąć) dla propów, które nigdy nie mają się ruszać.

Umieść go na serwerze

Zip zawiera folder nazwany jak twój prop, z jego fxmanifest.lua oraz .ydr, .ytd i .ytyp w stream/. Wrzuć ten folder do resources, dodaj ensure my_prop do server.cfg i zrestartuj. Strona pokaże kod, który go zespawnuje przed tobą:

lua
local model = `my_prop`
RequestModel(model)
while not HasModelLoaded(model) do Wait(0) end
local c = GetEntityCoords(PlayerPedId())
local obj = CreateObject(model, c.x, c.y + 1.0, c.z - 1.0, true, true, false)

Poradnik wideo robi to wszystko z darmowym modelem z Sketchfaba: od pobrania do propa w grze.

Czego jeszcze nie robi

  • Jeden poziom szczegółowości. Prop jest rysowany z pełną szczegółowością na całym dystansie, na jakim w ogóle jest rysowany. Niższe LOD-y dodasz później w Prop LOD Builder.
  • Jedna powierzchnia na prop. Dla propu, który na jednej stronie jest metalowy, a na drugiej drewniany, albo kolizji ukształtowanej ręcznie, otwórz wynik w Prop Collision Editor.
  • Brak ruchomych części i świateł. YDR Animation robi propy, które same się ruszają; Prop Lights wstawia w nie prawdziwe światła.

Bardzo ciężkie modele (ponad 150 000 trójkątów) dostają ostrzeżenie: gracze to odczują. Modele generowane przez AI są często dużo cięższe, niż muszą być.

Pytania

Czy mogę przekonwertować FBX lub OBJ?
Otwórz go najpierw w Blenderze (lub innej aplikacji 3D) i wyeksportuj jako .glb. GLB to Prop przyjmuje tylko .glb.
Czy działa z ESX, QBCore i QBox?
Tak. Prop to streamowany zasób, a nie skrypt: każdy framework spawnuje go po nazwie.
Dlaczego mój przerobiony prop unosi się lub zapada?
Jego punkt zaczepienia nie jest tam, gdzie myślisz. Przy Bottom centre punkt jest na dole modelu, więc prop stoi w miejscu, w którym go spawnujesz. Więcej w poradniku o kolizji.

Narzędzie do tego

GLB to Prop

Przeciągnij swój .glb, ustaw rozmiar obok peda freemode, wybierz kolizję i pobierz zasób FiveM z .ydr, .ytd i .ytyp.

Otwórz GLB to Prop

Przydatne także tutaj: Prop LOD Builder · Prop Collision Editor

Więcej poradników

Wszystkie poradniki →

Każde narzędzie możesz wypróbować za darmo: 5 eksportów dziennie. Zaloguj się przez Discord, aby z nich korzystać.