Caricamento...
Caricamento...
Dall'Ontologia dell'Oggetto Digitale alla Performance Binary-Raw. Un formato proprietario progettato per eliminare il parser e consegnare i dati direttamente alla GPU.

OBJ · FBX · GLTF
Parse overhead. Strutture rigide.
Zero logica applicativa.
›I formati OBJ/FBX sono progettati per la portabilità, non per la performance. Ogni load attraversa un parser testuale/binario generico che ricostruisce strutture dati intermedie prima di arrivare alla GPU.
›Questo introduce overhead di parsing, allocazioni heap non necessarie e zero possibilità di codificare logica applicativa (fisica, stato, rete) nel file stesso.
›Il risultato: l'engine deve mantenere tabelle di lookup esterne, configurazioni su prefab e sistemi di ownership separati — complessità accidentale che UBF elimina alla radice.
›ontology→fisica, acustica, rifrazione
›states→integrità, autorità di rete
›lod_rules→budget per livello LOD
›net_auth→ownership multiplayer
Leggibile da editor, versionabile con Git, estensibile senza breaking changes.
›vertex_buf[]→posizioni nello spazio oggetto
›index_buf[]→topologia della mesh
›skin_weights[]→bone influences per vertex
›blend_shapes[]→morph targets pre-calcolati
Caricato con un singolo memcpy() — zero parsing, zero allocazioni intermedie.
›Ogni oggetto UBF incorpora nel proprio layer JSON una sezione dedicata ai tratti fisici immutabili: densità geometrica (poligoni/unità volume), indice di rifrazione dei materiali e proprietà acustiche superficiali.
›Questo permette all'engine di leggere il comportamento fisico di un oggetto — come si comporta alla luce, come riflette il suono — direttamente dal file, senza ricorrere a tabelle esterne o configurazioni su prefab.
›UBF introduce il concetto di stato contestuale del file: l'integrità strutturale di un oggetto (intatta, danneggiata, distrutta) può essere definita come valore float normalizzato nel metadata JSON e letta a runtime dall'engine.
›Il campo `net_authority` specifica quale peer ha il diritto di modificare lo stato dell'oggetto in una sessione multiplayer, eliminando la necessità di sistemi di ownership esterni al formato stesso.
›Il sistema LOD di UBF non si limita a sostituire la mesh a distanza — ogni livello LOD porta i propri parametri fisici e ottici, permettendo che la semplificazione geometrica coincida con la riduzione della precisione fisica.
›Un oggetto a LOD3 può avere ombre semplificate, nessun calcolo di rifrazione e collider convex a capsula: tutto codificato nel file, nessun tweaking manuale su prefab.
Un editor visuale nativo costruito su stack OpenGL + GLFW + Dear ImGui per la costruzione, anteprima e ottimizzazione di asset UBF a livello di buffer.
›Viewport OpenGL real-time con preview della mesh e dei suoi LOD in overlay wireframe.
›Pannello Dear ImGui per la modifica in-place di tutti i metadati JSON (fisica, stati, LOD rules) con hot-reload immediato.
›Esportazione diretta in formato UBF binario con validazione dell'header e checksum CRC32.
›Profiler integrato: mostra vertex count, memory footprint per LOD e stima di upload time GPU.
›Deserializzazione JSON layer tramite Unity's low-level JsonUtility — nessuna allocazione heap aggiuntiva.
›Il binary stream viene caricato con NativeArray<byte> via Unity.Collections e passato direttamente al VertexBuffer della Mesh API, zero conversioni intermediate.
›La skinned mesh architecture legge bone weights e bind poses direttamente dal binary stream, bypassando il SkinnedMeshRenderer default pipeline.
›Il sistema LOD si integra con il LODGroup di Unity usando i parametri di poly_budget e physics_mode estratti dal JSON.
Un custom AssetImporter C# integrato nella pipeline Unity che carica asset UBF con gestione low-level della memoria, skinned mesh nativa e LOD automatico.