Unity 6.3
0 онлайн 3 гостей 3 в системе
Вход

AssetDatabase.LoadMainAssetAtPath

Declaration

public static Object LoadMainAssetAtPath(string assetPath);

Параметры

Параметр Описание
assetPath Путь файловой системы ассета для загрузки.

Возвращаемое значение

Объект Возвращает основной объект ассета в assetPath.

Описание

Получает основной объект ассета в assetPath.

Главный ресурс — это ресурс в корне иерархии (например, файл Maya, который может содержать несколько мешей и GameObjects). Все пути относятся к папке проекта, например: Assets/MyTextures/hello.png.

Дополнительные ресурсы: AssetDatabase.LoadAssetAtPath, AssetDatabase.LoadAllAssetsAtPath, AssetDatabase.LoadAllAssetRepresentationsAtPath.

using System.Collections.Generic;
using UnityEngine;
using UnityEditor;

public class MyPlayer : MonoBehaviour { [MenuItem("AssetDatabase/Assign Materials To Models")] static void AssignGunMaterialsToModels() { var materials = new List<Material>(); //Get all the materials that have the name gun in them using LoadMainAssetAtPath foreach (var asset in AssetDatabase.FindAssets("t:Material gun")) { var path = AssetDatabase.GUIDToAssetPath(asset); materials.Add((Material)AssetDatabase.LoadMainAssetAtPath(path)); }

var materialID = 0; //Assign gun materials to their corresponding models MeshRenderer foreach (var asset in AssetDatabase.FindAssets("t:Model Gun")) { if (materialID >= materials.Count) materialID = 0; var path = AssetDatabase.GUIDToAssetPath(asset); var material = materials[materialID++]; material.shader = Shader.Find("Standard"); var modelMesh = (MeshRenderer) AssetDatabase.LoadAssetAtPath(path, typeof(MeshRenderer)); modelMesh.sharedMaterial = material; } } }