GetUniqueMaterialShopName() public static method

public static GetUniqueMaterialShopName ( HAPI_NodeId assetID, HAPI_NodeId materialID ) : string
assetID HAPI_NodeId
materialID HAPI_NodeId
return string
コード例 #1
0
		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;
		}