Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


tortoise last won the day on April 3

tortoise had the most liked content!

Community Reputation

11 Good

About tortoise

  • Rank

Personal Information

  • Name
    Martin Egger
  • Location
    Ludwigsburg, Baden-Württemberg
  1. Simple Noiser

    I appreciate it. Alright, in the latest update of the tool on Orbolt, I made the long needed change of making the noise non-time-dependent when temporal frequency is set to 0 - so the noise is static. Until now, it was necessary to have a timeshift freeze after it, which was... not optimal. Also now it's working with the latest Houdini releases. :)) Here's the link to it again: https://www.orbolt.com/asset/Tortoise::Noiser (I also updated the original post with the new version.) Cheers, Martin
  2. Martin's Procedural Setups

    Hey! With the desire to contribute to this community, I will use this thread to collectively post some of my setups here, in an attempt to help others learn Houdini. My experience was that going through established setups was a great way to learn - and that breaking working setups and learning what breaks them, teaches things that tutorials never really touch. So whenever I found a page sharing advanced setups like that, my heart lit up, and this thread will be an attempt to recreate this feeling in others. Being a current student at Filmakademie BW, this thread is also an hommage to the work of my (just graduated) great colleague Juraj Tomori - and his "Juraj's Playgound". (Here is the link) Enough babbling about, let me start off by showing my reel of the works that accumulated over the past two years in which I worked with Houdini. The first post will also be sharing the first setup shown: The arena shot of the plasma cannon destroying a concrete pillar. The entire sequence was my bachelor thesis about "Procedural 3D for Film Using Houdini" where I tried explaining a procedural approach in written form and detailing my setups. If anyone is interested, I will also be sharing it here. The arena environment was also procedurally modelled in Houdini, which I will also be sharing a setup on in the next couple of days. I hope you will like it, Cheers, Martin
  3. So after posting this, my project changed directions quite a bit and we no longer pursued generative sound design - somewhat unfortunately. However, I did get around at a later time to recreate a setup of a sequencer in Houdini in a very basic solver and a CHOP-Net. Here's a quick video with sound: hou-sequencer_double_1 (1).mp4 And the HIP is here: meg_hou-sequencer_v07.hipnc And this is the basic Copy-CHOP-Setup:
  4. Merging RBDs during Simulation

    Awesome! I didn't try the combined Version of transferring all Attributes and THEN using the attcopy. So Overkill apparently works sometimes. Thanks a bunch. Now I should be able to handle the rest. I set up a System in the other SOP-solver that wasn't connected in my file to loop over all collisions, filtering out the currently colliding ones to make them merge into new ones. At the Moment they're just subdived. So that's Progress at least. collidemerge_v04.hipnc Cheers, Martin
  5. Merging RBDs during Simulation

    Hey! So I've got challenge for the DOP-people here. I'm currently trying to merge Objects while they are colliding for a seperate shot. This is the fun Little Setup that it's for: My base setup for testing this in a secluded file is a DOP net with some packed objects in it and all I want to do for now in a SOP-solver is: 1) Unpack Them. 2) Pack Them again. 3) Have the simulation continue as without the solver. And then I'll add some magic between 1) and 2). collidemerge_v03.hipnc I attached this test-file. The behaviour I get right now is: [Narrow Part: Just transferring Name and then using a Attribute-Copy node to get it from the original geo] [Wide Part: * in Transfer Attributes Parameter on Unpack/Pack node] But for some reason I get really jumpy behaviour - and I kind of struggle finding out what's causing this. I've tried everything - that came to my mind - in getting the attributes from the input geo to the output geo. I'm pretty sure there's something going on with the intrinsics that I can't really find out. And the pivot, apparently. Maybe someone knows what's going on! Thanks, Martin
  6. Good day everyone, for our current project (in the scale of 7 people, 4 months), we are trying to implement a sequencer into Houdini that was built with the audio-programming tool called JUCE (https://juce.com/). Essentially, this is just a library to create audio tools in C++ through a graphical interface. Now currently, my audio programming colleague built a sequencer for our project that allows us to accumulatingly, randomly assign sounds from a library to the slots in the sequencer which then get played back. The goal of this implementation is to tell the sequencer which objects of my simulation are currently in frame and then feed this list of objects to the sequencer. The sequencer then builds a structure of playback and outputs which objects get triggered when in order to play their animation. Ideally, I will use the HDK to implement this code (while linking the custom libraries of JUCE) and have this run as a plugin inside Houdini. I do have a somewhat of a background in programming (but not with C++) and a long history with Houdini, but this undertaking exceeds my capabilities. What I am looking for is advice on where to even get started in tackling such an implementation or plugin building in general. (And if this undertaking is even doable.) Unfortunately the HDK documentation is already a little too advanced for me and I couldn't find a way into the subject matter. I would be very grateful for any help. Cheers, Martin
  7. Pyro upres advise.

    I really have to bump this thread - I found this particular example of the up-res-setup to be one I will be using in any pyro I do from now on I think. I think it's amazing! Thanks so much Julien! Also played around with comparing it to a sim that is the same size as the up-res initially. The up-res-method has a speed gain of about 30% from my test. The file is attached! That's the compare after 100 frames. Geo 2 is the sim that is high-res initially. Cheers, Martin simple_upres_bunker_comparison.hipnc
  8. My easy fix for this exact issue, which I've been dealing with for a long time now as well: Take the asset that sends your job to Hqueue, open Type Properties. Under "Save" there is a Checkbox with "Unlock New Nodes on Creation". Check that. It sort of defeats the purpose of an HDA (that it is only saved under assets and accessed by your project file, because it saves the nodes inside of the HDA into the project file. However, it still acts as a tool you can just plop down and use pre-configured. But judging by my take on the asset, it's only a couple of nodes inside. So that shouldn't be a big deal to save into your scene each time. Hope that helps!
  9. Tranfer between pyro clusters

    Huh. Well, I did think about it, but now that you say it in a structured manner, it becomes REALLY apparent that I should have been doing that all along, hahaha. Thank you! I suppose I wanted to try clustering for once. Well, initially I planned this setup to be also used for a second shot where the rocket is already in space and flies past the camera. Since the rocket ideally doesn't fly in a straight line (comicesque style) it would then definitely be useful to use clustering, but then I'd run into the issue again where the transition would be apparent when the source is inbetween clusters. That would either take a lot of overlap of the clusters or the setup of transferring velocities. I just feel there is very little that is missing for this setup to work, no? Some expression to be tweaked slightly or nodes to be hooked up in a different order. For now I've just ran out of motivation to keep trying.
  10. Hello! I'm currently working on a shot where a rocket takes off. I've gotten the setup working quite well for the start and the look of the spreading of the fluid, I now need the rocket to take off further. This introduced the problem that my container becomes gigantic as the bottom of the container spreads horizontally but the trail is just narrow. That's why I dug into instancing over the last few days and got quite good results. The issue I am failing at is transferring values between my clusters. I take the smoke object from the current iteration and add 1 and subtract 1 to get the adjacent smoke objects and merge them. I took the setup from the incredibly generous Florian Bard (http://flooz-vfx.com/ It's the rabbit_trail.hip file where he does that) but when trying to apply that to my particular case I couldn't get it to work. I tried various ways of importing the other smoke objects but apparently it's not fetching them. This is an image of my latest Version (v67) showing the cut. Attached are also some dailies demonstrating the issue. It seemed to be fine before I introduced dissipation in my sim but v67 (pyro_daily_v67_[1001-1105].mp4) now has this very apparent cut where the smokeobjects meet. (The look I'm going for is v38 (pyro_daily_v38_[0980-1160].mp4) - that was before the sim needed to be bigger and thus worked in Instancing.) That's the basic gist of what I do with the clusters. Import current, merge with next, merge with previous, then smooth out based on voxel proximity to border. Here is the HIP as well if taking a peek could help. GoFullApolloDreizehn_In_v243o.hip [Also for some reason my smoke object clusters start at 2. In my scene I have only two, and they are named smokeobject1_2 and _3 which I can't quite understand.] Thank you in advance, Martin
  11. Wow. You are a genious for figuring this out - thank you very much! I definitely have to try this out soon.
  12. Rant about parameter expression syntax

    Already did - and it's filed. Just wanted to hear other people's opinions. Ohh! That is a very good explanation. Thank you for that! Well, it's both that I'm talking about. Because AFAIK in string params you need to put Python in backticks as well? And the point I was making was that it is a bitch to get used to when starting out. By now I don't really have an issue with it anymore, except the traumatizing memory of starting out with Houdini and failing to get expressions to work.
  13. Hello, I've been using Houdini for close to two years now and in that time have gotten faily accomodated with the way the program behaves. However, one thing that up to this day is hard to get used to is the way the parameter syntax is set up in regards to expressions. The thing I mean in particular is how you need backticks for expressions in String parameters, but not in any others. I know there is an explanation to this, but as an artist this confuses me as soon as I didn't write an expression for two days because it doesn't get into my head. Just talking about intuitivity and learnability, I find that this just adds unneccessary confusion. I think somehow tweaking this would make all of Houdini just a tad nicer to work with, particularly in favour of those starting out with the program, as I know exactly that this issue was frustrating starting out. I just think it would make sense for expressions entered with a backtick to work in float parameters as well. I realize this is a tiny tiny issue that I'm ranting about here, but I just had to let off some steam because I just sat here for 20 minutes wondering why my expression wouldn't work. Cheers, Martin
  14. Simple Noiser

    Heyya! Over the past couple of days I've been building and extending this, at it's core very simple, Noise generator tool. It's called, incredibly intuitively: Noiser. I've gotten quite sick of always doing the same simple Noise-VOP over and over again so I built this nifty tool that saves me a small but accumulating amount of time (and energy) every time I need some noise. I'm really fond of it and it rarely takes me more than a couple of minutes into any project that I drop it down. Here's a quick video demonstration: https://vimeo.com/271007816 And the DL: noiser.hda and a simple demo screen of the defaults: And that's the relatively simple setup. I hope someone else will find it as useful as I do! Cheers, Martin PS: I just found a volume-noise tool in my OTLs-folder, so I thought I'd just share this as well. Practically the same thing working for both SDFs and Volumes (VDB & Primitive). vol_noise.hda
  15. Hello fellow odforce-people, at the moment I'm working on my bachelor thesis which I'm writing about Dynamic Simulations for Film in Houdini. In order to demonstrate these effects, I'm producing two shots of a short film that I've wanted to do for a long time. And for the environment of this short film I decided to do some procedural modelling with Houdini. And since the houdini community is so extremely generous, I decided to take part myself and share my entire project file. It's slightly messy, but I hope it's useful. * I started out in Cinema 4D where I did some basic cloner-modelling to get all the basic shapes right. * Then I moved into Houdini, converted everything to an SDF and cut out dynamically generated holes. (Scatted loads of spheres into a vdb that I generated from the sdf, displaced the spheres, made an sdf from it and "difference-d" it away from the main mesh.) * Having converted the object back to polygons, I ran the mesh through Instantmeshes to get a clean quad-mesh. (Love this program almost as much as Houdini.) * For uv-mapping and memory-efficient exporting I got rid of all the faces that were not visible from the inside. (more than half) (I wrote a little script that sends rays from every point of the mesh to the 'god-points' in the center (because godrays, haha... ha...) and when any of these rays hit, it's marked as visible (green). Then I get rid of all the invisble points (red). * I unwrapped the mesh using Auto-Unwrap from the game-dev-toolkit and exported it (as well as the high-res-version from before) to Substance Painter where I baked all the maps (normals, AO, etc.) from the hi-res mesh to the low-res mesh. * In painter I just smashed a couple of smart material on there that I found on Substance Share, scaled up the UV-Tiling (because huge mesh) and was pretty much done with texturing. The render is a screenshot from painter's integration of I-Ray. (When I get everything together in Cinema and render with Octane, I'm gonna step the lighting up a notch of course. ) Here's a couple of pics: And attached you'll find the project file as well as the base-obj I started out with from Cinema (And one remesh to work with in case you don't have Instant-Mesh set up). To make viewing easier, I turned on a switch that sclices out only a small part of the arena for editing and increased the voxel-size so that loading only takes 15 seconds instead of half an hour. Cheers, Martin ARENAWRANGLE_TOODFORCE.zip