Wednesday, 30 April 2014
Demos
So Without the battle node, the tool is still successful in being able to generate and maneuver and generate a crowd system, that can interact with other agents in order to avoid interpenetration as well as collide with geometry.
FAR FAR too slow
So i implemented the updating of the attributes functions as Mel commands, and the results were so slow i want even able to produce 10 frames of the animation. Each frame took at least 2 minutes to calculate only 100 and i expect this is from all of the string concatenation for the command as well as the command itself being slow to execute as Mel.
I'm going to have to cut this feature from the tool as i was unable to find a solution that was within my time constraints.
I'm going to have to cut this feature from the tool as i was unable to find a solution that was within my time constraints.
Monday, 28 April 2014
Python Tools UI
Finally created a UI to accommodate all of the functions needed to setup the crowd systems as well as the tools created for the setups like the animation exporter and Attribute manager
Sunday, 27 April 2014
Last attempt at the attributes functions
Ive found yet another method that may be possible to keep the PP attributes updating, its possible to call mel commands from the node so this is another "hack" around the problem but may be the only solutions, before testing it out, i expect this is going to be far too slow to be worth using.
Saturday, 26 April 2014
May have to drop the battle node
Having real problems working with these PP attributes, it seems Mayas particle system may not have been the best solution for agents, there are so many things that are common to other Applications that are part of their particle systems that Maya just hasn't used
I have had to resort to some "messy" hacks to resolve a couple of the issues, one of the main things i didn't want to have to do was use a script-job, but this is the case when resetting the simulation, all of the P attributes revert to 0 rather than the initial value which i think may be related to the particles never being born as an initial state is used.
I have had to resort to some "messy" hacks to resolve a couple of the issues, one of the main things i didn't want to have to do was use a script-job, but this is the case when resetting the simulation, all of the P attributes revert to 0 rather than the initial value which i think may be related to the particles never being born as an initial state is used.
Thursday, 24 April 2014
Found the problem...
The problem with setting the per particle attribute was that is only affect the current frame in the simulation.. When a frame finishes computing, if the attribute was not set during that frame, it would revert back to its default. stopping any changes i had made to the PP attributes during the simulation.
IndexPP was the only attribute not affected because it is updated on every frame while attributes like aggression and isAlive may only be updates 5-6 times through a simulation.
IndexPP was the only attribute not affected because it is updated on every frame while attributes like aggression and isAlive may only be updates 5-6 times through a simulation.
Tuesday, 22 April 2014
Python Tools updated and more failed tests...
i needed to update the python tools to allow for the PP attribute connects to be accomplished without the need to drag all of the connections so i created a few functions to automate these tasks
I also tested the functions now the nodes are setup and only the indexPP attribute seems to be getting set, as the animations are updating, but the other attributes are not. The output from debugging the plugin shows that the commands are being called, but not with the correct values.
I also tested the functions now the nodes are setup and only the indexPP attribute seems to be getting set, as the animations are updating, but the other attributes are not. The output from debugging the plugin shows that the commands are being called, but not with the correct values.
Friday, 18 April 2014
Animation Controller
Created the node that will control which index of the animation caches will need to be next. It accepts the lengths of each cycle and the current index of each particle system from the "Battle Node"
Wednesday, 16 April 2014
Tuesday, 15 April 2014
setPerParticleAttribute Trial
So ive managed to set up the setting of the attributes in the battle node by using MDagPaths to find the particle systems and passing this to an MObject to store. From there i was able to call the functions to try and set the attributes.
Sunday, 13 April 2014
New method for setting attributes
Trying out a new method for setting the attributes. The MFnParticleSystem class has 2 functions for getting and setting attributes by accepting the particle systems as MObjects and the data as arrays, so ill try this next and see if it works
Saturday, 12 April 2014
Api Seems very outdated?
While trying to set up the battle node, ive found that they do not make it easy to set the per particle attributes properly, so far other than create a particelAgeMaper node for every attribute i want to compute i don't think its possible to edit the PP attributes without MEL
Tuesday, 8 April 2014
Python Tools
Recently updated the python tools so setups within the node editor are easier to make and to add the PP attributes
Saturday, 5 April 2014
The Battle Node
Until now all of the forces have been affecting the forces globally, and the PP attributes only affected these forces. This battle node will determine what happens when two oppsong crowds meet as well animations need to be played next
Friday, 4 April 2014
Basic Animation in place
Here is the outcome of a simulation just trying out the different animations, no forces used, i just let the animations cycle to set what variety could be achieved
Wednesday, 2 April 2014
Subscribe to:
Posts (Atom)