• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Universal Model Converter - Side Development Thread

left or right? (a 20x20 toggle at the top of the window)

  • Left (under the window icon)

    Votes: 23 53.5%
  • Right (under the X button)

    Votes: 20 46.5%

  • Total voters
    43
  • Poll closed .

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
you need Python 2.7.5 x64 (3x is bad)...
and PyQt is free.
I need the latest x64 build for python 2.7(.5 if available).
NOTE: I can't install PyQt x64, so I need the installation files to add to UMC's runtime.

also, I'll never get tired of peolple, so you're safe ;)
 

Tstar360

Smash Rookie
Joined
Jul 12, 2013
Messages
19
shall do and if your asking how i get this so fast it is because of emails and i like helping
 

Tstar360

Smash Rookie
Joined
Jul 12, 2013
Messages
19
do i need to launch and do something or do i just copy python or/and pyqt files?

im confused and sort of dumb
 

Tstar360

Smash Rookie
Joined
Jul 12, 2013
Messages
19
incase you didnt know i have windows 8 wich isnt different than w7 in terms of files





sorry for spelling :awesome:
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
sorry for not getting back with you soon enough...
I really like how fast you post :D

anyways PyQt4 is what I needed :)
(I honestly didn't know there was a 5)

anyways, put C:/python27 in a zip and upload that.
(the whole interpreter and all)

I can't thank you enough for this :)

you've basically just installed PyQt for all users of UMC x64 ;)

just so you know, this runs UMC's new interactive console.
(the default python console is not displayed)
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
thanx again :)

and prbly a while... I've just had to start over AGAIN :(

so this time, I'm starting from the loader, and working my way to the internals before getting to the externals.

don't forget, unlike my previous releases, I'm actually going pro on this one. ;)
(meaning proper GL handling, windows registry/shell integration and everything)

EDIT: oh wait... the official release...
that WILL be a while...
the UPDATE module will be an add-in that will mark it close enough to the official release :)


oh yea, the official one is the biggest one. ;)
(it should work just about perfectly)
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
oh... :o
just now tried downloading...
there seems to be no link...
just the text "Download(6.37MB)"

try sending it as an email attachment to tcll5850@gmail.com, but be sure to change the file's type to sometning google won't recognize. :)

EDIT:
also try http://myfreefilehosting.com
I want to see if that works in wiibrowser. :)

I'm already reporting the box.com issue to gave92 ;)
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
well... here's some down-ing news :(

that switch/case/default statement I planned to add...
it's impossible to physically add them w/o rebuilding the Python interpreter...

so I'm afraid the best I can deliver for a decent satement would be:

switch( value )
if case(1):
if case(1,3):
if case(3,4,5):
if default():

the reason for the default being part of an if is because of fall-through support...
for example, the above code with the switch value at 3 will fall through both cases (1,3) and (3,4,5)


EDIT: oh... >_<
with this method,
internal switches would break fall-through...

a fix for that would get a little complex, but it would work as expected:

s = switch( 3 ) # where switch is a class instead of a function.
if s.case(1,3):
if s.case(3,4,5):
if s.default: #where default is a bool( variable ) of s

so yea, functions are broken
 

Tstar360

Smash Rookie
Joined
Jul 12, 2013
Messages
19
i am sending the file on gmail. but i dont know how to change it to anything google doesnt know :/.

anyway enjoy

PS: im late at this because today is the second day of school.
my school starts early.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
working on the formatting functions now.

trying a new approach...
I'll work my way to the internals and then improve them after they work
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
hello :o
looks like I didn't consider a few functions which would be very useful when I wrote the dev5 function list... heh

those functions would be ugeGetCurrentScene(), ugeGetCurrentObject(), ugeGetCurrentMaterial(), etc.

these functions will return an int representing the ID of the current data-field.

I will document more when I update the function list ;)

EDIT:
or better yet, I could make them classes and use python's str() function to return the name of the data field:

ObjectName = str(ugeGetCurrentObject())

I'll host a poll over at kcmm (since I can't change it here)
and have you guys vote if that would make things complex or not :)

otherwize you could just use:

ObjectName = ugeGetObjectName(ugeGetCurrentObject())


EDIT2: the poll:
http://forums.kc-mm.com/index.php?topic=54619

I can change that poll whenever I like,
so I may be posting that link multiple times throughout this thread :p
 

Tstar360

Smash Rookie
Joined
Jul 12, 2013
Messages
19
ok im sending the file on yahoo wich apperently partnered with dropbox so you will be getting it through your preference ;)
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
now I rmbr why I left out those functions... :p

ugeGetObjectName() == ugeGetObjectName(ugeGetCurrentObject())

possible implamentation:
print ugeCurrentObject #as a variable that can be set

I think I may actually use this instead of ugeGetCurrentObject()

you can set the current object just by changing the index :p
but you would also need ugeGetObjectIndex( str ) to make it work :p

knowing me, I'll prbly just implament all of them and let you decide which to use. ;D
(better to have and not need than need and not have)
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
UPDATE: dev5's functions:

ugeSetObjectParent( Name, Scene )
Name, Scene = ugeGetObjectParent( ID )

in Blender you can parent an object from another scene.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
dev4.5 update:



I did the coding myself here, but I couldn't have done it w/o the knowledge BJ shared with me. :)
he gets 98% of the credit for this ;)
 
Last edited:

Steelia

Smash Champion
Joined
Sep 23, 2007
Messages
2,523
Location
Home.
Looks like some fine progress so far! :) Does it work well on other characters yet too?
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
it most certainly does work with other characters :)
including the meowth trophy TyNyanthR.dat
yes, it's fully rigged.

@GunBlaze: I hope to have textured materials with basic support by the release ;)
if I can't transform the normals correctly, it'll prbly look like an old version of brbx by Kryal...

don't get too comfy with dev4.5 btw...
dev5 is much better in terms of scripting structure. ;)
(it's basically an entirely new scripting system)

dev4.5 will just get the most of what I can with the old interface :p

EDIT: btw, if you've built anything for dev4, it should work with dev4.5 (excluding the horrible matrix manipulation support)
 

Tiberious

Smash Journeyman
Joined
Jun 5, 2009
Messages
250
You mean you're almost to where we can actually extract fully-rigged models from Melee?

This is what I've been waiting for... I'm so going ham and grabbing Mewtwo and the Wireframes when this hits.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
yep :)
it'll work perfectly by the release though garunteed ;)
(up to basic texturing)

I'll need a common format script built though other than OBJ if it's gonna export anything usable...

you'll need the dev4.5 pre-release though if you're gonna work on that...
http://tcll5850.hostoi.com/UMC30ad45.7z <- R-click / save as
NOTE: the included melee script does not work like the image shows.

also...
it doesn't reload scripts like the last images I've posted...
(the dev4.5 interface is refurbished from dev3)
^ I couldn't DL dev4 at the time to use that...


anyways...
if you want the current online melee update, you can find it here:
http://gist.github.com/Tcll/2757147
NOTE: I havn't changed everything to match the offline update because I can't copy/paste.


EDIT:
also note, the gist doesn't support NBT normals and doesn't have base string split check error protection...
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
hang on... don't use that link just yet...
the x64 interpreter isn't finished...

let me update the link ;)
(I'll edit this post after updating)
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
well I've just flipped the table...

turns out a code I had working before for it now gets the model imported perfectly. 9_9

I'll post some images here in a few...

EDIT: Meowth still messes up...
(his head is the only thing in normal position)
^ everything else is shifted downward a tad
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
download link updated (same link)

progress: (not ALL models work decently like these)



update includes this script.
(revel8n gets credit for making me inverse the inverse bind matrix for the bind matrix... again)

I'm still flipping the ta-
I mean the table's still hovering/twirling in mid-air.
 
Last edited:

Tiberious

Smash Journeyman
Joined
Jun 5, 2009
Messages
250
Downloaded and extracted the archive to where I had the previous version (after deleting what was there), but trying to run UMC.exe causes an error in loader.py, saying "Import Error: No module named OpenGL.GL"

Edit: Got the previous one fixed by installing PyOpenGL, but now it's complaining about not finding "ArcBall".
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
I thought I just fixed that :srs:
(excluding PyOpenGL)
^ forgot about that :p

well... just rename x86 to x64 in UMC/data/Python/

I'll fix the x64 interpreter soon...
(hopefully everything will work by the next update)
^ not sure EVERY x86 library will work properly with the x64 interpreter...

if anyone can build the libraries in red in the progress post and send them to me, it would help out :)
(especially if you guys want performance processing)

I won't x64 PyGame as that's replaced with PyQt x64 in dev5
(it's deprecated because SDL sux) :p
^ more control than GLUT, but not FULL control like Qt

EDIT: actually...
I'll x64 it if someone sends me an installment :)

DONT USE MEDIAFIRE!
Email it as an attachment or use DropBox
(what works for me so far)

Google downloads also work, but google screws up archives it's virus tester recognizes
 

Tiberious

Smash Journeyman
Joined
Jun 5, 2009
Messages
250
I thought I just fixed that :srs:
(excluding PyOpenGL)
^ forgot about that :p

well... just rename x86 to x64 in UMC/data/Python/


Nope. Still griping about not being able to find ArcBall.py. What's weird is it's going into x86 mode, even though I'm on a 64-bit OS.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
oh... that's interesting...
(ArcBall not working in x86 mode)

well... since it all comes down to it...
(you're not supposed to do this)
in data/Python/x86/Lib/site-packages/ you'll find ArcBall.py

copy that to the data/ directory and it should work...

if not, then put it strait in the UMC/ direcory.
(the data/ directory is referenced in the local namespace by API, so it should work there)

I hate blind errors...
you know this works for me XD
(how else would I have the images) :p


I had a similar issue though where the namespace for COMMON was deleted after initialization and the var "__Scripts" was missing, even though it was RIGHT THERE. :p

also... do you KNOW your OS is running in x64??
if your CPU itself is x86 then your x64 OS will run in x86.

one way to check: (I don't like this method)
does the C:/Program Files x86/ directory exist??

the way I'm using to detect your mode is the windows variable "%PROCESSOR_ARCHITECTURE%"
which is either "AMD64" ("x64") or "x86"
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
gonna be making that update here real soon ;)

fixed up a few things including exporting.

and also removed the normal transformation...
(I need to build a rotation matrix and use only that for normal transformation)

but until then, this should do:
 
Last edited:

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
made the update ;)

http://tcll5850.hostoi.com/UMC30ad45.7z <- R-Click / Save As

all updates ARE tested before uploading...
so you know it works for me...

both interpreters SHOULD be fixed now...
ArcBall is no longer referenced from site-packages
exporting now works

every image posted above is how functional this is. ;)
 

Steelia

Smash Champion
Joined
Sep 23, 2007
Messages
2,523
Location
Home.
tcll, where do I put the files from the link you supplied? Or do I just use the UMC.exe program instead?
I double-click the UMC file (and dragged-and-dropped Pl****.dat files onto it), but nothing happens.
 

Tcll

Smash Lord
Joined
Jul 10, 2010
Messages
1,780
Location
The Gates of Darkness
NNID
Tcll5850
oh woops
I explained the controls on the kc-mm thread, but not here:

Ctrl+I - Import
Ctrl+E - Export

Numpad/MMB - rotate view
shift+ Numpad/MMB - pan view

+/- or MW - scale view

the GL window must be active
just run UMC.exe ;)
(everything's already set up for you)
 
Top Bottom