Coder Social home page Coder Social logo

houdiniengineforunity_deprecated's Introduction

Houdini Engine for Unity (deprecated)

Deprecated Repo

Please note that this plugin version has been deprecated and the repo is now archived. The repo for the latest version of the plugin is here: https://github.com/sideeffects/HoudiniEngineForUnity

Houdini Engine for Unity is a Unity plug-in that allows deep integration of Houdini technology into Unity through the use of Houdini Engine.

This plug-in brings Houdini's powerful and flexible procedural workflow into Unity through Houdini Digital Assets. Artists can interactively adjust the asset's parameters inside Unity, and use Unity geometries as an asset's inputs. Houdini's procedural engine will then "cook" the asset and the results will be available right inside Unity.

The easiest way for artists to access the plug-in is to download the latest production build of Houdini or the FREE Houdini Apprentice Learning Edition and install the Unity plug-in along with the Houdini interactive software. Houdini Digital Assets created in either Houdini or Apprentice can then be loaded into Unity through the plug-in. A growing library of Digital Assets for use in Unity will be available at the Orbolt Smart 3D Asset Store.

For more information:

For support and reporting bugs:

Supported Unity versions

Currently, the supported Unity versions are:

  • 4.6
  • 5.6
  • 2017.2

Installing from Source

  1. Fork this repository to your own Github account using the Fork button at the top.
  2. Clone the forked repository where you'd normally save your Unity projects.
  3. Download and install the correct build of Houdini. You must have the exact build number and version as HOUDINI_MAJOR, HOUDINI_MINOR, and HOUDINI_BUILD int values in Assets/Houdini/Scripts/HoudiniVersion.cs. You can get the correct build from: http://www.sidefx.com/download/daily-builds (you might need to wait for the build to finish and show up if you're updating to the very latest version of the plugin)
  4. Open Unity and open a new project by selecting the folder containing your cloned repository (the folder containing the Assets folder).
  5. Restart Unity.
  6. Ensure Houdini Engine loaded successfully by going to the "Houdini Engine" top menu and selecting "Installation Info" and making sure all the versions match.

houdiniengineforunity_deprecated's People

Contributors

andrewkww avatar cameronwhite avatar dpernuit avatar e4lam avatar kenxu1 avatar ndickson-sidefx avatar rafalsfx avatar rvinluan-sidefx avatar yelmond avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

houdiniengineforunity_deprecated's Issues

Linux: I cannot add/edit curve points

[Feature Request] Split Houdini settings into local and shared (aka preferences and settings)

Right now, all settings are stored in a user's local editor/player prefs. For some of them, like the UX/Usability ones in General, Geometry and Curves tabs this makes a lot of sense. For others, like Materials, Cooking and Advanced, I really wish there they were backed by an asset that could be pushed to source control instead as they can be fundamental to a scene setup's behaviour, and should normally be configured identically by all users.

Attribute edit performs so badly that Unity usually freezes

There seems to be some general consensus around the Internet that if you accidentally enable the scene view attribute edit on anything but the simplest of geometries, you might as well just kill the Unity process and start over.

Sadly this matches my experience as well - I've lost work over this several times. It'd be great if this wasn't the case.

Edit is Paint, Paint is ?

An edit node in Houdini seems to become a paint node in Unity, whereas a paint node in Houdini seems to be just ignored in Unity. It also seem like these edit nodes are extremely eagerly picked up, even if I add an edit node set to bypass, and with no output routing, this nodes becomes a paint node that affects the nodes below in Unity.

Besides being a bit confusing (and afaics undocumented), this also makes is a bit cumbersome to build assets that can be used, tested and iterated with equal methods inside Houdini and Unity.

It'd be great to get some clarity on this, as well as a direct mapping to concrete paint nodes pointing out specific attributes.

HAPI_SaveHIPFile bugged

When I open the saved .hip file, I get an error saying:

"Unexpected end of .hip file"

I'm using 13.0.476

Loading of assets made in Apprentice

The README file says:

Houdini Digital Assets created in either Houdini or Apprentice can then be loaded into Unity through the plug-in.

However, I get the following error in Unity:

Asset not loaded: HAPI Error: Non-commercial (Apprentice) assets not allowed with limited commercial (Indie) licenses.

Using a fresh installation of Houdini, I have opened the example project that gets installed with it and loaded an asset that comes with the project, which prompted me to activate the engine, and the loading of asset works correctly. Then I have tried loading the asset I made in the Apprentice, which gets blocked by the error. I have tried both 30-day trial (first choice in the license dialog prompt) and obtaining the Engine Indie license from the website (on another computer so it's also a fresh install) - neither allowed me to import a digital asset I made in the Apprentice version.

Can you clarify or provide a link a guide on how to properly set up the licenses for this use case?

Compiler / api warnings

There's a bunch of compiler warnings in the plugin (mostly from deprecated Unity API), it'd be great if it compiled cleanly, be that by upgrading the code or silencing the warnings locally.

Houdini Input Assets never configure downstream references

There's no path where nodes add themselves to HoudiniAssetInput node inputs using addDownstreamAsset. As such, the automatic downstream cooking and cook on transform change become meaningless for input assets.

https://github.com/sideeffects/HoudiniEngineForUnity/blob/f3cded3b8f8bd18e8fa523891b45e5768c3809e4/Assets/Houdini/Scripts/HoudiniParms.cs#L536

In general, I find it a bit strange that not all houdini assets are building depencencies when setting node references, since that's a pre-requisite for downstream cooking working.

create new point like in Unreal Engine

In Unreal Engine we can create a new point after the current selection, press Alt when translating.
How about in Unity? I haven't find any like that.

Houdini Debugger doesn't work out of the box?

We had some problem getting the debugger to work from within Unity, and identified a couple of places we had to patch up to get it working.

The first was in initializeSession where a new session (HARS process launched) is always created before trying to connect to it. I'd suggest adding a getSession call above the startProcess call, and return with a useful log entry that connection to existing host was made.
https://github.com/sideeffects/HoudiniEngineForUnity/blob/f3cded3b8f8bd18e8fa523891b45e5768c3809e4/Assets/Houdini/Scripts/HoudiniHostSession.cs#L88

The other issues we had were that the paths passed from Unity to HAPI are all relative, which I guess works in the normal case because a spawned server process inherits Unity's environment including working directory. For a debugging session, it doesn't work though. We ended up patching both the getAllFoldersInPath function used for getting dependency search paths, as well as the prAssetPath path passed to loadOTL.
https://github.com/sideeffects/HoudiniEngineForUnity/blob/f3cded3b8f8bd18e8fa523891b45e5768c3809e4/Assets/Houdini/Scripts/HoudiniHostLinker.cs#L296
https://github.com/sideeffects/HoudiniEngineForUnity/blob/f3cded3b8f8bd18e8fa523891b45e5768c3809e4/Assets/Houdini/Scripts/HoudiniAssetOTL.cs#L188

Lastly, it looks like the unity plugin isn't too good at cleaning up after itself. When running a debug session attached, it only takes a couple of minutes of active Unity work to end up with hundreds of abandoned, procedurally named nodes in the Houdini scene view - which makes it pretty hard to find the nodes you actually want to inspect.

Bake animation doesn't work with vertex animation?

I'm trying to export a simple animation “Growing line” into Unity.

The animation is very simple as below:

Curve
I
Carve <- Key frame the second U here.
I
Wireframe

I hit “Bake animation” button in Unity, a message box popup “No animation was found to bake”.

I'm using Houdini 16.0.621.

[Feature Request] Simple geometry wrapper input node

It would be great if the engine integration offered a simpler version of HoudiniAssetInput that acted only as a wrapper for static input geometry with support for automatic downstream recooking on transform change. Essentially HoudiniAssetInput but with all the attribute modification removed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.