USF4 | PC Custom Skin Thread

TLW_LimitBoneCount.py, python script for Blender 2.49b

Normalizes bone vertex weights and removes bone weights when the influence count exceeds

MAX_BONESPERVERTEX (i.e. most game engines have a limit of 4 bones per vertex)

Vertices that belong to groups which aren’t bones are left untouched.

HOW TO USE:

Select an object that has an active armature modifier. Load this script in the text editor

from Blender, and press Alt+P to turn the script. Modify MAX_BONESPERVERTEX below to change

the threshold

MAX_BONESPERVERTEX = 4

TLW_LimitBoneCount.py, python script for Blender 2.49b

Copyright © 2011 Matias N. Goldberg (“dark_sylinc”)

This program is free software: you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation, either version 3 of the License, or

(at your option) any later version.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public License

along with this program. If not, see <http://www.gnu.org/licenses/>.

import Blender
from Blender import *
from bpy import *

editmode = Window.EditMode() # are we in edit mode? If not so …
if editmode: Window.EditMode(0) # leave edit mode before getting the mesh

#Iterates through the modifier stack to get the armature. Assumes it has
#only one armature modifier (otherwise the first seen is taken)
def getArmature( obj ):
mods = obj.modifiers
for mod in mods:
if mod.type == Modifier.Types.ARMATURE:
return mod[Modifier.Settings.OBJECT].getData()
return 0

class GroupData:
def init( self, weight, groupName ):
self.weight = weight
self.groupName = groupName

#Helper container to organize those objects without parent but are instanced.
for obj in Object.GetSelected():
armature = getArmature( obj )

md = obj.getData( False, True )

for vertex in md.verts:
    vertexGroup = []
    for groupName in md.getVertGroupNames():
        try:
            weight = md.getVertsFromGroup( groupName, True, [vertex.index] )[0][1]
        except IndexError:
            # vertex not in group groupName
            pass
        else:
            #print type( armature.bones.keys() )
            try:
                armature.bones[ groupName ]
            except KeyError:
                # Group name doesn't refer to a bone in the armature
                pass
            else:
                vertexGroup.append( GroupData( weight, groupName ) )

    if( len( vertexGroup ) &gt; MAX_BONESPERVERTEX ):
        print 'Vertex with more than ', MAX_BONESPERVERTEX, ' bones found, collapsing bones with lowest weights'

        #Sort it, lower weights first
        vertexGroup = sorted( vertexGroup, key=lambda groupData: groupData.weight )
        for groupData in vertexGroup:
            #Remove the extra bones
            md.removeVertsFromGroup( groupData.groupName, [vertex.index] )
            vertexGroup.pop(0)
            if( len( vertexGroup ) &lt; MAX_BONESPERVERTEX ):
                break

    #Normalize weights for ALL vertices (not just the ones that have more bones than usual)
    weightSum = 0
    for groupData in vertexGroup: weightSum += groupData.weight
    for groupData in vertexGroup:
        groupData.weight /= weightSum
        md.assignVertsToGroup( groupData.groupName, [vertex.index], groupData.weight, Mesh.AssignModes.REPLACE )

#Enter and leave edit mode to refresh the changes
Window.EditMode(1)
Window.EditMode(0)

print ‘Normalizing vertex weights and removing extra bone influences finished.’

after using that script, then trying to use the smd2emg this shit keeps saying vertex found more than 4 bones aasigned to it vertex position 0,070849-0169874 0.041079 this shit never works

@sloth86
Great portrait, pencils and color. What’s the highest poly-count you’ve managed to import? Does it matter?

Would that futuristic Chun Li or something else like that (i.e., not originally intended for use in a game) be likely to work if you could get ahold of the model?

Are you sure?

http://28.media.tumblr.com/tumblr_lqbjy5Olpf1qfay5no4_500.jpg

http://27.media.tumblr.com/tumblr_lr617aRscC1qfay5no1_500.jpg

sorry to ask so many questions but I have one more. Will I be able to use costume mods when I play online?

Sweet coloring job, looks like you softened her features from the original art. Do you have a deviantart page or something with just the colored drawing (not the emz)?

Online displays what is on your local computer, so you should be OK

Dude, those girls are fucken loaded with implants (roids). That shit is fake bro Asian girls don’t naturally have DAT AZZ. That’s actually too much IMO. But, nothing against you. That’s just too much though lol.

http://www.sendspace.com/file/rpat3q

@sensibeat ah thanks, already got all ffxiii models though. i also got models from ps2/psp games but the model quality is just crap and i dont even wanna try to use that stuff for sf4 skins.

@hunterk dunno…if the conversion is too slow usually i just split up what im trying to convert into separate #EMGs. The only limitation to making skins atm is i cant change or add bones to the skeleton of an EMO. So for example my Lightning costume only worked for Makoto because i already had her scarf and karate gi bones to animate Lightning’s cape and jacket flaps.

@supe havent uploaded it anywhere else: http://img705.imageshack.us/img705/7564/portraitb.th.jpg

Uploaded with ImageShack.us

w00t?! Whos that chick on the 2nd picture?

If you’re talking of the custom Training stages/my stages, they are indeed less demanding than the normal ones. It’s the whole point of my ULSM. With it, Without it (normal stages), I’m at 20-35 FPS. With it, I’m at 65-75 FPS. A good 100%+ increase in my case (MSI Wind U270, a “fast” netbook based on AMD’s E-350 APU, so 1.6Ghz dual core and a HD 6310).

Not understanding your question here. Anyway, you can play online whatever the cosmetic modifications you do to your copy of the game. It’s only the gameplay mods that aren’t live compatible (move set changes and so on).

where did u find them? are there animations included?

I quit, i’m just going to be another leech fuck like every body else

can some one make me a samurai mod e honda

Working with 3d art and 3d applications for 10 years, I still can’t get a simple model swap to work, mostly due to .obj import/export conflicts. I could ragequit then immediately follow up with trollish, vague requests, but that would be stupid right?

Do appreciate being a leech fuck though, cheers. Get a grip on yourself dude, go do something else and cool off, and try again.

I just started working today with skinning/modeling, I’ve read some tutorials which greatly helped me along the way, but I still got some questions to the guys who know how to work with Misfit Model 3D:

  1. A. I read that in order to change a 3d model you have to make sure it has the exact same number of vertex like the original model, so my question is - is it possible to create a new model from scratch and give it the same vertex number and then use it with no problems?
    B. Is there an option to give a 3d model a specific number of vertex to fill it with?

  2. how can I make a 3d model transparent using this program?

  3. how can I “mirror-select” if I want to change both sides equally? (check the link below)
    http://i51.tinypic.com/2im9m3o.jpg

Thanks in advance.

@Jojounin
1A. I don’t think so. I believe people have tried it unsuccessfully. However, with sloth86’s EMGSwap tool, you can take pretty much any model from the game, modify it to fit your needs and then swap it into place. He also has an obj2emg converter that will accept generic models, but I haven’t had luck getting it to work (I’m a 3D modeling n00b, as well).
1B. No, you just have to make them, AFAIK.

  1. You can’t. Transparency is all handled in-game, either by toggling ‘off’ the model in the Asset Explorer or by using ‘col-based’ transparency via *.col.emb file and the alpha channel.

  2. Doesn’t exist, AFAIK. Besides, it wouldn’t do you any good because there’s no option to mirror the edits you make. You just have to do it twice :frowning:

Yes, as that’s a cosmetic/graphical mod.

Lots of negative answers :frowning: but thanks :china:
BTW, you’re the guy who made some of the tutorials right? they were the ones I used, good job.

Now I wonder if I should try 3DSMax (I have some limited knowledge with it) instead of MM3D.