Sunday, 16 January 2011

January is half done...

So far I've not made much progress on my "resolutions". I'm still resolved to get 'em done though.
I've also been bringing my own lunch into work most days and more or less spending all the savings on coffee :)

Life drawing seems to be sorted - had a decent session last week. Just need to document some of the sketches somewhere. I did have an idea to do some sort of super short animation for CNY but I keep getting distracted by work, general slack & games. Perhaps I should finalise a storyboard before deciding anything else.

Decided to try out Lovefilm for a few months. It's all free for now :) Working through many highbrow Criterion collection dvds. (oh and Milk was rather good!) Not entirely sure how this is going to be beneficial to unslacking - but I suppose it's better than browsing the web aimlessly in the evenings. It's also nice that it keeps a record of everything you've watched.

Tried to learn a bit of Python this week...it seems to save some time with certain programming procedures (loops especially), so I just have to keep familiarising myself with it, find some sort of Python for dummies exercise book.

Onward to a new week! I'm cautiously optimistic about it...and if I'm ready for what it might bring!

Saturday, 1 January 2011

First!11one (of the year)

Before making a whole bunch of new resolutions/targets/goals/plans let's take a look at what happened with last year's!

  1. Jump onto the indie development bandwagon. Be it a cruddy game or a half assed app it's something I feel is worth doing. At the very least I'll gain some programming experience. I've signed up for a free XNA creator club account and sat through 2 hours of tutorials to get the ball-a-rolling on this 'un. Short story -TAKES TOO MUCH TIME. IS BORING. I find it quite hard to be enthused by other people's ideas when they aren't particularly good. This applies to other projects - including animated shorts which I did invest a bit of time in. Bah!
  2. Start drawing again, as well as developing series/shorts ideas. Keep an actual organised and documented sketchbook...hey..it could be on this blog?! Found a new life drawing venue, and I'm not too rusty, though the real challenge is to keep going even in crappy weather & after a boring day of work.
  3. That leads me to the subject of this blog.... I'll aim to actually keep it updated with stuff that isn't just code stolen from other sites (though there'll be plenty of that). No real progress here, though I do leave better explanations for what the code is.
  4. Leave the country at least twice. Done! Went thrice! Berlin, Trento & San Francisco!
  5. ??? Lots of this :)
  6. Profit Ho hum...

So on to this year's naive list..I'm going to split them into two categories. Personal & Work.
Work...

  1. Produce two short films.
  2. Learn new stuff! Python perhaps, or refamiliarise myself with 3dsMax, Houdini or something? Oh and Zbrush..and Vray.
  3. Get a new job/career.
  4. Keep daily Firefox browsing average to under an hour! Draw in downtime and not slack lolz.
  5. Make some cash monies outside of main job (photography I hope)
 Personal...
  1. More holidays/travel! Last year I managed 3, this year I need to have at least 4, or die trying (doesn't necessarily have to be abroad)
  2. Go to more music gigs, cultural events.
  3. Acquire a new skill of some sort..(driving? new sport, tailoring! diy?)
  4. New hobby (could be linked to 2)
  5. Maintain Inverse Panda blog with frequent updates
  6. Finish two substantially sized paintings.
  7. Decide.
Onward!

Friday, 10 December 2010

removing initial state of particles!

yet another particle related thing I should know already...

anyway, set lifespan of particles to 0, run simulation for a frame or three so that maya is forced to update the buggers and terminate them - then set intitial state once more. Now re run simulation and it should be set to default! Whee!

Thursday, 4 November 2010

more stolen particle stuff

Create a polygonal sphere and turn it to softBody ( use the option "Make Soft" - in case you want to fallow the exact steps ot this tutorial ).
Create a particle emitter, offset it on Z axis, set it to "Directional", set "Direction Z" to -1, set "Speed" to 3, "Speed Random" to 0.5 and "Spread" to 0.1.
Apply radialField to the softBody particles ( i will call it radialField_softBody ) and another one to the particles emitted by the particle emitter ( let's call it radialField_particles ). For both radialFields set the "Max Distance" value to 0.75 and turn on "Apply Per Vertex".
Now here is the important part:
Select radialField_softBody and the particleShape emitted by the particle emitter. Then use the command "Use Selected As Source of Field" inside the "Fields" drop-down menu.
Do the same with radialField_particles and the softBody particles.
By default Maya parents the forceFields under the objects used used as source for them and links their translate attributes. Dissconnect their attributes and move them outside the "action" area.

 
At this point you are ready to go - click on the left image to see the result in motion.
Keep in mind that all the attributes of the forceFields are accessible on PP level ( read the Maya Help for more information ).
The "Volume Shape" attributes of the forceFields should be set to "None".
In addition you can try and this: turn the sphere to a non-dynamic object and use it as source of the radialField_blendShape, i.e. - delete the softBody particles, and reapply the radialField to sphere's shape.
This is a some kind of bridge between this and the next tutorial below.

Tuesday, 26 October 2010

More Particle Transformy Stuff I should really know..

In the unlikelihood that anyone but myself reads this "blog", all credit to Sathish Kumar from chennai, working in Nipuna Services. Tutorial found on Creative Crash, via CGTalk forums.Whew.

Step 1:

Create any Geometical object and Assign any Texture and then Convert it to File Texture.
Create a surface emitter from that object and turn on Need Parent UV.
Add rgbPP attribute to particleShape1.
Assign the Baked File Texture to the emitter1 color .
Turn on inherit color in emitter1.
Set the conserve attribute to zero in the particle.
Set the emitter rate attribute to 5000.

Step 2:

Create any Geometical object and Assign a different Texture and then Convert it to File Texture.
Create a surface emitter from that object and turn on Need Parent UV.
Add rgbPP attribute to particleShape2.
Assign the Baked File Texture to the emitter2 color .
Turn on inherit color in emitter2.
Set the conserve attribute to zero in the particle.
Set the emitter rate attribute to 5000.

Step 3:

Play the TimeSlider and after the objects getting filled with the particle's Stop the TimeSlider.

Step 4:

Set as Initial state for both the particles.Delete the emitters from the object so the particles be independent. Now open the particleShape1 attribute editor and add the runtime expression in the position attribute as follows

particleShape1.position=hermite(particleShape1.position,particleShape2.position,
<<0,0,0>>,<<0,0,0>>,smoothstep(rand(0,2),rand(3,3.5),time));

and add the runtime expression in the rgbPP attribute as follows
particleShape1.rgbPP=hermite(particleShape1.rgbPP,particleShape2.rgbPP,
<<0,0,0>>,<<0,0,0>>,smoothstep(1,rand(1.5,3),time));


Play the scene and Enjoy the Particle Morph.

Tuesday, 19 October 2010

Particle magick

Particles flowing along a curve (obvious stuff I should know)

  • make particle & emitter
  • make curve
  • set curve as goal
  • select particle, in attr. editor, add the goalU and goaloffset attrs.
  • goalU+=0.1 or whatever
  • goaloffset is so the particles are around the curve, not just ON it.
  • Use something like sphrand (<<2,2,2>>) for that.
  • Profit.

Monday, 11 October 2010

stretchy limbs redux

  • seems as if it's important to have a master global scale in the baseCtrl.
  • everything should be parented under the baseCtrl..
  • 1/masterGlobalScale should be applied to the bendy chain joints.
  • use of distance nodes to spread the chain joints is definitely the way to go in conjunction with translateX
  • the root of the chain joint's immediate child should sit right on top of itself, for the bending to work
  • use rotation of bendy joints to create bending
  • IKctrl should be a shape of sorts, parented under baseCtrl. It should hold a locator for distance purposes and also the IK itself.