Oddělená vizuální síť
Přiřaďte importovanému Soft Body detailní vizuál a zachovejte jednoduchou fyziku. Oba modely potřebují odpovídající origin, osy, velikost a čitelné buffery před freeze(). Vizuál může mít otevřené/dekorativní části. Vazba používá rest geometrii a sleduje aktuální deformaci i při pozdějším přiřazení. Počáteční měřítko/rotace fyziky platí i pro vizuál.
Příklad#
if (!soft.set_visual_model(model_visual)) {
show_debug_message(jolt_get_error());
}
soft.set_renderer(o_control_bbmod_renderer.renderer);Použití a omezení#
set_visual_model(model,max_distance) naváže vizuální body na blízké fyzikální trojúhelníky pevnými vahami a odstupy. Výchozí maximální vzdálenost je čtvrtina diagonály fyzikálních bounds. Neplatné propojení vrací false a zachová předchozí vizuál. set_visual_model(undefined) vrátí fyzikální síť. Funkci podporují uzavřené importované modely i importovaná látka.
Vizuální limity jsou 32768 rozdělených vrcholů a 32768 trojúhelníků; fyzika zůstává 4096/8192. UV, materiálové skupiny a dělení normál zůstávají; normály/tangenty se přepočítají. Skinning, vertex colors, UV2 a batch IDs nejsou podporované. Vizuální detail nemá vlastní kolizi. Propojení a nativní CPU deformace mají náklady: nepřiřazujte každý Step. Zdrojová geometrie se nemění a sdílené materiály musí zůstat platné.
Přehled API#
Signatury veřejných funkcí a metod. Metody volejte na vrácené instanci; parametry s výchozí hodnotou jsou volitelné.
| Funkce / metoda | Signatura |
|---|---|
| JoltBBMODModel.has_visual_model | JoltBBMODModel.has_visual_model() |
| JoltBBMODModel.set_visual_model | JoltBBMODModel.set_visual_model(model=undefined,max_distance=undefined) |
Související návody#
- Převod staršího kódu
- Výběr měkkého tělesa
- Měkká koule
- Objemový měkký kvádr
- Import uzavřeného modelu
- Látkový model a pojmenované úchyty
- Prostorové úchyty
- Lokální síla a impulz
- Vítr
- Přenášení měkkých těles
Ověřené kontrakty operací#
Následující kontrakty rozlišují jednotky, návratové hodnoty, chyby a životnost podle aktuální implementace. Nevynechávej kontrolu výsledku: false, 0 a undefined mohou mít u různých metod odlišný význam.
| Symbol / vlastník | Signatura | Kontrakt operace |
|---|---|---|
| JoltBBMODModel.has_visual_model | JoltBBMODModel.has_visual_model() | Boolean: živý objekt s navázaným vizuálním skinem; false po zničení/odpojení. |
| JoltBBMODModel.set_visual_model | JoltBBMODModel.set_visual_model(model=undefined,max_distance=undefined) | Boolean; statický načtený BBMOD model před freeze, stejný klidový počátek/osy/jednotky. Max. 32768 trojúhelníků a position/normal vrcholů. max_distance v (0, 10000] m; default čtvrtina diagonály fyzikálního bbox. Selhání zachová původní skin. undefined obnoví fyzikální mesh. Nemění částice/attachmenty ani původní model. |