Jump to content

  • Curse Sites
Become a Premium Member! Help
Latest News Article

[MODELER] FMCModeler v0.26 - Minecraft models in a Flash!


  • Please log in to reply
198 replies to this topic

#1

MaxED
    MaxED

    Tree Puncher

  • Members
  • 29 posts

Posted 07 April 2011 - 10:19 AM

Posted Image

Here's a small 3D modeling tool I wrote, which can help in creating models for you'r mods.

FEATURES:
Create box models
Preview texture mapping
Save uv-layout to disk for easier texture creation
Visual representation of the anchor-point
Keyboard shortcuts
Import the model from java code
Export the model to java code

SOURCES:
I've stopped development of this project. If you want to carry on, here are the sources for FMCModeler 0.26 (I should've done this loong ago...).
To compile, you'll need this:
Alternativa3D 5
Flash Professional CS4 or later
FlashDevelop (optional)



NEW IN 0.26:
FEATURES:
CustomModelRenderer support (You can choose renderer in Settings->Compatibility). Renderer type is detected during code parsing.

New keyboard shortcut:
UV-view:
A - center view on selected uv-piece / reset center.

BUGFIXES:
Fixed crash when setting width, height or depth to 1.
You can now enter negative values / values greater than 360 in rotation fields.


NEW IN 0.25:
FEATURES:
Mirror command now supported. This command is equivalent to Minecraft's someModelRender.mirror.

CHANGES:
Moved 'Transparent textures' checkbox to bottom pannel.
Removed 'Export constructor' checkbox from Settings->Export.
Reorganized generated code to look more like code found in minecraft classes.
Variables in generated code are now sorted like in boxes list.

BUGFIXES:
Fixed incorrect texture mapping in old texturing mode.


NEW IN 0.24:
FEATURES:
Boxes can be renamed by pressing F2 or double-clicking their names in the list.
More code is generated when clicking 'Save code' (this can be configured in Settings->Export).

New keyboard shortcuts:
General:
F1 - help window;
F2 - rename selected box;
F3 - settings window;
Ctrl-s - generate code;
Shift-s - save uv-texture;
Ctrl-o - parse code;
Shift-o - load texture;

CHANGES:
Texture mapping now mathes Minecraft's one (was upside-down for some reason). You can change it back in Settings->Compatibility.
Changed face numbers to letters ('F'ront, bac'K', 'T'op, 'B'ottom, 'L'eft, 'R'ight)

BUGFIXES:
Changing texture size now works correctly.
Transparent textures mode now works correctly.
Improved performance.
Lots of small bugfixes.


NEW IN 0.23:
FEATURES:
You can now drag uv-pieces with the mouse
Transparent textures support (still need some work though)

CHANGES:
Changed selection hilighting in 3d mode.
Removed "Hilight all" checkbox in UV-view. All UV-pieces are now hilighted automatically on UV saving.

BUGFIXES:
Fixed errors in code parsing (finally! Thanks Forster44)
Fixed some more errors when moving/scaling boxes using keyboard


NEW IN 0.21:
FEATURES:
New keyboard shortcuts:
General:
Shift-Delete - remove all boxes

Model view:
CapsLock - look at box's center / look at model's center

CHANGES:
Doubled maximum camera distance

BUGFIXES:
Fixed errors in code parsing (hopefully)
Fixed errors when moving/scaling boxes using keyboard
Camera now looks at correct box's center


NEW IN 0.2:
It's online now! No need to download anything
Help window
Settings window
Keyboard shortcuts:
General:
Ctrl-D - duplicate current box;
] - select next box;
[ - select previous box;
Insert / Numpad + - add new box;
Delete / Numpad - - remove current box;

Model view:
A - frame selection;
Arrow keys - move current box;
Ctrl + arrow keys - scale current box;

UV view:
Arrow keys - move current uv;

Quick values copying.
To quickly copy values between boxes, Ctrl-click button(s) with property name(s) to copy value(s), select another box and Shift-click same button(s) to paste them.

LAUNCH! (You'll need Flash Player 10 to run this)
If you want a standalone version, open this link instead, then go "File->Save as" in you'r browser.

Want to spread the word? Put this in you'r signature:
Posted Image
[url=http://www.minecraftforum.net/viewtopic.php?f=1022&t=269231][img]http://i.imgur.com/taH9I.jpg[/img][/url]


Register or log in to remove.

#2

Dmancafe
  • Location: Aperture Science Enrichment Center
  • Minecraft: DmanCafe

Posted 07 April 2011 - 12:58 PM

Looks very handy for modders, good luck!
Diamonds for you!  :SSSS:  :Portabella:  :Portabella: and a  :Portabella:
Posted Image

#3

FlappySack

Posted 07 April 2011 - 09:46 PM

HOLY NOTCH!
this is very very nice, also having it run from a single flash document that you can open with a browser, that is very impressive

have a few diamonds, friend. keep up the good work :)
:SSSS:  :Diamond:  :Diamond:  :Diamond:  :Diamond:  :Diamond:  :Diamond:  :Diamond:

#4

Derpster
    Derpster

    Tree Puncher

  • Members
  • 36 posts

Posted 07 April 2011 - 11:58 PM

What exactly do you put into the 'Parse code' box?  It doesn't seem to be working with wolves.

#5

funkdefied
  • Minecraft: funkdefied

Posted 08 April 2011 - 02:00 AM

This is so bro, I might bro all over my bro! But seriously, I like it, it might make it easier for me to make my own personal mobs.
Posted Image

#6

Thano9
    Thano9

    Coal Miner

  • Members
  • 114 posts
  • Location: Canada
  • Minecraft: Thano9

Posted 08 April 2011 - 04:48 AM

You sir have made minecraft modeling way easier, :D U DESERVE DIAMOND!  :Diamond:  btw  I can do the logo for you.

#7

AnonymousJohn

Posted 08 April 2011 - 07:55 AM

This is awesome!  :Diamond:  :Diamond:  :Diamond:  Can't wait to be able to save and load textures. There seems to be a problem with creating the Java code, though. It doesn't save the coordinates for each box. That might be a good thing to add.
AJ's Thread O' Links! -- A thread of links to my projects, other supported projects, approved ideas, etc.
Posted Image

#8

MaxED
    MaxED

    Tree Puncher

  • Members
  • 29 posts

Posted 08 April 2011 - 08:38 AM

Here's how "Parse code" works: it takes code you paste, searches it for box creation code (such as "new ModelRenderer()", "addBox()", "setPosition()", "rotateAngleX=", "offsetX=") and creates geometry from it.

Currently it parses only numeric values, so "field_25108_g.setPosition(-1F, -1F, -7F);" will be successfully parsed, while "field_25108_g.setPosition(-1F, f1, -7F);" won't. Also it won't parse loops or any other flow control statements correctly.

And finally, you don't need to paste whole Minecraft class, only the part, where geometry is created (this is usually done in class constructor)

So, to load spider from my screenshot you need to parse following code:

field_1255_a = new ModelRenderer(32, 4);
field_1255_a.addBox(-4F, -4F, -8F, 8, 8, 8, 0.0F);
field_1255_a.setPosition(0.0F, 15F, -3F);
field_1254_b = new ModelRenderer(0, 0);
field_1254_b.addBox(-3F, -3F, -3F, 6, 6, 6, 0.0F);
field_1254_b.setPosition(0.0F, 15F, 0.0F);
field_1253_c = new ModelRenderer(0, 12);
field_1253_c.addBox(-5F, -4F, -6F, 10, 8, 12, 0.0F);
field_1253_c.setPosition(0.0F, 15F, 9F);
field_1252_d = new ModelRenderer(18, 0);
field_1252_d.addBox(-15F, -1F, -1F, 16, 2, 2, 0.0F);
field_1252_d.setPosition(-4F, 15F, 2.0F);
field_1251_e = new ModelRenderer(18, 0);
field_1251_e.addBox(-1F, -1F, -1F, 16, 2, 2, 0.0F);
field_1251_e.setPosition(4F, 15F, 2.0F);
field_1250_f = new ModelRenderer(18, 0);
field_1250_f.addBox(-15F, -1F, -1F, 16, 2, 2, 0.0F);
field_1250_f.setPosition(-4F, 15F, 1.0F);
field_1249_g = new ModelRenderer(18, 0);
field_1249_g.addBox(-1F, -1F, -1F, 16, 2, 2, 0.0F);
field_1249_g.setPosition(4F, 15F, 1.0F);
field_1248_h = new ModelRenderer(18, 0);
field_1248_h.addBox(-15F, -1F, -1F, 16, 2, 2, 0.0F);
field_1248_h.setPosition(-4F, 15F, 0.0F);
field_1247_i = new ModelRenderer(18, 0);
field_1247_i.addBox(-1F, -1F, -1F, 16, 2, 2, 0.0F);
field_1247_i.setPosition(4F, 15F, 0.0F);
field_1246_j = new ModelRenderer(18, 0);
field_1246_j.addBox(-15F, -1F, -1F, 16, 2, 2, 0.0F);
field_1246_j.setPosition(-4F, 15F, -1F);
field_1245_m = new ModelRenderer(18, 0);
field_1245_m.addBox(-1F, -1F, -1F, 16, 2, 2, 0.0F);
field_1245_m.setPosition(4F, 15F, -1F);


#9

MaxED
    MaxED

    Tree Puncher

  • Members
  • 29 posts

Posted 08 April 2011 - 08:43 AM

AnonymousJohn said:

This is awesome!  :P  :D  :Diamond:  Can't wait to be able to save and load textures. There seems to be a problem with creating the Java code, though. It doesn't save the coordinates for each box. That might be a good thing to add.

Can you explain this a bit further? Which coordinates aren't saved?

#10

Thano9
    Thano9

    Coal Miner

  • Members
  • 114 posts
  • Location: Canada
  • Minecraft: Thano9

Posted 09 April 2011 - 02:42 AM

Some suggestiosn for this is you should add an undo, and redo feature, and maybe a copy and paste.

#11

gnatpat
    gnatpat

    Zombie Killer

  • Members
  • 179 posts

Posted 09 April 2011 - 09:49 AM

Ah, thank you so much ^^ I can't use Techne on Linux cause it doesn't work under wine, but this is perfect :(
Posted Image

sw82490 said:

lapiz lazuli could be used to start wars over its mining grounds which could lead to a middle east type situation

#12

Förster441305695697

Posted 14 April 2011 - 05:19 PM

Thank you for making this!
I will use this to make the 129 models for my 43 dinosaurs :)
(Yes, this is gonna be a new Jurassic Park Mod) ;-)

Only one thing: I would like to be able to zoom out a bit more, because else it would cause problems with the models of REALLY big dinosaurs^^

Edit: Yep, there is really a bad bug in save code! I made a nice model, saved the code, then I pasted that code in Parse Code and ... I got the same boxes, but in the totally wrong positions >.<

#13

Förster441305695697

Posted 15 April 2011 - 02:25 PM

Sorry, I failed, please delete this post.

#14

Darklingzzzz
  • Location: Hedgehog in a cactus suit
  • Minecraft: Darklingzzzz

Posted 16 April 2011 - 01:25 AM

i'm having some problem getting the model to work properly in game, not sure if its a bug with the program, or i'm doing something wrong,

This is what it looks like in the program:
Posted Image

And this is in-game:
Posted Image

and this is the code in the ModelMouse.java:
package net.minecraft.src;

public class ModelMouse extends ModelBase
{

	public ModelMouse()
	{
		head = new ModelRenderer(0, 0);
		body = new ModelRenderer(2, 17);

		head.addBox(0F, 1F, -1F, 4, 4, 4, 1F);
		head.setPosition(-2F, 3F, -4F);
		body.addBox(0F, 3F, 0F, 6, 5, 7);
		body.setPosition(-3F, 0F, 0F);
	}
	
		public void render(float f, float f1, float f2, float f3, float f4, float f5)
		{
			setRotationAngles(f, f1, f2, f3, f4, f5);
			body.render(f5);
			head.render(f5);
		}
	
			public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5)
			{
				body.rotateAngleX=1.570796F;
				head.rotateAngleX=f4/-57.299999F;
				head.rotateAngleY=f3/57.299999F;
			}
	
		public ModelRenderer body;
		public ModelRenderer head;
}

Posted Image

#15

Förster441305695697

Posted 16 April 2011 - 12:15 PM

Darklingzzzz said:

i'm having some problem getting the model to work properly in game, not sure if its a bug with the program, or i'm doing something wrong,

This is what it looks like in the program:
Posted Image

And this is in-game:
Posted Image

and this is the code in the ModelMouse.java:
package net.minecraft.src;

public class ModelMouse extends ModelBase
{

	public ModelMouse()
	{
		head = new ModelRenderer(0, 0);
		body = new ModelRenderer(2, 17);

		head.addBox(0F, 1F, -1F, 4, 4, 4, 1F);
		head.setPosition(-2F, 3F, -4F);
		body.addBox(0F, 3F, 0F, 6, 5, 7);
		body.setPosition(-3F, 0F, 0F);
	}
	
		public void render(float f, float f1, float f2, float f3, float f4, float f5)
		{
			setRotationAngles(f, f1, f2, f3, f4, f5);
			body.render(f5);
			head.render(f5);
		}
	
			public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5)
			{
				body.rotateAngleX=1.570796F;
				head.rotateAngleX=f4/-57.299999F;
				head.rotateAngleY=f3/57.299999F;
			}
	
		public ModelRenderer body;
		public ModelRenderer head;
}

Maybe there's something wrong with the animations?

#16

nadine
    nadine

    Obsidian Miner

  • Members
  • 1459 posts

Posted 16 April 2011 - 09:24 PM

its like a mob maker cool dudee!!!
Posted Image
Posted Image
Posted Image
Posted Image
List of all my other mods,creations,maps,etc..:
viewtopic.php?f=1039&t=325080&p=4488802#p4488802

#17

nadine
    nadine

    Obsidian Miner

  • Members
  • 1459 posts

Posted 16 April 2011 - 10:17 PM

Förster44 said:

Darklingzzzz said:

i'm having some problem getting the model to work properly in game, not sure if its a bug with the program, or i'm doing something wrong,

This is what it looks like in the program:
Posted Image

And this is in-game:
Posted Image

and this is the code in the ModelMouse.java:
package net.minecraft.src;

public class ModelMouse extends ModelBase
{

	public ModelMouse()
	{
		head = new ModelRenderer(0, 0);
		body = new ModelRenderer(2, 17);

		head.addBox(0F, 1F, -1F, 4, 4, 4, 1F);
		head.setPosition(-2F, 3F, -4F);
		body.addBox(0F, 3F, 0F, 6, 5, 7);
		body.setPosition(-3F, 0F, 0F);
	}
	
		public void render(float f, float f1, float f2, float f3, float f4, float f5)
		{
			setRotationAngles(f, f1, f2, f3, f4, f5);
			body.render(f5);
			head.render(f5);
		}
	
			public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5)
			{
				body.rotateAngleX=1.570796F;
				head.rotateAngleX=f4/-57.299999F;
				head.rotateAngleY=f3/57.299999F;
			}
	
		public ModelRenderer body;
		public ModelRenderer head;
}

Maybe there's something wrong with the animations?


ahh dont tell me this is the same bug as mob maker
Posted Image
Posted Image
Posted Image
Posted Image
List of all my other mods,creations,maps,etc..:
viewtopic.php?f=1039&t=325080&p=4488802#p4488802

#18

jaiden123123
  • Location: under a dark something...

Posted 16 April 2011 - 11:22 PM

just one thing, i dont get how to put the code into the game? can someone give a tutorial on how to get the models ingame?
join the cow protecters, and take the pledge, for the benefit of cows: Posted Image



Posted Image
Posted Image

#19

Darklingzzzz
  • Location: Hedgehog in a cactus suit
  • Minecraft: Darklingzzzz

Posted 17 April 2011 - 09:28 PM

nadine said:

Förster44 said:

Darklingzzzz said:

i'm having some problem getting the model to work properly in game, not sure if its a bug with the program, or i'm doing something wrong,

This is what it looks like in the program:
Posted Image

And this is in-game:
Posted Image

and this is the code in the ModelMouse.java:
package net.minecraft.src;

public class ModelMouse extends ModelBase
{

	public ModelMouse()
	{
		head = new ModelRenderer(0, 0);
		body = new ModelRenderer(2, 17);

		head.addBox(0F, 1F, -1F, 4, 4, 4, 1F);
		head.setPosition(-2F, 3F, -4F);
		body.addBox(0F, 3F, 0F, 6, 5, 7);
		body.setPosition(-3F, 0F, 0F);
	}
	
		public void render(float f, float f1, float f2, float f3, float f4, float f5)
		{
			setRotationAngles(f, f1, f2, f3, f4, f5);
			body.render(f5);
			head.render(f5);
		}
	
			public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5)
			{
				body.rotateAngleX=1.570796F;
				head.rotateAngleX=f4/-57.299999F;
				head.rotateAngleY=f3/57.299999F;
			}
	
		public ModelRenderer body;
		public ModelRenderer head;
}

Maybe there's something wrong with the animations?


ahh dont tell me this is the same bug as mob maker

Yeaah, i just tried making it with Mob Maker, and the same thing happens :Pig:
Posted Image

#20

Glenn
    Glenn

    Lapis Lazuli Collector

  • Members
  • 945 posts
  • Location: I'm actually not a Swede.
  • Minecraft: GlennA

Posted 18 April 2011 - 09:46 AM

Darklingzzzz said:

Yeaah, i just tried making it with Mob Maker, and the same thing happens :SSSS:
Just experiment with the angles.

Posted ImagePosted Image