ResourceImporterScene
Eredita: ResourceImporter < RefCounted < Object
Importa una scena 3D da glTF, FBX, COLLADA o Blender.
Descrizione
Vedi anche ResourceImporterOBJ, che è utilizzato per i modelli OBJ che è possibile importare come Mesh indipendente o come scena.
Ulteriori opzioni (come l'estrazione di singole mesh o materiali in file) sono disponibili nella finestra di dialogo Impostazioni di importazione avanzate. Questa finestra di dialogo è accessibile facendo doppio clic su una scena 3D nel pannello FileSystem o selezionando una scena 3D nel pannello FileSystem, andando al pannello Importazione e scegliendo Avanzate.
Nota: ResourceImporterScene non è utilizzato per i PackedScene, come i file .tscn e .scn.
Tutorial
Proprietà
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Descrizioni delle proprietà
Dictionary _subresources = {} 🔗
Contiene proprietà per le sotto-risorse della scena. Questa è un'opzione interna che non è visibile nel pannello dell'Importazione.
Il numero di fotogrammi al secondo da utilizzare per preparare le curve di animazione in una serie di punti con interpolazione lineare. Si consiglia di configurare questo valore in modo che corrisponda al valore che si sta usando come base nel software di modellazione 3D. Valori più alti producono un'animazione più precisa con rapidi cambiamenti di movimento, a scapito di maggiori dimensioni del file e utilizzo della memoria. Grazie all'interpolazione, di solito andare oltre i 30 FPS non è molto vantaggioso (poiché l'animazione apparirà comunque fluida a frame rate di rendering più elevati).
bool animation/import = true 🔗
Se true, importa le animazioni dalla scena 3D.
bool animation/import_rest_as_RESET = false 🔗
Se true, aggiunge un'Animation denominata RESET, contenente il Skeleton3D.get_bone_rest() dai nodi Skeleton3D. Questo può essere utile per estrarre un'animazione nella posa di riferimento.
bool animation/remove_immutable_tracks = true 🔗
Se true, rimuovi le tracce di animazione che contengono solo valori predefiniti. Ciò può ridurre le dimensioni del file risultante e l'utilizzo di memoria con alcune scene 3D, a seconda del contenuto delle loro tracce di animazione.
bool animation/trimming = false 🔗
Se true, taglia l'inizio e la fine delle animazioni se non ci sono cambiamenti per i fotogrammi chiave. Ciò può ridurre le dimensioni del file risultante e l'utilizzo di memoria con alcune scene 3D, a seconda del contenuto delle loro tracce di animazione.
String import_script/path = "" 🔗
Percorso a uno script di importazione, il quale può eseguire codice dopo il completamento del processo di importazione per un'elaborazione personalizzata. Vedi Utilizzo di script di importazione per l'automazione per maggiori informazioni.
Modalità di estrazione dei materiali.
0 (Keep Internal), i materiali non sono estratti.1 (Extract Once), i materiali sono estratti una volta e riutilizzati nelle importazioni successive.2 (Extract and Overwrite), i materiali sono estratti e sovrascritti a ogni importazione.
int materials/extract_format = 0 🔗
Formato dei file dei materiali estratti.
0 (Text), formato di file testuale (*.tres).1 (Binary), formato di file binario (*.res).2 (Material), formato di file bionario (*.material).
String materials/extract_path = "" 🔗
Il percorso in cui i materiali estratti sono salvati. Se vuoto, è utilizzato il percorso della scena sorgente.
bool meshes/create_shadow_meshes = true 🔗
Se true, abilita la generazione di mesh per le ombre all'importazione. Ciò ottimizza il rendering delle ombre senza ridurre la qualità saldando i vertici insieme quando possibile. Ciò a sua volta riduce la banda di memoria richiesta per renderizzare le ombre. La generazione dei mesh per le ombre al momento non supporta l'uso di un livello di dettaglio inferiore rispetto alla mesh sorgente (ma il rendering delle ombre utilizzerà i LOD quando appropriato).
bool meshes/ensure_tangents = true 🔗
Se true, genera le tangenti dei vertici usando Mikktspace se la mesh in ingresso non ha dati per le tangenti. Quando possibile, si consiglia di lasciare che il software di modellazione 3D generi le tangenti durante l'esportazione invece di affidarsi a questa opzione. Le tangenti sono necessarie per visualizzare correttamente le mappe di normali e d'altezza, insieme a qualsiasi funzionalità di un materiale o shader che le richiede.
Se non c'è bisogno di funzionalità che richiedono le tangenti, disabilitando questa opzione è possibile ridurre le dimensioni del file risultante e velocizzare l'importazione se il file 3D in ingresso non contiene tangenti.
bool meshes/force_disable_compression = false 🔗
Se true, la compressione della mesh non sarà utilizzata. Considera di abilitarla se noti artefatti a blocchi nelle normali o UV della mesh, o se hai mesh più grandi di qualche migliaio di metri in ogni direzione.
bool meshes/generate_lods = true 🔗
Se true, genera variazioni di dettaglio inferiori della mesh che saranno visualizzate in lontananza per migliorare le prestazioni di rendering. Non tutte le mesh approfittano dei LOD, soprattutto se non sono mai renderizzate da lontano. Disattivando questa opzione è possibile ridurre le dimensioni del file risultante e velocizzare l'importazione. Consulta Livello di dettaglio delle mesh (LOD) per maggiori informazioni.
Configura la GeometryInstance3D.gi_mode delle mesh nella scena 3D. Se impostato su Static Lightmaps, imposta la modalità GI delle mesh su Static e genera gli UV2 all'importazione per il precalcolo di LightmapGI.
float meshes/lightmap_texel_size = 0.2 🔗
Controlla la dimensione di ogni texel sulla lightmap precalcolata. Un valore più piccolo produce lightmap più precise, a costo di dimensioni maggiori e tempi di precalcolo più lunghi.
Nota: Efficace solo se meshes/light_baking è impostato su Static Lightmaps.
bool nodes/apply_root_scale = true 🔗
Se true, nodes/root_scale sarà applicato ai nodi discendenti, mesh, animazioni, ossa, ecc. Ciò significa che se aggiungi in seguito un nodo figlio all'interno della scena importata, non sarà ridimensionato. Se false, nodes/root_scale moltiplicherà invece la scala del nodo radice.
bool nodes/import_as_skeleton_bones = false 🔗
Tratta tutti i nodi nella scena importata come se fossero ossa all'interno di un singolo Skeleton3D. Può essere utilizzato per assicurare che le animazioni importate puntino alle ossa dello scheletro piuttosto che ai nodi. Può anche essere utilizzato per assegnare l'osso "Root" in una BoneMap. Consulta Retargeting 3D Skeletons per maggiori informazioni.
Sostituzione per il nome del nodo radice. Se vuoto, il nodo radice usare ciò che specifica la scena, o il nome del file se la scena non specifica un nome radice.
float nodes/root_scale = 1.0 🔗
La scala uniforme da usare per la radice della scena. Il valore predefinito di 1.0 non effettuerà alcun ridimensionamento. Vedi nodes/apply_root_scale per i dettagli su come viene applicata questa scala.
Script nodes/root_script = null 🔗
Se impostato su uno script valido, allega lo script al nodo radice della scena importata. Se il tipo del nodo radice non è compatibile con lo script, il nodo radice sarà sostituito con un tipo compatibile. È possibile utilizzare questa impostazione anche su altri nodi non mesh nella scena per allegarvi degli script.
Sostituzione per il tipo di nodo radice. Se vuoto, il nodo radice utilizzerà ciò che specifica la scena, oppure Node3D se la scena non specifica un tipo radice. Si consiglia di utilizzare un tipo di nodo che eredita da Node3D. Altrimenti, non sarà possibile posizionare il nodo direttamente nell'editor 3D.
bool nodes/use_name_suffixes = true 🔗
Se true, usa i suffissi nei nomi degli oggetti importati, come nodi e risorse, per determinare i tipi e le proprietà, come -noimp per saltare l'importazione di un nodo o di un'animazione, -alpha per abilitare la trasparenza alfa su un materiale, e -vcol per abilitare i colori dei vertici su un materiale. Disattivando questa opzione, i file importati dall'editor diventano più simili ai file originali e ai file importati in fase di esecuzione. Vedi Personalizzazione del tipo di nodo tramite suffissi dei nomi per maggiori informazioni.
bool nodes/use_node_type_suffixes = true 🔗
Se true, userà i suffissi nei nomi dei nodi per determinare il tipo di nodo, come -col per le forme di collisione. Questo è utilizzato solo quando nodes/use_name_suffixes è true. Disattivando questa opzione, i file importati dall'editor diventano più simili ai file originali e ai file importati in fase di esecuzione. Vedi Personalizzazione del tipo di nodo tramite suffissi dei nomi per maggiori informazioni.
bool skins/use_named_skins = true 🔗
Se spuntato, usa Skin denominate per l'animazione. Il nodo MeshInstance3D contiene 3 proprietà qui rilevanti: un NodePath che punta al nodo Skeleton3D (solitamente ..), una mesh e una skin:
Il nodo Skeleton3D contiene una lista di ossa con nomi, la loro posa e il loro riposo, un nome e un osso padre.
La mesh è composta da tutti i dati grezzi dei vertici necessari per visualizzare una mesh. In termini di mesh, sa come i vertici sono dipinti con peso e usa una numerazione interna spesso importata dal software di modellazione 3D.
La skin contiene le informazioni necessarie per associare questa mesh a questo Skeleton3D. Per ognuno degli ID delle ossa interne scelti dal software di modellazione 3D, contiene due cose. Innanzitutto, una matrice nota come Bind Pose Matrix, Inverse Bind Matrix o IBM in breve. Inoltre, la Skin contiene il nome di ogni osso (se skins/use_named_skins è
true), o l'indice dell'osso all'interno della lista dello Skeleton3D (se skins/use_named_skins èfalse).
Insieme, queste informazioni sono sufficienti per dire a Godot come usare le pose dell'osso nel nodo Skeleton3D per renderizzare la mesh da ogni MeshInstance3D. Nota che ogni MeshInstance3D può condividere i bind, come è comune nei modelli esportati da Blender, oppure ogni MeshInstance3D può usare un oggetto Skin separato, come è comune nei modelli esportati da altri strumenti come Maya.