Jump to content



Photo
- - - - -

Howto: using FP 3D models in VP


  • Please log in to reply
81 replies to this topic

#1 fuzzel

fuzzel

    spaghetti code

  • VP Dev Team
  • PipPipPipPipPip
  • 2,818 posts

  • Flag: Germany

  • Favorite Pinball: yes I have

Posted 30 June 2013 - 06:34 PM

Hi,

since rev608 of the VP9.16 beta version Visual Pinball can handle 3D objects. To use them simply create a primitive and press the button 'Import Mesh' to load a Alias Wavefront OBJ file.

The following things must be exported:

vertices, normals, texture coordinates(UVs) and triangular face information. Only one object each file is supported so don't export multiple objects into one file.

 

Nearly every 3D creation tool can export to this file format. One free and good tool is Blender http://www.blender.org/

 

Because there are so many great Future Pinball tables around it might be a good idea to reuse some FP 3D objects. Here is a small tutorial how to do that:

1. Download FPM-Editor http://www.pinsimdb....ry-1-fpm_editor

2. Download Biturn http://www.twcenter....do=file&id=2073

3. Start FP and open a table. Under the menu Table -> Model Manager select an object you would like to have in VP and press Export

4. Export the texture which belongs to the model you have exported

5. Save the FPM somewhere

6. Fire up FPM-Editor and load the exported FPM

7. Save the Main Model as a Milkshape 3D object file (MS3D)

8. Open Biturn load the MS3D file and select Wavefront obj (.OBJ) as destination format and press Convert!

9. That's all. Now start VP 9.16 rev608+. Create a primitive, load the obj file, import the texture and you're done.

 

Depending of the size of the model it could look really huge in VP, you can scale it down in VP or use Blender (import the obj file, rescale it and export it again).

 

Hope that helps to start playing around with this feature ;)

 



#2 cupid

cupid

    Enthusiast

  • VP Dev Team
  • PipPipPip
  • 496 posts

  • Flag: Germany

  • Favorite Pinball: Dr Who

Posted 30 June 2013 - 07:19 PM

Nice to see that primitives evolving ;-)

 

Thanks Fuzzel, great job.


The world is devided into people who think they are right.

#3 EalaDubhSidhe

EalaDubhSidhe

    Elder solid-statesman

  • VIP
  • 1,099 posts
  • Location:South Wales, boyo

  • Flag: United Kingdom

  • Favorite Pinball: Whichever one may finally get me back on my feet.



Posted 30 June 2013 - 08:32 PM

Beautiful! How CPU-intensive is this new feature though?



#4 fuzzel

fuzzel

    spaghetti code

  • VP Dev Team
  • PipPipPipPipPip
  • 2,818 posts

  • Flag: Germany

  • Favorite Pinball: yes I have

Posted 30 June 2013 - 09:00 PM

Beautiful! How CPU-intensive is this new feature though?

That depends on the amount of polygons and if you animate the primitve. DX7 has a limit of 65536 polygons/frame. If you move/scale/rotate a mesh via the script the vertices must be processed.

Without that it should be no CPU-intensive because your gfx card will do the work.



#5 gamefixer

gamefixer

    Pinball Fan

  • Silver Supporter
  • 575 posts
  • Location:Prosper, Texas

  • Flag: United States of America

  • Favorite Pinball: BK2K

  • PS3 Gamer Tag: gamefixer
  • 360 Gamer Tag: gamefixer

Posted 01 July 2013 - 01:44 AM

whoa, thats rally cool! Going to have to look into this.



#6 Shoopity

Shoopity

    Pinball Fan

  • Members
  • PipPipPipPip
  • 691 posts
  • Location:Colorado

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Contributor

Posted 01 July 2013 - 04:07 AM

Holy poop, this is awesome.  I was wondering about the best way to implement the Corvette from Ben Heck's Bill Paxton Pinball (and keep it angle independent).  Now I can just make it in blender (and heck, I'm sure someone's already made one).

 

while I have, though, since I'm still working in 9.15, how do you properly make a texture for a primitive within the editor? I think I have it partially figured out with the top half of the picture being rendered on the top of the primitive, I just can't figure out what the width needs to be; I know the far left of the picture does NOT line up with the "front" of the primitive.  From what I can tell, the texture starts, on a four sided Primitive, on the back left corner then at some point it repeats itself before it wraps around itself regardless of how wide the picture is.



#7 unclewilly

unclewilly

    sofa king.....

  • VIP
  • 5,173 posts
  • Location:Baltimore, Maryland

  • Flag: United States of America

  • Favorite Pinball: tz, tom, big hurt, who dunnit



Posted 05 July 2013 - 11:01 AM

One quick question on this. When you use this method do you need to adjust the orientation of the mesh once it is in vp? If does it appear as it should. I have some of the original go nd3d files and converted them using blender. The appear in the appropriate orientation in the blender viewport, but when I load them into vp they were usually upside down I'm going to try the conversion with the other program you mentioned

"it will all be ok in the end, if it's not ok, it's not the end"
 
Monster Bash VP10 WIP https://dl.dropboxus... (vpx)WIP15.vpx

uw2.gif


#8 faralos

faralos

    VPF Veteran

  • Members
  • PipPipPipPipPipPip
  • 7,838 posts
  • Location:Eastern Pa,USA

  • Flag: United States of America

  • Favorite Pinball: Flash (Williams) 1979, Flash2 Updated




  • Trophies:

Posted 05 July 2013 - 11:19 AM

Not knowing the workings of Photoshop yet is it possible to use gimp

 as the editor? like do primitives work with gimp at all?


"Don’t let the noise of others’ opinions drown out your own inner voice.
And most important, have the courage to follow your heart and intuition.”
----Steve Jobs


#9 unclewilly

unclewilly

    sofa king.....

  • VIP
  • 5,173 posts
  • Location:Baltimore, Maryland

  • Flag: United States of America

  • Favorite Pinball: tz, tom, big hurt, who dunnit



Posted 05 July 2013 - 11:52 AM

You can use any art program to edit the textures. But for the actual 3d models you will need the programs listed above, all of which are free

"it will all be ok in the end, if it's not ok, it's not the end"
 
Monster Bash VP10 WIP https://dl.dropboxus... (vpx)WIP15.vpx

uw2.gif


#10 kruge99

kruge99

    Pinball Wizard

  • VPF Staff
  • 3,901 posts
  • Location:Markham, Ont.

  • Flag: Canada

  • Favorite Pinball: Black Knight, High Speed and Pin*Bot



Posted 05 July 2013 - 12:24 PM

How long before pinball objects, like full models of jet bumpers with different cap shapes, will be available within VP itself?  (to replace the existing default bumper models for example)

 

 

Best Regards,

Todd.


[proud owner of a Williams Solar Fire]

- It's called "The American Dream" because you have to be asleep to believe it.
George Carlin
- Truly great madness cannot be achieved without significant intelligence.
Henrik Tikkanen
- "Reality check, Michelle, Talk about composure, Total lack of. He's a man-- About-- 12 Feet Tall--"
Carrie Kelly
Posted Image

#11 faralos

faralos

    VPF Veteran

  • Members
  • PipPipPipPipPipPip
  • 7,838 posts
  • Location:Eastern Pa,USA

  • Flag: United States of America

  • Favorite Pinball: Flash (Williams) 1979, Flash2 Updated




  • Trophies:

Posted 05 July 2013 - 02:18 PM

must I really register on both sites just to get the programs?


"Don’t let the noise of others’ opinions drown out your own inner voice.
And most important, have the courage to follow your heart and intuition.”
----Steve Jobs


#12 unclewilly

unclewilly

    sofa king.....

  • VIP
  • 5,173 posts
  • Location:Baltimore, Maryland

  • Flag: United States of America

  • Favorite Pinball: tz, tom, big hurt, who dunnit



Posted 05 July 2013 - 02:22 PM

I don't think it's asking too much to register on a site for free software. I mean really. Is it that much of a put out for you to enter a little indie.action to get free software

"it will all be ok in the end, if it's not ok, it's not the end"
 
Monster Bash VP10 WIP https://dl.dropboxus... (vpx)WIP15.vpx

uw2.gif


#13 maceman

maceman

    Home Pinball Machine Collector/ Restorer

  • VIP
  • 2,271 posts
  • Location:Canada, Eh!

  • Flag: Canada

  • Favorite Pinball: ....**Haunted House**....



Posted 05 July 2013 - 02:38 PM

Very great tutorial and very neat to be able to do.

 

I am kicking myself i never kept up with my animation. I used to use Alias PowerAnimator(precursor to Maya) back in the 90's when i completed a digital animation program in Toronto. I used to be so fast I could knock a good model off in no time at all. Especially a bumper which would be a piece of cake. I used to have liscenced copies of my programs as well (3D Studio Max and Alias). Oh well...life moves forward :) Good thing Blender is free, and seems relatively easy to learn....

 

Fuzzel, Does this mean pretty much any obj file could potentially be imported into VP? I mean, could i import an obj of the USS Enterprise, for example :)

 

Cheers,

Maceman


________________________________________________________________________________
Canada Eh!
hm_avatar.pngss_avatar.jpg MODS ys_avatar5.jpggenie_avatar.pngj2o_avatar.png

#14 fuzzel

fuzzel

    spaghetti code

  • VP Dev Team
  • PipPipPipPipPip
  • 2,818 posts

  • Flag: Germany

  • Favorite Pinball: yes I have

Posted 05 July 2013 - 07:37 PM

Yes and no..as long as you have only one complete mesh in your obj file and it has less than 65536 polys you're free to go :)

Objects like the Enterprise normaly consist of multiple meshes this isn't possible at the moment. But you can try to combine multiple meshes into one and try this one in VP.



#15 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 05 July 2013 - 10:59 PM

I guess the main difficulty would be the textures.. You have to get them all into one texture currently, i.e. you have to mangle the texture coordinates for each object, too..

But then again you could also load all parts into separate primitive VP objects..



#16 maceman

maceman

    Home Pinball Machine Collector/ Restorer

  • VIP
  • 2,271 posts
  • Location:Canada, Eh!

  • Flag: Canada

  • Favorite Pinball: ....**Haunted House**....



Posted 06 July 2013 - 01:02 AM

...since we are on the subject :)...  Is it also possible to use Google sketchup, which is also free?

I ask because:

a) According to this, we can export to obj:

http://support.googl...n&answer=114388

(EDIT: OOPS, apparently this feature is a Pro Version feature, not free version, but it does exist none-the-less)

b) If so, there is a huge online repository of models, perhaps with a lower poly count. Here is a bunch of pinball 'parts" for example:

http://sketchup.goog...1eb&prevstart=0

Someone who knows what they are doing should try this :)

Cheers,

Maceman

 

@Toxie- What if we used a model that came with a texture already, that is, what if we used a texture that was already pre-stitched?

I never got into this part of animation as the technology to do so came after my schoolin' time, but it does indeed exist now.
So for example, a head object would be similarly mapped as in fig 10 here:

http://www.3dtotal.c...&roPos=1&page=3


Edited by maceman, 06 July 2013 - 01:10 AM.

________________________________________________________________________________
Canada Eh!
hm_avatar.pngss_avatar.jpg MODS ys_avatar5.jpggenie_avatar.pngj2o_avatar.png

#17 toxie

toxie

    VPF Veteran

  • VP Dev Team
  • PipPipPipPipPipPip
  • 5,734 posts
  • Location:berlin, germany

  • Flag: Germany

  • Favorite Pinball: AFM

Posted 06 July 2013 - 07:19 AM

I haven't played with the new primitives myself yet, but i guess that it doesn't matter as long as there is only one texture per exported object and the texture coordinates matching this single texture.



#18 kiwi

kiwi

    Pinball Fan

  • VIP
  • 2,670 posts

  • Flag: Italy

  • Favorite Pinball: Star Trek 25th Anniversary



Posted 06 July 2013 - 08:07 AM

...since we are on the subject :)...  Is it also possible to use Google sketchup, which is also free?

I ask because:

a) According to this, we can export to obj:

http://support.googl...n&answer=114388

(EDIT: OOPS, apparently this feature is a Pro Version feature, not free version, but it does exist none-the-less)

b) If so, there is a huge online repository of models, perhaps with a lower poly count. Here is a bunch of pinball 'parts" for example:

http://sketchup.goog...1eb&prevstart=0

Someone who knows what they are doing should try this :)

Cheers,

Maceman

 

@Toxie- What if we used a model that came with a texture already, that is, what if we used a texture that was already pre-stitched?

I never got into this part of animation as the technology to do so came after my schoolin' time, but it does indeed exist now.
So for example, a head object would be similarly mapped as in fig 10 here:

http://www.3dtotal.c...&roPos=1&page=3

With the free version of SketchUp you can export to Collada extension.
Blender and MeshLab can open files Collada and export to obj.

 

Max



#19 fuzzel

fuzzel

    spaghetti code

  • VP Dev Team
  • PipPipPipPipPip
  • 2,818 posts

  • Flag: Germany

  • Favorite Pinball: yes I have

Posted 06 July 2013 - 08:13 PM

I guess the main difficulty would be the textures.. You have to get them all into one texture currently, i.e. you have to mangle the texture coordinates for each object, too..

But then again you could also load all parts into separate primitive VP objects..

It doesn't matter if your primitive is built with one mesh or multiple meshes you always have a "texture problem". Texturing a mesh is always difficult if the mesh itself has a complex structure (e.g. a human face or an animal).

We could add multitexturing on 3d primitives with that feature you could do nice effects like light maps, or fake bump maps


Edited by fuzzel, 06 July 2013 - 08:13 PM.


#20 DStruct

DStruct

    Enthusiast

  • Members
  • PipPipPip
  • 185 posts
  • Location:Texas

  • Flag: United States of America

  • Favorite Pinball: Spiderman: Vault Edition

  • PS3 Gamer Tag: JumboBunny

Posted 06 September 2013 - 02:19 AM

So, I'm assuming the texture issue is ongoing for complex models. Javier and I are working on a project that incorporates multiple models rom made for a new FP build. Using this tutorial, the primitive imported fine, but the textures don't turn out as they should when imported. Anyone have success in this aspect? It's possible we're just missing something.