cialis soft 20mg

Jump to content

generic dapoxetine priligy
Welcome to 3DHIT, the forum for UHAnimation - Digital Animation 2D | 3D | VFX | Games Art at the University Of Hertfordshire.
If you are new to the forum please register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. If you already have an account, login here - otherwise create an account for free today!
avana dapoxetine

Matt Jenkins - Work Thread 2: The Rigoning


99 replies to this topic

#91
snowed

snowed

    CG Generalist & Animator

  • 1173 posts
  • Gender:Male

  • Work Thread

  • Xbox 360 Gamer Tag:Xi sn0wed iX
  • Company: ILM (london)

i heard jason was really helpful, top guy

 

Nice looking auto rig though!


Edited by snowed, 10 May 2017 - 11:05 AM.

  • Danriduk likes this

#92
Jenks

Jenks

    3rd Year Rigger

  • 397 posts
  • Gender:Male

  • Work Thread

Thanks guys :D

 

awesome !

hard to comment without looking at the code, but it looks like its all working nicely.

 

As a tid-bit and me being picky instead of using locators to position the joints maybe use joints themselves ? As they take priority over selection and you can also x-ray them inside the geo. Perhaps using a custom shape for them to visualize the up-vector better also.

 

Also it doesn't seem fully modular as the final rig is single chain ? - I'd suggest separating it out further and use constraints to connect the different modules together (eg, clavicle end drives the start of the arm IK chain via parent constraint).

Since at the moment it seems specific to what each section is parented too, so giving a character more arms would mean jumping into the code and changing the joint the clavicle/arm parents too ? - don't want to waffle on too much .. 

 

some cool addition if you want to take it further:

- something in there to save out the locator positions and import back in, can use json for this.

 

- Here's a pastebin link if you fancy taking a look, bear in mind that it's all pretty hideous and completely unoptimised at the moment [link]

 

- Good call about using joints - I hadn't thought about that, I'll probably save that for the polishing stage though

 

- Now that you mention it I guess it's only half modular... each component works on it's own, but if the spine exists the legs get parented to the base and arms to whatever joint you add as an argument into the function (in this case the spine function returns the second to last joint in the spine). I didn't really think that through when doing the parenting, are there any downsides that you've found doing it with parent constraints instead, or is that pretty much always the better option?

 

- At the moment you can kinda save locators positions - if locators with the name you're using already exist in the scene, the locator creation functions just recreates them in those positions. There's probably a much better way of doing this though, so I'll have to play around with it in the future



#93
Danriduk

Danriduk

    Creature TD

  • 344 posts
  • Gender:Male
  • Company: ILM

Thanks guys :D

 

 

- Here's a pastebin link if you fancy taking a look, bear in mind that it's all pretty hideous and completely unoptimised at the moment [link]

 

- Good call about using joints - I hadn't thought about that, I'll probably save that for the polishing stage though

 

- Now that you mention it I guess it's only half modular... each component works on it's own, but if the spine exists the legs get parented to the base and arms to whatever joint you add as an argument into the function (in this case the spine function returns the second to last joint in the spine). I didn't really think that through when doing the parenting, are there any downsides that you've found doing it with parent constraints instead, or is that pretty much always the better option?

 

- At the moment you can kinda save locators positions - if locators with the name you're using already exist in the scene, the locator creation functions just recreates them in those positions. There's probably a much better way of doing this though, so I'll have to play around with it in the future

 

Downsides - probably slower since it has to deal with constraints rather than direct parenting, but the speed decrease is probably negligible.

I guess its more personal preference with the modularity (if thats a word) i'm a fan of it - most non-games places i know of use a modular approach also.

 

Solid code though ! sweet work.

take a look into dictionaries. especially for the shapes. SUPER useful

 

Also this is a super cool watch i'd recommend just to expand the knowledge:

 

zeth is back !


  • Jenks likes this

#94
Jenks

Jenks

    3rd Year Rigger

  • 397 posts
  • Gender:Male

  • Work Thread

Oh boy... it's been a while. Now that I've come out of my post-second year coma I've been spending some more time on my Auto Rigger. I'm too lazy to do a full update on what I've changed and added, so for now all you get is some UI stuff :p

 

WX1qfNs.gif

 

Here's what I have so far - the idea is that you can add as many limbs as you need (3 heads, 4 arms, 2 tails and a single leg if you really want) with configurable options for each. I still need to add in an option for setting the limb's parent, but other than that it's pretty much finished. I don't actually know if this system is gonna work as nicely as I hope, so it may end up changing completely - but either way I've learnt loads more about doing more complex tasks with the UI.

 

Now I need to mash the UI and the actual functionality together and hope that it all goes smoothly...


  • shakeyc123, ZombieDawgs, ichi and 6 others like this

#95
Jenks

Jenks

    3rd Year Rigger

  • 397 posts
  • Gender:Male

  • Work Thread

And it lives!! *insert evil laugh*

 

I finally have version 1 pretty much done, there's still a LONG way to go before it's gonna be ready, but it actually functions now.

 

Here's a quick video of me showing it off... I tried to show off all the working stuff, but I'm pretty sure I forgot some bits...

 

 

Anything with [NI] next to it hasn't been implemented yet (and neither has saving & loading to/from a json or the quadruped mode), I also realised whilst preparing to record this that I somehow broke the individual mirror buttons for each limb - I swear that was working xD

 

Now that it's up and functioning, I've spent the last day or so tidying up the code - formatting it correctly and starting on the factorisation (which I imagine will carry on for the next few days at least) I even started a separate python file for all my utility functions that I'll slowly start switching my other scripts to using as well. But never have I hated past-me so much... WHY DID I NOT PUT SPACES BETWEEN THINGS?!?!.... WHY?!?!

 

If anyone wants to try it out for themselves: https://my.pcloud.co...9gUB0KUA8CcJCX0

...although it's still in it's early stages so it'll probably be super easy to break and I imagine there'll be plenty of stuff that doesn't work properly xD


  • aleksjank, Eddy Idriss and Christian Fryer like this

#96
Danriduk

Danriduk

    Creature TD

  • 344 posts
  • Gender:Male
  • Company: ILM

Solid stuff nice work !

 

As some notes to improve things / future stuffs:

 

- almost 3000 lines of code in one file, although this is fine for you too look at, I would separate out as much as possible into organised folders, especially with a project like this (perhaps too far into in now, but for future stuff), and it also makes everything as reusable as possible for other projects. EG: make a separate script for creating just the shape curves, which you then can import in that module when needed into other projects.

 

- string formatting would be better and more efficient when trying to combine together multiple strings and variables.

# before
name + 'blahblah' + suff + '.attribute'

# after
'{0}blahblah{1}.attribute'.format(name, suff)

- I would vouch for a dictionary for all those shapes in the future so you just import the one dictionary with all the point positions to use in the cmds.curve() command. Which would also make adding in new shapes super easy too do.

# curve dictionary
curveDict = {
	'square' : [(-1,0,-1), (1,0,-1), (1,0,1), (-1,0,1), (-1,0,-1)]
	}


# curve command example
cmds.curve(d=1, p=curveDict['square'])

i love dictionaries way too much.



#97
Jenks

Jenks

    3rd Year Rigger

  • 397 posts
  • Gender:Male

  • Work Thread

Solid stuff nice work !

 

As some notes to improve things / future stuffs:

 

- almost 3000 lines of code in one file, although this is fine for you too look at, I would separate out as much as possible into organised folders, especially with a project like this (perhaps too far into in now, but for future stuff), and it also makes everything as reusable as possible for other projects. EG: make a separate script for creating just the shape curves, which you then can import in that module when needed into other projects.

 

- string formatting would be better and more efficient when trying to combine together multiple strings and variables.

# before
name + 'blahblah' + suff + '.attribute'

# after
'{0}blahblah{1}.attribute'.format(name, suff)

- I would vouch for a dictionary for all those shapes in the future so you just import the one dictionary with all the point positions to use in the cmds.curve() command. Which would also make adding in new shapes super easy too do.

# curve dictionary
curveDict = {
	'square' : [(-1,0,-1), (1,0,-1), (1,0,1), (-1,0,1), (-1,0,-1)]
	}


# curve command example
cmds.curve(d=1, p=curveDict['square'])

i love dictionaries way too much.

 

 

Thanks for all this advice :) I'm currently in the process of making all my functions as reusable as I can and splitting them off into separate files for later use - since the version I linked I've already transferred a fair few of my more general ones into a utils file (and at some point I'll get all my other scripts switched over to using it)

 

As for the string formatting, personally I really hate the way it looks - I find it so hard to read, is that something that I should just force myself to get used to? or is it not a huge issue if I keep using the old crappy way?

 

I think I did consider using dictionaries at the time, but for complicated curve shapes the point data can become really long and kinda gross looking. I also use one of my scripts when making a new curve shape, that gives me all the code I need to just paste it into the template file I have... I probably could combine all those files into one though...



#98
Danriduk

Danriduk

    Creature TD

  • 344 posts
  • Gender:Male
  • Company: ILM
# before
name + 'blahblah' + suff + '.attribute'

# after
'{0}blahblah{1}.attribute'.format(name, suff)

the first is doing

name + 'blahblah' and storing it

then using that and + suff then storing it

then using this new one to + '.attribute', if you have long strings it gets pretty inefficient. It doesn't matter too much as you are running the script only once, but its better practice to use string formatting.

 

I've forced myself to use .format() anywhere i can, even if i'm just combining 2 strings together for the sake of keeping it all the same - you get used too reading it eventually.

 

the {0} {1} is just the index from the list of things inside .format()

here is a good read up on it https://pyformat.info/



#99
Jenks

Jenks

    3rd Year Rigger

  • 397 posts
  • Gender:Male

  • Work Thread

Update time!

 

Added quite a few things since the last one - mainly save/load for the locators, stretchy limbs, a dynamic pivot control, and then lots of smaller behind the scenes type things

 

For the save/load I rewrote the whole locator creation process pretty much from the ground up, so now it gets the transformations from a dictionary and it now also keeps the orientations when mirroring etc (and is overall just a much better system). I also managed to get it to save and read to/from json files - this was actually much easier than I was expecting. And then I had to make it save/load the UI information as well (so when you load in a json it sets up the limbs in the same way as when you saved it)

 

rnt75KW.gif

 

It's slowly making it's way to something somewhat finished - I even used it for an elf rig I'm making - and holy crap it feels so good to not have to manually do everything :O

 

Soon I need to beautify the locator placement process, at the moment it's hideous...



#100
markw

markw

    Mark W

  • 1665 posts
  • Gender:Male
  • Location:Harpenden
  • Wii Number:na
  • Xbox 360 Gamer Tag:na
  • Company: UH

Looking Good Matt.

 

I thought you'd like this.  It's from Neil Blomkamp oats studio (his opensource you tube film/steam collaboration).  You can download the assets he makes from his films for a small fee.  I really which Ridley Scott would have let him direct the Aliens film....

 

Best  Mark

 

Editig this post again...

 

check out the animation from that rig I posted..

 

 

That's nuts!

Attached Thumbnails

  • DEk3UHTVYAA3f0W.jpg
  • DElCy3hVYAAmUIR.jpg
  • DErJO6FXoAArYdH.jpg

Edited by markw, 17 July 2017 - 07:39 PM.





Reply to this topic



  


14 user(s) are reading this topic

0 members, 14 guests, 0 anonymous users

buy antibiotics online uk