sideeffects / houdiniengineforunity Goto Github PK
View Code? Open in Web Editor NEWHoudini Engine for Unity
Home Page: http://www.sidefx.com/unity
Houdini Engine for Unity
Home Page: http://www.sidefx.com/unity
The blow code:
for (int i = numInterfaces - 1; i >= 0; i--) { if (_inputInterfaces[i] != null && _inputInterfaces[i].Priority <= inputInterface.Priority) { _inputInterfaces.Add(inputInterface); //Debug.LogFormat("Registered {0} at {1}. Total of {2}", inputInterface.GetType(), i, _inputInterfaces.Count); break; } }
The inputInterface seems always added into the last but add to the index i?
The new HDRP pipeline currently only seems to support instance meshes for terrain details. The following needs to be added to HEU_TerrainUtility.ApplyDetailLayers()
:
#if UNITY_2021_2_OR_NEWER
if( detailPrototype.usePrototypeMesh )
detailPrototype.useInstancing = true;
#endif
There's also a new property on detail prototypes that will need to be added to HEU_DetailPrototype
// Summary:
// Controls how far away detail objects are from the edge of the hole area.
public float holeEdgePadding { get; set; }
Hi,
I just find and fix a problem when "Generate Mesh Using Points", it will not copy the correct uv since the code miss checking the _uvsAttr.Length
.
Here is the bug line:
just change the code from:
for (int u = 0; u < HEU_Defines.HAPI_MAX_UVS; ++u)
{
if (... && positionIndex < geoCache._uvsAttr.Length)
to
for (int u = 0; u < HEU_Defines.HAPI_MAX_UVS; ++u)
{
if (... && positionIndex < geoCache._uvsAttr[u].Length)
will fix the problem.
HEU_ToolsUI._toolsInfo is a scriptableobejct ,and CreateInstance when SetupAsset.
If export the HDA_Data parent node as a prefab, the HEU_ToolsUI._toolsInfo reference target can't be Serialized, the reference will be none when loaded the prefab and nowhere to initialize.
Same as HEU_ToolsUI._instanceInputUIState and other ScriptableObject Classes may be?
version 18.5.545
When used in Unity 2019.2 the compiler report the following warning:
Assets\Plugins\HoudiniEngineUnity\Scripts\Utility\HEU_TerrainUtility.cs(228,6): warning CS0618: 'Terrain.materialType' is obsolete: 'Property materialType is not used any more. Set materialTemplate directly.'
In unity2018, there is no TerrainData.SetTreeInstances method.
So when I use the code in unity 2018, the method 'ApplyScatter' inside HEU_TerrainUtility will report a compile error.
Hi,
Is it possible to implement a way to add to the asset parameters UI a way to use the drag and drop like in the Bake UI?
And another thing related to this is the capacity to handle the childs of a GameObject (you put the parent in the list and it will process all the childs with mesh filters for example).
Thank you for this great toollset.
Regards,
Jonathan Jérôme-Gerstch.
I just started messing around with Houdini Engine for Unity, so I could be missing something, but as much as I try I can't get viewport sync to work. Connection between Houdini and Unity seems to work otherwise correctly. The only reaction to the feature I've managed is, with a newly opened Unity window, turning on "Sync Viewport", does teleport the camera in Unity once, although to an incorrect (non-matching) location. Turning the feature on or off afterwards doesn't yield any response. The checkbox does sync correctly (checking or unchecking) on both Unity and Houdini.
Unity 2022.3.5f1
Unity Engine 5.0.0
Houdini 19.5.303
Hi,
I have just tried to transform the plugin into a proper unity package, I'm about to test it further:
Hello
Is it intended that a for loop in SetStringParameterValues() loops IntValues[]'s length times ? I understand that a string parameter should indeed have its IntValues[] remaining null, hence failing.
Is it a typo or am I missing something ?
NullReferenceException: Object reference not set to an instance of an object
HoudiniEngineUnity.HEU_Parameters.SetStringParameterValues (System.String parameterName, System.String[] values, System.Boolean bRecookAsset) (at C:/klang/plastics/seed-art/art_source/tools/houdini/HEngine/HEUnity_pkg_SideFX/Scripts/Parameters/HEU_Parameters.cs:792)
Hi,
my digital asset works very fast in Houdini (very basic geometry but a lot of parameters) but in editor there is a 5 sec delay. Is there any chance to optimize asset or unity plugin settings to speed it up?
Thanks!
It is recommended not to use the Resources folder.
I've moved the Editor resources to a ScriptableSingleton and use the full path to the terrain splat texture in the plugin settings: Assets/3rdParty/HoudiniEngineUnity/Textures/heu_terrain_default_splat.pngsplat.png
public List<Vector2> _UVs = new List<Vector2>(); public List<Vector2> _UV2s = new List<Vector2>(); public List<Vector2> _UV3s = new List<Vector2>();
(Code from HEU_MeshData.cs)
Currently, the uv attribute will convert to Vector2 type in Houdini Engine Unity. But in some cases, especially VFX stuffs, it is quite useful to store some more information in uv.2, uv.3.
I change some code in the source file of Houdini Engine Unity code and it works well. I think uv attribute shouldn't be limited in Vector2 only.
And now Unity support mostly 8 uv channels in one mesh, I think it should be concerned, too.
I am getting errors from the HEU_Geo Sync Log window after trying to cook a TOP network with PDG Asset Link. Traced it to this line of code here in HEU_ThreadedTaskLoadGeo.cs
Tested with just generating and output simple boxes with PDG.
AppendLog(HEU_LoadData.LoadStatus.ERROR, string.Format("Unable to get display node of file geo node."));
Uninstall and tried it with version 19.5 of the plugin and it works fine.
I got the error below and I applied a license. Where should I install the license so that the error can be fixed?
Loading Asset Library From File : HAPI Error: No Valid Licenses Found
when I split the terrain, all the terrain data saved to the same path in unity, and the cooked result shows wrong in unity scene.
I read the code and found something may wrong here.
In HEU_GeoSync the function GenerateTerrain
,
string assetPathName = "TerrainData" + HEU_Defines.HEU_EXT_ASSET;
HEU_AssetDatabase.CreateObjectInAssetCacheFolder(terrain.terrainData, outputTerrainpath, null, assetPathName, typeof(TerrainData));
Would it be possible to add transform handle support that allows you to move each point from an Add SOP individually?
HEU_Asset updating prefab with single output will result in missing mesh when placed in scene, but when opening the prefab, the mesh reference will still be there.
The missing mesh isn't seen as an override on the prefab in scene either.
Only when removing the mesh from the prefab (set to none/null) will the prefab rebuild/update properly.
This only happens when the build prefab has no child objects (and the mesh output is on the root of the prefab)
HEU_InputNode serialization of prefab child/ sub gameobjects in scene breaking when child/sub objects have the same name.
So say we have a 2 different prefabs, say, obj1
and obj2
, both with children called ,say, 'mychildgameobject', and we reference those child objects in a HEU_Asset inputs, Houdini will break serialization when rebuilding the hda/otl.
Now both inputs will both reference only one of the child objects in both inputs, thus loosing reference to one of the game objects.
This is a major bug that breaks many of our levels when rebuilding.
I'ts like HEU_Inputs serialize input objects by name, rather than prefab/assetdatabase guid refence.
unity 2018.4.3
houdini 17.5.325
i use pdg topnetwork for terrain create
the top referenced some hda(for mark roads and areas)
then when i start cook, the hda's transform often at wrong place(the hda's shape is right)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.