Unity: загрузка файлов ресурсов из папки ресурсов на Mac [дубликат]

Вот функция Haversine в Python, которую я использую:

from math import pi,sqrt,sin,cos,atan2

def haversine(pos1, pos2):
    lat1 = float(pos1['lat'])
    long1 = float(pos1['long'])
    lat2 = float(pos2['lat'])
    long2 = float(pos2['long'])

    degree_to_rad = float(pi / 180.0)

    d_lat = (lat2 - lat1) * degree_to_rad
    d_long = (long2 - long1) * degree_to_rad

    a = pow(sin(d_lat / 2), 2) + cos(lat1 * degree_to_rad) * cos(lat2 * degree_to_rad) * pow(sin(d_long / 2), 2)
    c = 2 * atan2(sqrt(a), sqrt(1 - a))
    km = 6367 * c
    mi = 3956 * c

    return {"km":km, "miles":mi}
7
задан Programmer 26 December 2016 в 05:35
поделиться

1 ответ

Вы не можете прочитать каталог ресурсов с классом StreamReader или File. Вы должны использовать Resources.Load .

1. Путь относится к любой папке «Ресурсы» внутри папки «Активы» вашего проекта.

2.Do not включая имена расширений файла, такие как .txt , .png , .mp3 в параметре пути.

3. Используйте вспомогательные косые черты вместо обратных косых черт, если у вас есть другая папка внутри папки Resources .

Текстовые файлы:

TextAsset txtAsset = (TextAsset)Resources.Load("textfile", typeof(TextAsset));
string tileFile = txtAsset.text;

Поддерживаемые форматы TextAsset :

txt .html .htm .xml .bytes .json .csv .yaml .fnt

Звуковые файлы:

AudioClip audio = Resources.Load("soundFile", typeof(AudioClip)) as AudioClip;

Файлы изображений:

Texture2D texture = Resources.Load("textureFile", typeof(Texture2D)) as Texture2D;

Sprites - Single:

Изображение с Тип текстуры установлено на Sprite (2D и UI) и

Изображение с параметром Sprite установлено на Одиночный .

Sprite sprite = Resources.Load("spriteFile", typeof(Sprite)) as Sprite;

Спрайты - несколько:

Изображение с Тип текстуры установлен на Sprite (2D и UI) и

Изображение с Режим Sprite установлен на Несколько

Sprite[] sprite = Resources.LoadAll<Sprite>("spriteFile") as Sprite[];

Видеофайлы (Unity> = 5.6):

VideoClip video = Resources.Load("videoFile", typeof(VideoClip)) as VideoClip;

GameObject Prefab:

GameObject prefab = Resources.Load("shipPrefab", typeof(GameObject)) as GameObject;

3D-сетка (например, файлы FBX )

Mesh model = Resources.Load("yourModelFileName", typeof(Mesh)) as Mesh;

3D-сетка (из GameObject Prefab)

MeshFilter modelFromGameObject = Resources.Load("yourGameObject", typeof(MeshFilter)) as MeshFilter;
Mesh loadedMesh = modelFromGameObject.sharedMesh; //Or   design.mesh

3D-модель (как GameObject)

GameObject loadedObj = Resources.Load("yourGameObject") as GameObject;
//MeshFilter meshFilter = loadedObj.GetComponent<MeshFilter>();
//Mesh loadedMesh = meshFilter.sharedMesh;

GameObject object1 = Instantiate(loadedObj) as GameObject;

Доступ к файлам в суб- папка:

Например, если у вас есть s hoot.mp3 , который находится в подпапке под названием « Звук », который помещается в папку Resources , вы используете косую черту:

AudioClip audio = Resources.Load("Sound/shoot", typeof(AudioClip)) as AudioClip;

Асинхронная загрузка:

IEnumerator loadFromResourcesFolder()
{
    //Request data to be loaded
    ResourceRequest loadAsync = Resources.LoadAsync("shipPrefab", typeof(GameObject));

    //Wait till we are done loading
    while (!loadAsync.isDone)
    {
        Debug.Log("Load Progress: " + loadAsync.progress);
        yield return null;
    }

    //Get the loaded data
    GameObject prefab = loadAsync.asset as GameObject;
}

Чтобы использовать : StartCoroutine(loadFromResourcesFolder());

21
ответ дан Programmer 18 August 2018 в 03:18
поделиться
  • 1
    Понимаю, это имеет смысл. Тогда моя следующая часть будет заключаться в том, что у меня также есть изображения и звуковые файлы (в ресурсах), которые я использую resource.load для извлечения. Те работают в Unity, но не в том случае, когда я развертываю их в HoloLens. – whycodingsohard 26 December 2016 в 05:01
  • 2
    Я ответил на многие из этих вопросов о папке «Ресурсы» и несколько часов назад, и большинство из них с тем же ответом, но с другой проблемой в названии или описании. Я решил собрать решение, которое будет охватывать большинство этих проблем и типов файлов, чтобы предотвратить предоставление дублирующего ответа в будущем. Отметьте мое редактирование и дайте мне знать, если у вас есть вопрос. – Programmer 26 December 2016 в 07:10
  • 3
    Это практическая и полная ссылка на ресурсы, которые я искал :-) – Bizhan 26 December 2016 в 10:05
  • 4
    @Bijan спасибо ... – Programmer 26 December 2016 в 10:16
Другие вопросы по тегам:

Похожие вопросы: