Skip to content

Commit fafa5db

Browse files
committed
Houdini Engine for Unreal - Version 2.0
Houdini 18.5.563 update. The plug-in is now linked to Houdini 18.5.563 / HAPI 3.6.1. Documentation for version 2.0 of the plug-in is available: https://www.sidefx.com/docs/unreal/ ------------------------------------------------------- Changes: ------------------------------------------------------- - Fixed a regression that caused generic property attributes to not always be properly applied to generated Static Mesh Components. (specifically when using RawMeshes). - Fixed "unreal_uproperty_CollisionProfileName" not being properly applied in some cases. - Fixed crash when using the bake button in the output section. - Generic property attributes are now applied on spline outputs. - Textures from Houdini Materials are now created only if the corresponding "use" parameter isn't disabled. - Reduced the number of HAPI calls when translating Houdini materials. - Optimized mesh creation. (removed redundant calls to Physics/NavCollisions functions that are already part of the StaticMesh::Build function) - Mesh creation: removed unecessary attempt to load an unreal material with an invalid path. - Fixed World inputs creating invalid input nodes with "Import as Reference" enabled. - Fixed "Import as Reference" not triggering input updates when disabled. - Fixed issues with multiparm/ramps sync if a HDA's parameter interface had changed. This could cause mixups in the multiparms children parameters, and even crashes due to a recursive loop after load/rebuild. - Fixed missing output detail UI when an output's node is marked as editable but is not an editable curve. - Fixed potential crash caused by the plugin attempting to update rendering while loading a level. - Fixed an issue that caused OBJ HDAs with nested OBJ_geo subnets to not display/use the main OBJ geo. This caused some HDAs that used vellum solvers/DOP networks to not properly output their results. - Float Vector3 parameters now have spin buttons on the XYZ values.
1 parent 1e50105 commit fafa5db

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+2562
-976
lines changed

HoudiniEngine.uplugin

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"FileVersion" : 3,
33
"FriendlyName" : "Houdini Engine v2",
4-
"Version" : 18050532,
5-
"VersionName" : "v2.0 - H18.5.532",
4+
"Version" : 18050563,
5+
"VersionName" : "v2.0 - H18.5.563",
66
"CreatedBy" : "Side Effects Software Inc.",
77
"CreatedByURL" : "http://www.sidefx.com",
88
"DocsURL" : "http://www.sidefx.com/docs/unreal/",

Source/HoudiniEngine/HoudiniEngine.Build.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232

3333
/*
3434
35-
Houdini Version: 18.5.532
36-
Houdini Engine Version: 3.5.2
35+
Houdini Version: 18.5.563
36+
Houdini Engine Version: 3.6.1
3737
Unreal Version: 4.26.0
3838
3939
*/
@@ -47,7 +47,7 @@ public class HoudiniEngine : ModuleRules
4747
{
4848
private string GetHFSPath()
4949
{
50-
string HoudiniVersion = "18.5.532";
50+
string HoudiniVersion = "18.5.563";
5151
bool bIsRelease = true;
5252
string HFSPath = "";
5353
string RegistryPath = "HKEY_LOCAL_MACHINE\\SOFTWARE\\Side Effects Software";

Source/HoudiniEngine/Private/HoudiniApi.cpp

Lines changed: 110 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -210,12 +210,24 @@ FHoudiniApi::GetAttributeFloatData = &FHoudiniApi::GetAttributeFloatDataEmptyStu
210210
FHoudiniApi::GetAttributeInfoFuncPtr
211211
FHoudiniApi::GetAttributeInfo = &FHoudiniApi::GetAttributeInfoEmptyStub;
212212

213+
FHoudiniApi::GetAttributeInt16ArrayDataFuncPtr
214+
FHoudiniApi::GetAttributeInt16ArrayData = &FHoudiniApi::GetAttributeInt16ArrayDataEmptyStub;
215+
216+
FHoudiniApi::GetAttributeInt16DataFuncPtr
217+
FHoudiniApi::GetAttributeInt16Data = &FHoudiniApi::GetAttributeInt16DataEmptyStub;
218+
213219
FHoudiniApi::GetAttributeInt64ArrayDataFuncPtr
214220
FHoudiniApi::GetAttributeInt64ArrayData = &FHoudiniApi::GetAttributeInt64ArrayDataEmptyStub;
215221

216222
FHoudiniApi::GetAttributeInt64DataFuncPtr
217223
FHoudiniApi::GetAttributeInt64Data = &FHoudiniApi::GetAttributeInt64DataEmptyStub;
218224

225+
FHoudiniApi::GetAttributeInt8ArrayDataFuncPtr
226+
FHoudiniApi::GetAttributeInt8ArrayData = &FHoudiniApi::GetAttributeInt8ArrayDataEmptyStub;
227+
228+
FHoudiniApi::GetAttributeInt8DataFuncPtr
229+
FHoudiniApi::GetAttributeInt8Data = &FHoudiniApi::GetAttributeInt8DataEmptyStub;
230+
219231
FHoudiniApi::GetAttributeIntArrayDataFuncPtr
220232
FHoudiniApi::GetAttributeIntArrayData = &FHoudiniApi::GetAttributeIntArrayDataEmptyStub;
221233

@@ -231,6 +243,12 @@ FHoudiniApi::GetAttributeStringArrayData = &FHoudiniApi::GetAttributeStringArray
231243
FHoudiniApi::GetAttributeStringDataFuncPtr
232244
FHoudiniApi::GetAttributeStringData = &FHoudiniApi::GetAttributeStringDataEmptyStub;
233245

246+
FHoudiniApi::GetAttributeUInt8ArrayDataFuncPtr
247+
FHoudiniApi::GetAttributeUInt8ArrayData = &FHoudiniApi::GetAttributeUInt8ArrayDataEmptyStub;
248+
249+
FHoudiniApi::GetAttributeUInt8DataFuncPtr
250+
FHoudiniApi::GetAttributeUInt8Data = &FHoudiniApi::GetAttributeUInt8DataEmptyStub;
251+
234252
FHoudiniApi::GetAvailableAssetCountFuncPtr
235253
FHoudiniApi::GetAvailableAssetCount = &FHoudiniApi::GetAvailableAssetCountEmptyStub;
236254

@@ -786,15 +804,24 @@ FHoudiniApi::SetAttributeFloat64Data = &FHoudiniApi::SetAttributeFloat64DataEmpt
786804
FHoudiniApi::SetAttributeFloatDataFuncPtr
787805
FHoudiniApi::SetAttributeFloatData = &FHoudiniApi::SetAttributeFloatDataEmptyStub;
788806

807+
FHoudiniApi::SetAttributeInt16DataFuncPtr
808+
FHoudiniApi::SetAttributeInt16Data = &FHoudiniApi::SetAttributeInt16DataEmptyStub;
809+
789810
FHoudiniApi::SetAttributeInt64DataFuncPtr
790811
FHoudiniApi::SetAttributeInt64Data = &FHoudiniApi::SetAttributeInt64DataEmptyStub;
791812

813+
FHoudiniApi::SetAttributeInt8DataFuncPtr
814+
FHoudiniApi::SetAttributeInt8Data = &FHoudiniApi::SetAttributeInt8DataEmptyStub;
815+
792816
FHoudiniApi::SetAttributeIntDataFuncPtr
793817
FHoudiniApi::SetAttributeIntData = &FHoudiniApi::SetAttributeIntDataEmptyStub;
794818

795819
FHoudiniApi::SetAttributeStringDataFuncPtr
796820
FHoudiniApi::SetAttributeStringData = &FHoudiniApi::SetAttributeStringDataEmptyStub;
797821

822+
FHoudiniApi::SetAttributeUInt8DataFuncPtr
823+
FHoudiniApi::SetAttributeUInt8Data = &FHoudiniApi::SetAttributeUInt8DataEmptyStub;
824+
798825
FHoudiniApi::SetCachePropertyFuncPtr
799826
FHoudiniApi::SetCacheProperty = &FHoudiniApi::SetCachePropertyEmptyStub;
800827

@@ -1024,13 +1051,19 @@ FHoudiniApi::InitializeHAPI(void* LibraryHandle)
10241051
FHoudiniApi::GetAttributeFloatArrayData = (GetAttributeFloatArrayDataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeFloatArrayData"));
10251052
FHoudiniApi::GetAttributeFloatData = (GetAttributeFloatDataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeFloatData"));
10261053
FHoudiniApi::GetAttributeInfo = (GetAttributeInfoFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeInfo"));
1054+
FHoudiniApi::GetAttributeInt16ArrayData = (GetAttributeInt16ArrayDataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeInt16ArrayData"));
1055+
FHoudiniApi::GetAttributeInt16Data = (GetAttributeInt16DataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeInt16Data"));
10271056
FHoudiniApi::GetAttributeInt64ArrayData = (GetAttributeInt64ArrayDataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeInt64ArrayData"));
10281057
FHoudiniApi::GetAttributeInt64Data = (GetAttributeInt64DataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeInt64Data"));
1058+
FHoudiniApi::GetAttributeInt8ArrayData = (GetAttributeInt8ArrayDataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeInt8ArrayData"));
1059+
FHoudiniApi::GetAttributeInt8Data = (GetAttributeInt8DataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeInt8Data"));
10291060
FHoudiniApi::GetAttributeIntArrayData = (GetAttributeIntArrayDataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeIntArrayData"));
10301061
FHoudiniApi::GetAttributeIntData = (GetAttributeIntDataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeIntData"));
10311062
FHoudiniApi::GetAttributeNames = (GetAttributeNamesFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeNames"));
10321063
FHoudiniApi::GetAttributeStringArrayData = (GetAttributeStringArrayDataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeStringArrayData"));
10331064
FHoudiniApi::GetAttributeStringData = (GetAttributeStringDataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeStringData"));
1065+
FHoudiniApi::GetAttributeUInt8ArrayData = (GetAttributeUInt8ArrayDataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeUInt8ArrayData"));
1066+
FHoudiniApi::GetAttributeUInt8Data = (GetAttributeUInt8DataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAttributeUInt8Data"));
10341067
FHoudiniApi::GetAvailableAssetCount = (GetAvailableAssetCountFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAvailableAssetCount"));
10351068
FHoudiniApi::GetAvailableAssets = (GetAvailableAssetsFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetAvailableAssets"));
10361069
FHoudiniApi::GetBoxInfo = (GetBoxInfoFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_GetBoxInfo"));
@@ -1216,9 +1249,12 @@ FHoudiniApi::InitializeHAPI(void* LibraryHandle)
12161249
FHoudiniApi::SetAnimCurve = (SetAnimCurveFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_SetAnimCurve"));
12171250
FHoudiniApi::SetAttributeFloat64Data = (SetAttributeFloat64DataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_SetAttributeFloat64Data"));
12181251
FHoudiniApi::SetAttributeFloatData = (SetAttributeFloatDataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_SetAttributeFloatData"));
1252+
FHoudiniApi::SetAttributeInt16Data = (SetAttributeInt16DataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_SetAttributeInt16Data"));
12191253
FHoudiniApi::SetAttributeInt64Data = (SetAttributeInt64DataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_SetAttributeInt64Data"));
1254+
FHoudiniApi::SetAttributeInt8Data = (SetAttributeInt8DataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_SetAttributeInt8Data"));
12201255
FHoudiniApi::SetAttributeIntData = (SetAttributeIntDataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_SetAttributeIntData"));
12211256
FHoudiniApi::SetAttributeStringData = (SetAttributeStringDataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_SetAttributeStringData"));
1257+
FHoudiniApi::SetAttributeUInt8Data = (SetAttributeUInt8DataFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_SetAttributeUInt8Data"));
12221258
FHoudiniApi::SetCacheProperty = (SetCachePropertyFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_SetCacheProperty"));
12231259
FHoudiniApi::SetCurveCounts = (SetCurveCountsFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_SetCurveCounts"));
12241260
FHoudiniApi::SetCurveInfo = (SetCurveInfoFuncPtr) FPlatformProcess::GetDllExport(LibraryHandle, TEXT("HAPI_SetCurveInfo"));
@@ -1340,13 +1376,19 @@ FHoudiniApi::FinalizeHAPI()
13401376
FHoudiniApi::GetAttributeFloatArrayData = &FHoudiniApi::GetAttributeFloatArrayDataEmptyStub;
13411377
FHoudiniApi::GetAttributeFloatData = &FHoudiniApi::GetAttributeFloatDataEmptyStub;
13421378
FHoudiniApi::GetAttributeInfo = &FHoudiniApi::GetAttributeInfoEmptyStub;
1379+
FHoudiniApi::GetAttributeInt16ArrayData = &FHoudiniApi::GetAttributeInt16ArrayDataEmptyStub;
1380+
FHoudiniApi::GetAttributeInt16Data = &FHoudiniApi::GetAttributeInt16DataEmptyStub;
13431381
FHoudiniApi::GetAttributeInt64ArrayData = &FHoudiniApi::GetAttributeInt64ArrayDataEmptyStub;
13441382
FHoudiniApi::GetAttributeInt64Data = &FHoudiniApi::GetAttributeInt64DataEmptyStub;
1383+
FHoudiniApi::GetAttributeInt8ArrayData = &FHoudiniApi::GetAttributeInt8ArrayDataEmptyStub;
1384+
FHoudiniApi::GetAttributeInt8Data = &FHoudiniApi::GetAttributeInt8DataEmptyStub;
13451385
FHoudiniApi::GetAttributeIntArrayData = &FHoudiniApi::GetAttributeIntArrayDataEmptyStub;
13461386
FHoudiniApi::GetAttributeIntData = &FHoudiniApi::GetAttributeIntDataEmptyStub;
13471387
FHoudiniApi::GetAttributeNames = &FHoudiniApi::GetAttributeNamesEmptyStub;
13481388
FHoudiniApi::GetAttributeStringArrayData = &FHoudiniApi::GetAttributeStringArrayDataEmptyStub;
13491389
FHoudiniApi::GetAttributeStringData = &FHoudiniApi::GetAttributeStringDataEmptyStub;
1390+
FHoudiniApi::GetAttributeUInt8ArrayData = &FHoudiniApi::GetAttributeUInt8ArrayDataEmptyStub;
1391+
FHoudiniApi::GetAttributeUInt8Data = &FHoudiniApi::GetAttributeUInt8DataEmptyStub;
13501392
FHoudiniApi::GetAvailableAssetCount = &FHoudiniApi::GetAvailableAssetCountEmptyStub;
13511393
FHoudiniApi::GetAvailableAssets = &FHoudiniApi::GetAvailableAssetsEmptyStub;
13521394
FHoudiniApi::GetBoxInfo = &FHoudiniApi::GetBoxInfoEmptyStub;
@@ -1532,9 +1574,12 @@ FHoudiniApi::FinalizeHAPI()
15321574
FHoudiniApi::SetAnimCurve = &FHoudiniApi::SetAnimCurveEmptyStub;
15331575
FHoudiniApi::SetAttributeFloat64Data = &FHoudiniApi::SetAttributeFloat64DataEmptyStub;
15341576
FHoudiniApi::SetAttributeFloatData = &FHoudiniApi::SetAttributeFloatDataEmptyStub;
1577+
FHoudiniApi::SetAttributeInt16Data = &FHoudiniApi::SetAttributeInt16DataEmptyStub;
15351578
FHoudiniApi::SetAttributeInt64Data = &FHoudiniApi::SetAttributeInt64DataEmptyStub;
1579+
FHoudiniApi::SetAttributeInt8Data = &FHoudiniApi::SetAttributeInt8DataEmptyStub;
15361580
FHoudiniApi::SetAttributeIntData = &FHoudiniApi::SetAttributeIntDataEmptyStub;
15371581
FHoudiniApi::SetAttributeStringData = &FHoudiniApi::SetAttributeStringDataEmptyStub;
1582+
FHoudiniApi::SetAttributeUInt8Data = &FHoudiniApi::SetAttributeUInt8DataEmptyStub;
15381583
FHoudiniApi::SetCacheProperty = &FHoudiniApi::SetCachePropertyEmptyStub;
15391584
FHoudiniApi::SetCurveCounts = &FHoudiniApi::SetCurveCountsEmptyStub;
15401585
FHoudiniApi::SetCurveInfo = &FHoudiniApi::SetCurveInfoEmptyStub;
@@ -2026,6 +2071,20 @@ FHoudiniApi::GetAttributeInfoEmptyStub(const HAPI_Session * session, HAPI_NodeId
20262071
}
20272072

20282073

2074+
HAPI_Result
2075+
FHoudiniApi::GetAttributeInt16ArrayDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_Int16 * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length)
2076+
{
2077+
return HAPI_RESULT_FAILURE;
2078+
}
2079+
2080+
2081+
HAPI_Result
2082+
FHoudiniApi::GetAttributeInt16DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, HAPI_Int16 * data_array, int start, int length)
2083+
{
2084+
return HAPI_RESULT_FAILURE;
2085+
}
2086+
2087+
20292088
HAPI_Result
20302089
FHoudiniApi::GetAttributeInt64ArrayDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_Int64 * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length)
20312090
{
@@ -2040,6 +2099,20 @@ FHoudiniApi::GetAttributeInt64DataEmptyStub(const HAPI_Session * session, HAPI_N
20402099
}
20412100

20422101

2102+
HAPI_Result
2103+
FHoudiniApi::GetAttributeInt8ArrayDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_Int8 * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length)
2104+
{
2105+
return HAPI_RESULT_FAILURE;
2106+
}
2107+
2108+
2109+
HAPI_Result
2110+
FHoudiniApi::GetAttributeInt8DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, HAPI_Int8 * data_array, int start, int length)
2111+
{
2112+
return HAPI_RESULT_FAILURE;
2113+
}
2114+
2115+
20432116
HAPI_Result
20442117
FHoudiniApi::GetAttributeIntArrayDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length)
20452118
{
@@ -2075,6 +2148,20 @@ FHoudiniApi::GetAttributeStringDataEmptyStub(const HAPI_Session * session, HAPI_
20752148
}
20762149

20772150

2151+
HAPI_Result
2152+
FHoudiniApi::GetAttributeUInt8ArrayDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, HAPI_UInt8 * data_fixed_array, int data_fixed_length, int * sizes_fixed_array, int start, int sizes_fixed_length)
2153+
{
2154+
return HAPI_RESULT_FAILURE;
2155+
}
2156+
2157+
2158+
HAPI_Result
2159+
FHoudiniApi::GetAttributeUInt8DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, HAPI_AttributeInfo * attr_info, int stride, HAPI_UInt8 * data_array, int start, int length)
2160+
{
2161+
return HAPI_RESULT_FAILURE;
2162+
}
2163+
2164+
20782165
HAPI_Result
20792166
FHoudiniApi::GetAvailableAssetCountEmptyStub(const HAPI_Session * session, HAPI_AssetLibraryId library_id, int * asset_count)
20802167
{
@@ -3245,7 +3332,7 @@ FHoudiniApi::QueryNodeOutputConnectedNodesEmptyStub(const HAPI_Session * session
32453332

32463333

32473334
HAPI_Result
3248-
FHoudiniApi::RemoveCustomStringEmptyStub(const HAPI_Session * session, const int string_handle)
3335+
FHoudiniApi::RemoveCustomStringEmptyStub(const HAPI_Session * session, const HAPI_StringHandle string_handle)
32493336
{
32503337
return HAPI_RESULT_FAILURE;
32513338
}
@@ -3370,13 +3457,27 @@ FHoudiniApi::SetAttributeFloatDataEmptyStub(const HAPI_Session * session, HAPI_N
33703457
}
33713458

33723459

3460+
HAPI_Result
3461+
FHoudiniApi::SetAttributeInt16DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const HAPI_Int16 * data_array, int start, int length)
3462+
{
3463+
return HAPI_RESULT_FAILURE;
3464+
}
3465+
3466+
33733467
HAPI_Result
33743468
FHoudiniApi::SetAttributeInt64DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const HAPI_Int64 * data_array, int start, int length)
33753469
{
33763470
return HAPI_RESULT_FAILURE;
33773471
}
33783472

33793473

3474+
HAPI_Result
3475+
FHoudiniApi::SetAttributeInt8DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const HAPI_Int8 * data_array, int start, int length)
3476+
{
3477+
return HAPI_RESULT_FAILURE;
3478+
}
3479+
3480+
33803481
HAPI_Result
33813482
FHoudiniApi::SetAttributeIntDataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const int * data_array, int start, int length)
33823483
{
@@ -3391,6 +3492,13 @@ FHoudiniApi::SetAttributeStringDataEmptyStub(const HAPI_Session * session, HAPI_
33913492
}
33923493

33933494

3495+
HAPI_Result
3496+
FHoudiniApi::SetAttributeUInt8DataEmptyStub(const HAPI_Session * session, HAPI_NodeId node_id, HAPI_PartId part_id, const char * name, const HAPI_AttributeInfo * attr_info, const HAPI_UInt8 * data_array, int start, int length)
3497+
{
3498+
return HAPI_RESULT_FAILURE;
3499+
}
3500+
3501+
33943502
HAPI_Result
33953503
FHoudiniApi::SetCachePropertyEmptyStub(const HAPI_Session * session, const char * cache_name, HAPI_CacheProperty cache_property, int property_value)
33963504
{
@@ -3427,7 +3535,7 @@ FHoudiniApi::SetCurveOrdersEmptyStub(const HAPI_Session * session, HAPI_NodeId n
34273535

34283536

34293537
HAPI_Result
3430-
FHoudiniApi::SetCustomStringEmptyStub(const HAPI_Session * session, const char * string_value, int * handle_value)
3538+
FHoudiniApi::SetCustomStringEmptyStub(const HAPI_Session * session, const char * string_value, HAPI_StringHandle * handle_value)
34313539
{
34323540
return HAPI_RESULT_FAILURE;
34333541
}

Source/HoudiniEngine/Private/HoudiniEngineManager.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1140,6 +1140,9 @@ FHoudiniEngineManager::PostCook(UHoudiniAssetComponent* HAC, const bool& bSucces
11401140
// Update rendering information.
11411141
HAC->UpdateRenderingInformation();
11421142

1143+
// Since we have new asset, we need to update bounds.
1144+
HAC->UpdateBounds();
1145+
11431146
FHoudiniEngine::Get().UpdateCookingNotification(FText::FromString("Finished processing outputs"), true);
11441147

11451148
// Trigger a details panel update
@@ -1158,6 +1161,12 @@ FHoudiniEngineManager::PostCook(UHoudiniAssetComponent* HAC, const bool& bSucces
11581161
if (bHasHoudiniStaticMeshOutput)
11591162
bNeedsToTriggerViewportUpdate = true;
11601163

1164+
UHoudiniAssetComponent::FOnPostCookDelegate& OnPostCookDelegate = HAC->GetOnPostCookDelegate();
1165+
if (OnPostCookDelegate.IsBound())
1166+
{
1167+
OnPostCookDelegate.Execute(HAC, true);
1168+
}
1169+
11611170
UHoudiniAssetComponent::FOnPostCookBakeDelegate& OnPostCookBakeDelegate = HAC->GetOnPostCookBakeDelegate();
11621171
if (OnPostCookBakeDelegate.IsBound())
11631172
{
@@ -1173,6 +1182,12 @@ FHoudiniEngineManager::PostCook(UHoudiniAssetComponent* HAC, const bool& bSucces
11731182
//CreateInputs();
11741183
//CreateHandles();
11751184

1185+
UHoudiniAssetComponent::FOnPostCookDelegate& OnPostCookDelegate = HAC->GetOnPostCookDelegate();
1186+
if (OnPostCookDelegate.IsBound())
1187+
{
1188+
OnPostCookDelegate.Execute(HAC, false);
1189+
}
1190+
11761191
// Clear the bake after cook delegate if
11771192
UHoudiniAssetComponent::FOnPostCookBakeDelegate& OnPostCookBakeDelegate = HAC->GetOnPostCookBakeDelegate();
11781193
if (OnPostCookBakeDelegate.IsBound() && !HAC->IsBakeAfterNextCookEnabled())

0 commit comments

Comments
 (0)