public static GetUniqueMaterialShopName ( HAPI_NodeId assetID, HAPI_NodeId materialID ) : string | ||
assetID | HAPI_NodeId | |
materialID | HAPI_NodeId | |
return | string |
public static HEU_MaterialData CreateHoudiniMaterialData(HEU_SessionBase session, HAPI_NodeId assetID, HAPI_NodeId materialID, HAPI_NodeId geoID, HAPI_PartId partID, List<HEU_MaterialData> materialCache, string assetCacheFolderPath) { string materialName = ""; if (materialID == HEU_Defines.HEU_INVALID_NODE_ID) { return GetOrCreateDefaultMaterialInCache(session, geoID, partID, false, materialCache, assetCacheFolderPath); } else { materialName = HEU_SessionManager.GetUniqueMaterialShopName(assetID, materialID); } HEU_MaterialData materialData = ScriptableObject.CreateInstance<HEU_MaterialData>(); materialData._materialSource = HEU_MaterialData.Source.HOUDINI; materialData._materialKey = materialID; materialData._material = HEU_MaterialFactory.CreateNewHoudiniStandardMaterial(assetCacheFolderPath, materialName, true); materialData._material.name = materialName; //Debug.LogFormat("New Material ID: {0} - {1}", materialID, materialName); if (materialID != HEU_Defines.HEU_INVALID_NODE_ID) { // Get material info from Houdini to populate the Unity material values HAPI_MaterialInfo materialInfo = new HAPI_MaterialInfo(); if (session.GetMaterialInfo(materialID, ref materialInfo)) { if (materialInfo.exists) { materialData.UpdateMaterialFromHoudini(materialInfo, assetCacheFolderPath); } } } //Debug.LogFormat("Created new material with id={0} and name={1}", materialID, materialName); materialCache.Add(materialData); return materialData; }