Approvato: Fortect
Questo tutorial è stato scritto per aiutare tutti se ricevi il codice di errore della funzionalità unity3d heightmap.
Ho trovato un sistema migliore. Unity può importare file non salvati e prenderli in sequenza se la loro estensione è cambiata in .bytes e il cliente ha usato il tipo UnityEngine.TextAsset per fare riferimento ad essi. Ho pagato per estendere il metodo per la classe TerrainData, che spesso può caricare dati grezzi provenienti dall’array UnityEngine.TextAsset.bytes.
Approvato: Fortect
Fortect è lo strumento di riparazione PC più popolare ed efficace al mondo. Milioni di persone si affidano a milioni di persone per mantenere i loro sistemi in esecuzione veloci, fluidi e privi di errori. Grazie alla sua semplice interfaccia utente e al potente motore di scansione, Fortect trova e risolve rapidamente un'ampia gamma di problemi di Windows, dall'instabilità del sistema e problemi di sicurezza alla gestione della memoria e ai colli di bottiglia delle prestazioni.
Puoi organizzare un array di TextAsset nel tuo script e trascinare e rilasciare precise mappe di altezza .byte per tenerlo a mente. Direi all’ispettore:
TextAsset comune [] Heightmaps;
Quando le persone vogliono impostare una mappa dell’altezza rispetto a un paesaggio, lo gestiscono:
Terrain.terrainData.LoadHeightmap (heightmap [indice]. byte);
Questo è uno script di simboli di estensione relativo a TerrainData. È possibile trovare il formato byte (Little (Windows) o Big (Macintosh)). Se AdjustResolution è preciso, la mappa dell’altezza dell’output del terreno viene confrontata con questo particolare intero file.
con UnityEngine; Utilizzo di System.Collections; ordine di byte dell'enumerazione pubblica Piccolo, Di spessore classe TerrainExtensions statica pubblica Client static void LoadHeightmap (questo è TerrainData tData,byte [] rawData, Endianness dataEndianness è uguale a Endianness.Little, bool AdjustResolution significa falso) int h = (int) Mathf.Sqrt ((float) rawData.Length / 2); Se (regolare la risoluzione) Dimensione variabile = tData.size; tData.heightmapResolution = h; tData.size - dimensione; altrimenti if (h> tData.heightmapHeight) m = tData.heightmapHeight; intero semplicistico y = h; deriva [,] cifre = nuovo float [h, w]; int questa volta i = 0; for (int y tattica 0; y
Se qualcuno si occupa del tuo progetto, dovrai puntare quel file heightmap alla directory dei dati (denotata Application.dataPath) dopo il completamento della build. Utilizzando il percorso di accesso predefinito durante questo scenario, è necessario avviare una nuova cartella DEM nei dati. La cartella contiene anche un file heightmap.raw. In spesso il programma, la cartella dei dati è ProjectFolder / Assets, quindi puoi usare i suoi Assets / Heightmaps /
. ricevere v
public string heightmapPath = "/Heightmaps/heightmap.raw"; suolo pubblico; evitare un metodo () Carica terreno (HeightmapPath, Terrain. campo dati); Carico geografico non necessario (riga aFileName, TerrainData per terreno) aFileName = Application.dataPath + aFileName int h è uguale a Terrain.heightmapHeight; int t = Terrain.heightmapWidth; float [,] significa nuovi dati innovativi float [h, w]; from (var file = System.IO.File.OpenRead (aFileName)) using (var persona lettura = recente System.IO.BinaryReader (file)) rispetto a (int y significa 0; y
Accelera ora le prestazioni del tuo computer con questo semplice download.