- Dokumentacja
- Funkcje klienta
- engineLoadMesh
Funkcja
engineLoadMesh
Wczytuje model 3D z pliku zasobu: .obj, .stl, .ply, .gltf, .glb, .fbx, .3ds oraz .dff z GTA SA (tekstury z .txd obok). Model stawiasz przez createMeshObject albo podstawiasz pod numer przez engineReplaceModel.
Składnia
mesh engineLoadMesh(string filePath [, string format])Argumenty
filePathstring- Plik modelu.
formatstring, opcjonalny- Format, gdy rozszerzenie go nie mówi.
Zwraca
Model albo false.
Przykład
local mesh = engineLoadMesh("modele/pomnik.glb")
if mesh then createMeshObject(mesh, 2495, -1680, 13.5) end
<meta>
<script src="client.lua" type="client" />
<file src="modele/pomnik.glb" />
</meta>
Uwagi
Prosto z Blendera. Modele prosto z Blendera i innych programów (glTF, FBX, OBJ), bez konwersji do DFF.
Zobacz też
createMeshObjectStawia model zengineLoadMeshw świecie, tylko u tego gracza: pozycja, obrót i skala. Obiektem sterujesz funkcjamisetMeshObject*.engineReplaceModelPodmienia wygląd modelu o danym numerze: na zasób silnika (engineLoadAsset) albo model z pliku (engineLoadMesh). Obiekty, pojazdy i postacie (skiny 0-312; model z pliku bez szkieletu jest statyczny) o tym numerze pokazują nowy model. Obiekt bez własnej kolizji dostaje kolizję z.dffalbo z trójkątów modelu; własną kolizję dajeengineReplaceCOL. Działa u tego gracza, więc wywołuj w skrypcie klienta. Podmiana nowego modelu zengineRequestModel, który jeszcze nie powstał w grze (gracz właśnie wchodzi, restart zasobu), czeka na niego; numer modelu, którego nie ma, dajefalse.engineFreeMeshZwalnia model zengineLoadMesh; obiekty postawione z niego znikają.getMeshInfoZwraca dane modelu zengineLoadMesh: format, liczbę wierzchołków i trójkątów oraz obrys{ minX, minY, minZ, maxX, maxY, maxZ }w metrach.