PDA

View Full Version : I'm making a plugin for blender to export jms. files



lemarr
November 23rd, 2012, 07:21 AM
Hello fellow members of Modacity. I am aware that you guys are reputable folks who are always willing to help fellow new comers on the site. I had just spent 5 days learning c++ (http://www.youtube.com/course?list=ECAE85DE8440AA6B83) and python (http://www.youtube.com/course?list=ECEA1FEF17E1E5C0DA) was just wondering if you are able to tell me how jms. files are structured so I could make a plugin for blender that exports them. I am willing to accept any advice no matter what the cost. Hope I could get a reply soon.
-Zekilk

Kornman00
November 23rd, 2012, 07:28 AM
You could start by referencing TheGhost's 3dsmax script http://ghost.halomaps.org/bluestreak/jms/

neuro
November 23rd, 2012, 11:01 AM
by merely mentioning blender i am hereby putting forward a motion this user be banned.

Btcc22
November 23rd, 2012, 01:06 PM
That'd be an impressive feat after only five days, assuming you're not familiar with other languages already.

t3h m00kz
November 23rd, 2012, 02:30 PM
if you get this thing up and running I can guarantee I'll be using it. Blender is my primary 3D tool at this point, and I'd love to be able to integrate things into Halo.

lemarr
November 24th, 2012, 11:10 AM
Oh hey I can actually check out the source code with notepad. Almost forgot that I can do that. Thanks Korn though I was hoping it wouldn't have to come to me to learn Maxscript too.

10 mins later...

Okay that was easy enough. Now to get a list of what the hell do these functions do. Can someone send me a .jms file too so I can check out what it looks like. Send me one for level geometry and vehicles each if you can. Thanks.


by merely mentioning blender i am hereby putting forward a motion this user be banned.

Ouch...


That'd be an impressive feat after only five days, assuming you're not familiar with other languages already.

I had already learnt halo scripting. Close enough.
-Zekilk

Higuy
November 24th, 2012, 11:34 AM
Heres one for level geometry:

http://www.mediafire.com/?sbcfrbbb605v11n

and another for a vehicle:

http://www.mediafire.com/?wrmj6vv3g0un233

I don't use blender but spreading the functionality is a good idea.

Good luck!

staticchanger
November 24th, 2012, 12:20 PM
I had already learnt halo scripting. Close enough.
-Zekilk

Not to be discouraging I really hope something comes out of this, but Python and C++ are much more difficult than halo scripting. My advice is to not quit even when it seems like you're stuck, you have great resources (the Internet). With patience and hard work you just might get something working.

t3h m00kz
November 27th, 2012, 06:19 PM
how's the progress

lemarr
November 29th, 2012, 03:11 AM
Ya know, I can do this much sooner if it wasn't for this computer being the family one. Wasn't able to use it for 4 days. So here is what I found out about the structure of a .jms file. The stuff in "()" in between the "<>" are a group of information that needs to be repeated for each item in the "<>" above.



<version number:8200>
<unsure:3251 for BSPs but it seems to vary so just put some random number here like 117 or something>
<# of nodes>
(name of node)
(first child index)
(next sibling index)
(Rotation)
(Translation)
<# of materials>
(material name)
(Texture directory)
<# of markers>
(Marker name)
(1st node index)
(2nd node index)
(rotation)
(translation)
(unsure:2.0)
<# of regions>
(region name)
<# of verts>
(1st node index)
(position)
(rotation)
(2nd node index)
(2nd node index weight)
(UVW coordinates x)
(UVW coordinates y)
(UVW coordinates z:0 cuz there is no z axis for UVWs fool!)
<# of faces>
(region index)
(face shader index)
(the 3 verts that it is made up of)

So I have 2 lines of code that I am unsure of but I don't think I have to worry about them. Not sure why there is a z coordinate for UVWs but whatever. In any case, I probably should get working of the plug...


*door slams open*


Wait no! I still need more time! Err!


-Zekildfeafbsghsbugrgerksjgv

t3h m00kz
November 30th, 2012, 12:04 AM
keep truckin bro. Blender compatibility <3

lemarr
February 16th, 2013, 08:00 PM
3152


I did it...

(http://www.youtube.com/watch?v=SBCw4_XgouA)-Zekilk

t3h m00kz
February 16th, 2013, 08:27 PM
Ssssssssssnap

Been a while since I modded. What exactly are JMS files again, just the scenario geometry yeah?

lemarr
February 16th, 2013, 08:33 PM
It's for all the models including vehicles, bipeds, scenery and geometry. Could somebody give me a rigged custom model for me to experiment on? Just give me it's .jms.

-Zekilk

ThePlague
February 17th, 2013, 04:00 PM
Very nice.

t3h m00kz
February 17th, 2013, 04:42 PM
It's for all the models including vehicles, bipeds, scenery and geometry. Could somebody give me a rigged custom model for me to experiment on? Just give me it's .jms.

-Zekilk

anything useful you could use from here?

http://hce.halomaps.org/index.cfm?search=jms&B1=Search

I haven't used Max in years I don't see myself exporting any rigged characters anytime soon..

Zeph
February 17th, 2013, 05:35 PM
While you're at it, why not make an external .fbx -> .jms thing.

lemarr
February 21st, 2013, 07:26 AM
I'm sorry but I really do not have time for that. Halo's anniversary is coming up soon and I need to whip up a storm to rally the blender artists guys to help make the world's largest map for a mod ever! I was going to wait till I am able to get the script to export bones and stuff but the problem with that is I have to learn how to rig models first which I had never came to do in my entire blender experience. Besides, I still need to work on a script to export animations after that. Otherwise, exporting the bones would be a waste if we need to export them back into 3Dsmax to do the animations. I need you guys to help me test this script for bugs and stuff as to not scare the newcomers(people from blender artists) off. I'm assuming that only a few of you actually use blender so just export your old models instead of creating new ones if you want. I don't think this script is compatible with the 2.5x series since I am using a few of python's new codes so just use the latest ones.

Newer versions of blender have support for N-gons and this script does too but keep in mind that at the end of the export, all polygons that are to be exported will be converted to Tris(It's not a good idea to use N-gons to begin with anyway). Also, your models will not be directly altered on export. If there are unapplied modifiers, don't worry. This script automatically prepares your model for export and will even efficiently unwraps the model for you if you are too lazy to. The script will only take into account the objects within the current scene. This was made deliberately as to give the user the convenience of exporting multiple models within the same .blend file. Also, the script will take into account the current scale you are using so do not worry about re-scaling your objects for export.


Recommended blender settings:
some useful blender default settings (http://blairwillems.com/2012/05/30/blender-some-useful-default-settings/)(Everything here is optional except for the scene properties part. Halo does use the metric system ya know.)
Switch from blender render to cycles render(I'm surprised that people still haven't converted to it yet)
Go to window>toggle system console. This will help you in finding and fixing errors.
Go to the 3Dview and open the properties panel(N key):
Go to display and give the grid 1024 lines(that's the maximum)...or you could just disable it all together. Either way.
Go to view and under clip, set End to 10km(That's bigger than the length of Extinction!)


Using this addon is as simple as 1, 2 ,3!


1)
3154
2)
3155
3)
3156
and...you're good to go!

Download here
(https://dl.dropbox.com/u/30082001/WaltzStreet.py)code here (https://dl-web.dropbox.com/get/Public/WaltzStreet.py?w=AAB46IduCWq07m0iCPwVOHtnLIB5PT49Y xyRyz_MWCOwGg)(Go ahead and rage at the noobiness of it. I can accept criticism)

Now if you excuse me, I'm going to learn how to make my own shaders in Halo(wow, I'm having actual halo problems! Usually, I would just get stuck at the export part).
-Zekilk

Note to self(see what happens if export model has 2 UVW unwraps)
It may not be able to export bones but you can go ahead and export a vehicle if that vehicle has absolutely no animations at all. This script does export markers though.
Also, I was going to edit the code to make it more accurate and see if the scale fit's with halo's but I didn't so good luck with that
Updated script will be done once I learn another language(it's for extra credit)