public static CreateNewHoudiniStandardMaterial ( string assetCacheFolderPath, string materialName, bool bWriteToFile ) : Material | ||
assetCacheFolderPath | string | |
materialName | string | |
bWriteToFile | bool | |
return | Material |
public static HEU_MaterialData CreateMaterialInCache(int materialKey, string materialName, HEU_MaterialData.Source sourceType, bool bWriteToFile, List<HEU_MaterialData> materialCache, string assetCacheFolderPath) { HEU_MaterialData materialData = ScriptableObject.CreateInstance<HEU_MaterialData>(); materialData._materialSource = sourceType; materialData._materialKey = materialKey; materialData._material = HEU_MaterialFactory.CreateNewHoudiniStandardMaterial(assetCacheFolderPath, materialName, bWriteToFile); materialData._material.name = materialName; materialCache.Add(materialData); return materialData; }
private void GenerateEditPointBoxNewMesh() { if (_selectedAttributesStore == null) { return; } Vector3[] positionArray = new Vector3[0]; _selectedAttributesStore.GetPositionAttributeValues(out positionArray); int numPoints = positionArray.Length; if (numPoints != _previousEditMeshPointCount) { _editPointsSelectedIndices.Clear(); _previousEditMeshPointCount = numPoints; } if (numPoints > 0) { float boxSize = HEU_EditorUtility.GetSerializedProperty(_toolsInfoSerializedObject, "_editPointBoxSize").floatValue; Color unselectedColor = HEU_EditorUtility.GetSerializedProperty(_toolsInfoSerializedObject, "_editPointBoxUnselectedColor").colorValue; Color selectedColor = HEU_EditorUtility.GetSerializedProperty(_toolsInfoSerializedObject, "_editPointBoxSelectedColor").colorValue; if (_editPointBoxMaterial == null) { _editPointBoxMaterial = HEU_MaterialFactory.CreateNewHoudiniStandardMaterial("", "EditPointMaterial", false); } Color[] pointColors = new Color[numPoints]; for (int i = 0; i < numPoints; ++i) { pointColors[i] = unselectedColor; } int numSelected = _editPointsSelectedIndices.Count; for (int i = 0; i < numSelected; ++i) { pointColors[_editPointsSelectedIndices[i]] = selectedColor; } _editPointBoxMesh = HEU_GeometryUtility.GenerateCubeMeshFromPoints(positionArray, pointColors, boxSize); _GUIChanged = true; } }
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; }