Jump to content

jheffel

Members
  • Content count

    9
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Community Reputation

0 Neutral

About jheffel

  • Rank
    Peon

Personal Information

  • Name
    Jamie
  1. adding skinned agent layers

    Thanks Daniel, I had already run into your post with the flags, was very helpful! I believe I've found a way to get the setup I was looking for: I exported the fully skinned layer using the agent out node located the 'default.lay' file and duplicate and rename to 'noskirt.lay' edit the noskirt.lay file in text editor change 'name' to 'noskirt' removed the entry for my skirt mesh under 'deforming' This results in me getting a 'default' and a 'noskirt' layer that I can swap between. So now I can use the default layer for most of my agents, and swap to the 'noskirt' agents for the ones I run the full cloth simulation on!
  2. CROWD: Layering Agent Layers?

    I was able to do something like this by using the 'agent edit' node after my crowd sim has been cached. I essentially had a bunch of different weapon layers with just the weapon in it (source layer set to empty). After the crowd sim cache, set up some random attribute to isolate some of the points then agent edit to change the layer to the desired weapon layer. Then just merge the weapon agent back onto the base agent. The only problem with this for clothes layers is that I haven't found a way yet to get a new agent layer with skinning for the mesh other than simple attachment to a joint
  3. I'm currently working on a crowd agent with a skirt like object that will need cloth sim for the agents close to camera. I would like to have some agents that have a skinned version of the skirt without simulation to use in the background, and the others to have nothing there so the simulated cloth can be rendered over it later. Essentially I was hoping to do this by having one agent layer with the skirt, and one without it in the same agent. I already have the skirt skinned on my rig so am able to export that as the 'default' agent layer, I then made a duplicate of the rig, removed the skirt and tried baking it as a new layer to disk. I can see both the 'default.lay' and 'skirt.lay' on disk. When I try to load the agent in my scene though it only will show the layer that was last baked out as selectable, If I bake out one layer it makes the other unusable (reloaded the agent as well). I've been able to successfully add some static objects as new agent layers parented to certain joints, but am not sure how to add a new skinned skirt agent layer, or to remove the skirt in a new layer. Currently the only way I can see around this is to create the skirt variations as different agents? I might have to go down this route, but it would be really beneficial to be able to use the agent edit node to simply switch the agent layers when I want to add cloth sims at the end to the agents close to camera Any ideas on how I could accomplish this?
  4. help controlling FLIP sim

    thanks josh I ended up removing the body from my collision mesh leaving just the fin to skirt over the water and got the results I was looking for. Would still be interesting to see if there are settings in the solver that would produce the same effect for the whole collision geo though
  5. help controlling FLIP sim

    Hi, I'm just learning how to use a water FLIP sim using a shark fin travelling through the water as an example. I'm currently running into some issues with the way the simulation is behaving and was hoping someone on here might have an idea of how I can approach adjusting it to get the desired result. I've got a shark with a fin sticking out of the water travelling forward and am looking to get some subtle ripples around the fin as it travels through the water. The current results I'm getting end up creating a large wave that follows behind the shark, and a section that sucks down around the body behind the fin. So far I haven't been able to reduce this effect. I've attached an example scene to this post. Any suggestions on how to make the surface of the water flatter as the shark moves through it would be greatly appreciated! odforce_flipExample.hip
  6. Vellum Hair Stiffness Falloff

    Hi, I'm working on some hair simulation for a groom setup using the grooming tools. I've been trying to get a stiffness falloff working so that the hairs are very stiff at the root, but become less so at the tip of the hairs, but haven't been able to get anything that works yet. Ideally I'd like to be able to put a ramp gradient along the guide curves that can then be multiplied against the bend and stretch stiffness values. Is this an approach that could work? Or should I be trying to adjust the constraints instead? I've attached a sample scene using a sphere with a gradient multiplier along the curves that I'm trying to get to work. any insights would be very appreciated! furStiffness.hip
  7. I'm working on a simulation that has some crowd agents following a terrain using its normals as the up vector (for simplicity we can assume the terrain is a sphere). I've got my base simulation setup working fine, but in one case the sphere is moving really fast through the scene in world space. On certain frames where the terrain is moving extremely fast the crowd agents basically can't calculate the next frame so there positions end up being 'Nan' or undefined and they disappear. I tried running the simulation with up to 50 substeps, and that improves how many agents survive to the end of the simulation a bit, but still about half of them are still lost by the end of the sim. in order to combat this i managed to create a point vop that creates a transformation matrix from a tracked maya rivet/locator on the sphere. Then I applied the inverse matrix transformation to freeze the sphere at the origin to run the simulation. After the simulation is done, I'm able to re-apply the transformation matrix to the sphere to get it back to the correct spot. However, when I try to apply the matrix to the crowd agents, their final positions look correct, but their orientations are wrong. I believe the orientation attribute is the quaternion for all the agents rotations? Any ideas on how I would go about getting the agents to re-align correctly again after the simulation has been run? baking down the agents geometry and then applying the transformations seems to work, but this approach is really slow because of the amount of geometry it has to process, makes it quite difficult to iterate.
  8. Crowd simulation Velocity

    Thanks Atom, I ended up messing around with and without that setting seems like if I disable 'Limit Particle Speed to Gait Speed Range' the agents all will start at their initial velocity from the crowd source, and then slowly reduce to zero. Was also finding that if I added in obstacles and wanders that the agents would suddenly go to warp speed because there was nothing constraining their velocity. so for my best results have come from re-enabling the limit particle speed checkbox, and setting the allowed variance on the gait speed to 110%. Then I'm running some really rough vex in a popwrangle to try and freeze/unfreeze over time which is getting some ok results. f@freeze = abs( sin(0.5 * @Frame * rand(@ptnum) ) ); if(@freeze < 0.5){ v@v = v@v * @freeze; i@froze += 1; }
  9. Hi, I've been trying a couple different methods of introducing a start/stop dynamic to a crowd simulation. In the case of a simple walk cycle I want to be able to make the agent come to a full stop (Freezing at its current cycle time), and then after a certain amount of time return to its cycle. I was hoping to avoid using a transition network and zones in favor of a more procedural and random start/stop time by directly controlling the velocity. I'm currently setting my clip to use 'in place' as I believe this gives you more control over the velocity instead of 'locomotive'? I was checking out a couple tutorials that set the velocity to 0 in a popwrangle, but have been running into issues getting it to actually work - it seems like the crowd simulation ignores when I override the velocities to 0? v@v = (0,0,0); Will this method or something similar to it work?
×