Archive for the ‘Tech’ Category

Maxscript and mirroring skin weights

I’ve spend the day skinning characters and banging my head against maxscript and the holes in it.

A while ago I wrote a working skin weights mirror script, where I select a vert, copy it, then select a vert to paste to and it correctly mirrors the bones and weights. However, this is a bit slow, so what I thought was I could select a bunch of verts, where the odd numbered selection was the ‘copy from’ vert, and the even numbers are the ‘paste to’. Then I could loop through the list, copying 1 to 2, 3 to 4, etc.

However, even though the listener can show me my selected vert array, I cannot seem to access this information.

Anyway, I’ve come up with a possible solution, which is a work in progress…I’ll explain it after ranting

Basically, what I want cannot be done - maxscript has holes. The solutions posted on the net, and the suggestions from others are the same as the one I have already - select a vert, then cycle through all the verts in the skin modifier to see if I have got them selected.

This method works for some scripts, but its an ugly hack, since in the maxscript listener it tells me what verts I have selected, so MAX KNOWS! It’s there, in text, on the screen. It’s taunting me.

It’s a brute force search, but this won’t work for my script.

The reason the loop won’t work is that I have to select the verts in order, and store them in array, so I pick the source vert then the target, then another source and another target etc. With this array I copy 1 to 2, 3 to 4, 5 to 6 etc. Using the looping method reorders all the verts.

Now, the vert ids are the same in the skin modifier as they are in the poly/mesh so I thought I’d use those vert selection methods, but guess what - when in skin you can’t use the poly/mesh vert identification methods any more.

Now, my solution to the problem.

I want to be able to mirror whilst the mesh is deforming, so that I can check the mirror has worked.

So, I have 2 buttons in my rollout - Create eMesh and Perform Copy. Create eMesh sticks an edit mesh modifer on the stack above my skin modifier, so I can see all the deformation. I can select my array of pairs of verts here, so thats part one.

I already have working copy and paste functions (with mirror) in my current script, they just take a vert id. The copy function queries the specified vert and extracts all the bone and weighting information. The paste function then applies this information to the specified vert.

So now, after I’ve selected all my weights, I press the ‘Perform Copy’. It stores my vert selection in an array, deletes the mesh modifier and goes back to the skin modifier. Then its just a simple loop - get the information from vert 1, calculate the mirrorbones, paste that to vert number 2. Then 3 to 4, 5 to 6 etc.

It works.

But it’d be a lot cleaner if there was just a skinop.getvertselection command.

Technorati Tags: , , , , , ,

Silo 2.0 for making games

I’ve said before that I’ve been beta testing Silo 2.0, and it’s no secret to the people that I work with that I love Silo as a modelling package. It’s small, fast, lightweight and it feels right to model in. I can’t say what projects I’m working on, or have worked on, but I’ve used Silo 1.4 several times in the pipeline.

Silo 2.0 has been released as a public Beta, and I think that it’s time the word went out to as many game industry artists as possible - Silo 2.0 is a joy to use, and you need to try it. Character artists are the people who will benefit from most of all, due to it’s stunning displacement painting. You can create a low level base mesh then subdivide and sculpt it as much as you want, but unlike Zbrush you’ve got access to all the standard 3D modelling tools at any time on any subdivision level.

You could even start with a high poly model, and then build a low polygon version from it using the topology brush. The topology brush allows you to create new geometry simply by drawing a new mesh over the old one, retaining all the shape. I can also take my high resolution model and generate a normal map for my low poly mesh using it’s UV’s - UV’S that I’ve laid out in the superb LSCM based UV editor.

Tulipsm

If you haven’t seen it, I urge you to check the video, and read a description of all the features.

Taking it forward, I’d love to see the Nevercenter team implementing .fx based shaders, meaning the model we see in Silo is very close to the model we’d see in our games. This is a wish that I have no doubt the Silo team would have little trouble implementing.

Comments?

Technorati Tags: , ,

Seriously buggy 360 titles?

I’ve worked on games with bugs - every game released has bugs. I remember developing at Ubisoft and we had a bug on Bear where the game would only work on Purple Gameboy Colours. No lie - and when you’ve had 10 hours sleep in 3 days at it’s 4am and you get a bug like that, you want pack it all in.

Gabriel the code monkey figured it out (I have no idea what it was), and the game shipped.

Console games usually have less bugs than PC games. Partly this is down to the standard hardware in the consoles, and party because each hardware vendor has it’s own internal test department who won’t let you release buggy games (although they differ from region to region, Nintendo USA passed Super Bubble Pop on the Gamcube and Nintendo Europe didn’t).

With all that in mind, I was surprised to see freezing issues with Major League Baseball 2k6. There are possible methods to fix it, and a patch is to be released, but I’m hoping this was a one off. Patches for console games? Please, let’s not go down this road.

Technorati Tags: , ,

The cons of Google Calendar

I love the Google Calendar - I’ve given up on iCal and switched to it for all my task management. This is mainly due to it’s ability to add calendar entries based on recognising English - like “Dinner at Suruchi 7pm Next Friday”. others are not so Keen, and Paul Scoble has written a post on what he finds wrong with it - much better than just saying that it’s rubbish.

Sometimes I forget that people are actually reading my ranting and expect more than just “I hate it.”

It makes interesting reading, and I have to agree with some of his points. It is an online calendar, so if you don’t have access to the net, you don’t have access to the calendar. For me this isn’t a big issue, but I can see how it could be for some people, thoguh I can set up iCal to also update itself from gCal.

Technorati Tags: ,

Silo 2.0 Public Beta

The guys at Nevercenter have just got around to releasing a public beta of Silo 2.0. This will ONLY work if you already own 1.4 and have a valid serial. This is for Windows PCs only.

Of course, you could buy 1.4 for $109 and download the beta.

I’ve beta tested many versions of this for months, and really is top notch.

Technorati Tags: , ,

Link statue, and more Google Caledar thoughts

Fierce Deity Link_photo1_large.jpg

First 4 Figures is proud to present Fierce Deity Link, the first collectible statue in the First 4 Figures highly anticipated Legend of Zelda collectible statue series. With inspiration taken from the official Majora’s Mask Fierce Deity Link artwork, the statue has faithfully recreated Fierce Deity’s powerful and mysterious character and pose. Raising his double helix sword high above his head, he is ready to take on any his enemies. Towering at over 14.5 inches to the tip of his sword hilt, Fierce Deity Link will be in scale with the others in the series.

Cast in high quality poly-stone, the statue is hand finished and hand painted. Comes packed in a foam interior full colored box with a card of authenticity. Highly limited at only 2,500 pieces available worldwide.

More details here

One of the nice things about Google Calendar is that it can link the location of an appointment to Googlemaps. I’ve just found out today that you can now ‘bookmark’ locations, name them “Home”, “Parents” whatever, and it will auto complete.

Yeah, it’s geeky to be into this stuff, but useful. I’d never have thought a calendar would be useful to me, but it is. I’ve even started to record work milestones on it. Now I have no excuse.

I REALLY miss the del.icio.us buttons now that I’m running Firefox beta.



Yellow Tower


I’ve updated a few of my Flickr photos with tags and descriptions.

Other Related Topics:
, ,

Superhero suits and subdivision

Liquid Armor is the new bulletproof vest.

By early next year the president and chief operating officer of Armor Holdings Inc. aims to be selling what he describes as “liquid armor” — garments constructed from layers of tough fibers and fluid polymers — to prison guards. By the end of 2007, he hopes, police and maybe soldiers will begin wearing the company’s new protective gear as well.

Siggraph 2006 has kicked off, and the forums on various sites are already kicking off in Zbrush vs Mudbox wars.

I use Zbrush at work, and have done for about a year. It gets me results, but I’ve never really gotten into it - it seems to me personally that it was the only package out there that provide the displacement painting functionality that was required for next-gen game art. Along comes Mudbox and right from day 1 it’s a more streamlined intuitive package.

Zbrush is already firmly embedded in many art pipelines, yet the Mudbox (beta) integrates really well into production pipelines (certainly Skymatter will have taken the two or so years worth of ZB usage onboard to determine what and what doesnt work in a production environment). Pixologic are now working furiously to respond to any feedback, and to help artists by adapting ZBrush to work better in modern production pipelines.

Then along comes Silo, practically free, with a superb set of modelling tools, great displacement painting and LSCM UV unwrapping. Where does it fit in? Certainly it’s better in my opinion than Zbrush for my job role. Thankfully there now seems to be a buzz about Silo 2.0.

Externals

Other Related Topics:
, , , ,