Jump to content



Photo

Unity 3D and VPinMAME!


  • This topic is locked This topic is locked
1388 replies to this topic

#61 Joe

Joe

    Pinball Wizard

  • VIP
  • 2,365 posts
  • Location:60016

  • Flag: United States of America

  • Favorite Pinball: New Stern ones

Posted 27 January 2012 - 05:18 AM

So how well does it run?

#62 s1500

s1500

    Enthusiast

  • Members
  • PipPipPip
  • 396 posts
  • Location:twin cities

  • Flag: ---------

  • Favorite Pinball: Fun House

Posted 27 January 2012 - 01:50 PM

This is awesome. I hope this project doesn't get abandoned.

#63 epthegeek

epthegeek

    Pinball Fan

  • Platinum Supporter
  • 618 posts
  • Location:Wisconsin

  • Flag: United States of America

  • Favorite Pinball: Cirqus Voltaire

Posted 27 January 2012 - 01:54 PM

QUOTE (Joe @ Jan 26 2012, 11:18 PM) <{POST_SNAPBACK}>
So how well does it run?


It doesn't do a whole lot, yet. The big hurdle he's been working on since november was being able to use FP table files so that he wouldn't have to write an editor of his own.

#64 Slydog43

Slydog43

    Pinball Wizard

  • Platinum Supporter
  • 3,008 posts
  • Location:Hackettstown, NJ

  • Flag: United States of America

  • Favorite Pinball: Addams Family, All Williams 90's Games

Posted 27 January 2012 - 02:07 PM

wow, this is most exciting! Cant wait to see if anything comes from this. I can Dream

#65 JAM0

JAM0

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,146 posts
  • Location:Spain

  • Flag: Spain

  • Favorite Pinball: Fathom, Elvira

Posted 27 January 2012 - 02:09 PM

But will it still have FP physics?

#66 destruk

destruk

    VPF Veteran

  • VPF Staff
  • 6,338 posts
  • Location:Colorado Springs, CO

  • Flag: United States of America

  • Favorite Pinball: Ultrapin!



Posted 27 January 2012 - 02:12 PM

Unity has its own physics, so it's neither like VP nor FP.

Build a fire, vipers love the heat.


#67 louizou

louizou

    Enthusiast

  • Members
  • PipPipPip
  • 265 posts

  • Flag: France

  • Favorite Pinball: BlackKnight2k T2 Twilight Zone

Posted 27 January 2012 - 03:33 PM

QUOTE (destruk @ Jan 27 2012, 03:12 PM) <{POST_SNAPBACK}>
Unity has its own physics, so it's neither like VP nor FP.

Good answer , boss !

uplogomini.png

Continue helping us at [email protected]

 


#68 CPSNine

CPSNine

    Enthusiast

  • Platinum Supporter
  • 136 posts

  • Flag: ---------

  • Favorite Pinball: Tales of the Arabian Nights

Posted 27 January 2012 - 04:25 PM

Very exciting to see the project evolve.
Will it be able to produce a "cabinet view" with backglass on separate monitor, or it is too early to say.
My Cab: Pin-up
Universal Pinball Machine

#69 louizou

louizou

    Enthusiast

  • Members
  • PipPipPip
  • 265 posts

  • Flag: France

  • Favorite Pinball: BlackKnight2k T2 Twilight Zone

Posted 27 January 2012 - 04:49 PM

At the moment my focus is putted on the table ...
As you can see in the video , there is no backglass at all.
You can be sure that there will be a cabinet view .
The backglass on the second screen is a good idea , but i'll need to create a second exe and make it comunicate with the main one .....
I don't know if unity can handle this ... with ethernet perhaps

uplogomini.png

Continue helping us at [email protected]

 


#70 epthegeek

epthegeek

    Pinball Fan

  • Platinum Supporter
  • 618 posts
  • Location:Wisconsin

  • Flag: United States of America

  • Favorite Pinball: Cirqus Voltaire

Posted 27 January 2012 - 05:18 PM

QUOTE (louizou @ Jan 27 2012, 10:49 AM) <{POST_SNAPBACK}>
At the moment my focus is putted on the table ...
As you can see in the video , there is no backglass at all.
You can be sure that there will be a cabinet view .
The backglass on the second screen is a good idea , but i'll need to create a second exe and make it comunicate with the main one .....
I don't know if unity can handle this ... with ethernet perhaps


Even without the backglass, it's be awesome just to get the main table & vpmame running together and playable. Does your method have it's own script (like vpm tables do) for working back and forth with pinmame? Should talk to one of the FP table guys about making a version of one of their tables (like glxb) that is set up however would work best for your system.

Anxious to see whatever happens, no matter what, that's for sure. dblthumb.gif

#71 louizou

louizou

    Enthusiast

  • Members
  • PipPipPip
  • 265 posts

  • Flag: France

  • Favorite Pinball: BlackKnight2k T2 Twilight Zone

Posted 27 January 2012 - 05:40 PM

I use a c# interpreter component in unity for launching the table script.
So you'll just have to replace the FP script by the new ,save the table , and BINGO !!

Actually i do not master the interpreter at all so the syntax is a little boring .But it works

here is the T2 script :



GameObject table=GameObject.Find("TABLE");
table.SendMessage("Set_FirstL",11);
table.SendMessage("Set_LastL",88);
table.SendMessage("init","t2_l8");
table.SendMessage("Run");

table.SendMessage("swon",15);

table.SendMessage("swon",16);
table.SendMessage("swon",17);
table.SendMessage("swon",18);

table.SendMessage("addlamp","LightBonus2x$11");
table.SendMessage("addlamp","LightBonus4x$12");
table.SendMessage("addlamp","HoldBonusLight2$13");
table.SendMessage("addlamp","LightBonus6x$14");
table.SendMessage("addlamp","LightBonus8x$15");
table.SendMessage("addlamp","LightShootAgain$16");
//table.SendMessage("addlamp","ExtraBallLight2$17");


table.SendMessage("addlamp","KickbackLight$21");
table.SendMessage("addlamp","LightLeftOutLane$22");///devrait etre x2 .... a faire
table.SendMessage("addlamp","LightLeftInLane$23");
table.SendMessage("addlamp","LightRightInLane$24");
table.SendMessage("addlamp","SuperJackPotLight$25");
table.SendMessage("addlamp","LoadGunLight$26");
table.SendMessage("addlamp","ExtraBallLight2$27");
table.SendMessage("addlamp","JackpotLight$28");

table.SendMessage("addlamp","SSLight1$31");
table.SendMessage("addlamp","SSLight2$32");
table.SendMessage("addlamp","SSLight3$33");
table.SendMessage("addlamp","SSLight4$34");
table.SendMessage("addlamp","SSLight5$35");
table.SendMessage("addlamp","AdvanceLight$36");
table.SendMessage("addlamp","EscapeLight$37");
table.SendMessage("addlamp","RouteLight$38");

table.SendMessage("addlamp","LockLight2$41");
table.SendMessage("addlamp","VideoModeLight$42");
table.SendMessage("addlamp","Light10M$43");
table.SendMessage("addlamp","ExtraBallLight$44");
table.SendMessage("addlamp","MultiBallLight$45");
table.SendMessage("addlamp","ReturnLanesLight$46");
table.SendMessage("addlamp","HoldBonusLight$47");
table.SendMessage("addlamp","SecurityLight$48");

//table.SendMessage("addlamp","LockLight2$51"); LES 2 yeux au dessus des dents
table.SendMessage("addlamp","Eye1$52");//LES 2 yeux au niveau du model(devrait etre X2)
//table.SendMessage("addlamp","Eye2$52");
table.SendMessage("addlamp","Light5M$53");
table.SendMessage("addlamp","Light3M$54");
table.SendMessage("addlamp","Light1M$55");
table.SendMessage("addlamp","Light750k$56");
table.SendMessage("addlamp","Light500k$57");
table.SendMessage("addlamp","Light250k$58");

table.SendMessage("addlamp","CPULit1$61");
table.SendMessage("addlamp","VaultKey1$62");
table.SendMessage("addlamp","SilentAlarm1$63");
table.SendMessage("addlamp","PassCode1$64");
table.SendMessage("addlamp","CheckPoint1$65");
table.SendMessage("addlamp","LockLight$66");
table.SendMessage("addlamp","DatabaseLight$67");
table.SendMessage("addlamp","MillionWFLight$68");

table.SendMessage("addlamp","CPULit2$71");
table.SendMessage("addlamp","VaultKey2$72");
table.SendMessage("addlamp","SilentAlarm2$73");
table.SendMessage("addlamp","PassCode2$74");
table.SendMessage("addlamp","CheckPoint2$75");
table.SendMessage("addlamp","LightKB3$76");
table.SendMessage("addlamp","LightKB2$77");
table.SendMessage("addlamp","LightKB1$78");

table.SendMessage("addlamp","MillionPlusLight$81");
table.SendMessage("addlamp","HurryUpLight$82");
table.SendMessage("addlamp","HurryUp2Light$83");
//table.SendMessage("addlamp","??$84"); Start button
table.SendMessage("addlamp","TimerLight$85");
table.SendMessage("addlamp","TopRollover1$86");
table.SendMessage("addlamp","TopRollover2$87");
table.SendMessage("addlamp","TopRollover3$88");


All those sendmessage are boring to type and object affectation must be done by the GameObject.Find method.
That's because i create the table in unity and then launch the interpreter.
I've planed to doit in another way, launching the interpreter and create the table from it, so the table objects will be directely accesible by the script.


uplogomini.png

Continue helping us at [email protected]

 


#72 bent98

bent98

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,077 posts
  • Location:NY

  • Flag: United States of America

  • Favorite Pinball: Roadshow, Haunted House, Safe Cracker

Posted 27 January 2012 - 05:43 PM

QUOTE (epthegeek @ Jan 27 2012, 06:18 PM) <{POST_SNAPBACK}>
QUOTE (louizou @ Jan 27 2012, 10:49 AM) <{POST_SNAPBACK}>
At the moment my focus is putted on the table ...
As you can see in the video , there is no backglass at all.
You can be sure that there will be a cabinet view .
The backglass on the second screen is a good idea , but i'll need to create a second exe and make it comunicate with the main one .....
I don't know if unity can handle this ... with ethernet perhaps


Even without the backglass, it's be awesome just to get the main table & vpmame running together and playable. Does your method have it's own script (like vpm tables do) for working back and forth with pinmame? Should talk to one of the FP table guys about making a version of one of their tables (like glxb) that is set up however would work best for your system.

Anxious to see whatever happens, no matter what, that's for sure. dblthumb.gif


What about spanning the table, would that work?

#73 louizou

louizou

    Enthusiast

  • Members
  • PipPipPip
  • 265 posts

  • Flag: France

  • Favorite Pinball: BlackKnight2k T2 Twilight Zone

Posted 27 January 2012 - 05:53 PM

what do you mean by "spanning" the table , i do not understand

uplogomini.png

Continue helping us at [email protected]

 


#74 bent98

bent98

    Pinball Fan

  • Members
  • PipPipPipPip
  • 1,077 posts
  • Location:NY

  • Flag: United States of America

  • Favorite Pinball: Roadshow, Haunted House, Safe Cracker

Posted 27 January 2012 - 06:52 PM

QUOTE (louizou @ Jan 27 2012, 06:53 PM) <{POST_SNAPBACK}>
what do you mean by "spanning" the table , i do not understand


you span the desktop accross mutiple monitors.

So it all acts like one monitor. Obviously, mutil monitor setup is the way to go as it works with Hyperpin.



#75 epthegeek

epthegeek

    Pinball Fan

  • Platinum Supporter
  • 618 posts
  • Location:Wisconsin

  • Flag: United States of America

  • Favorite Pinball: Cirqus Voltaire

Posted 27 January 2012 - 07:17 PM

QUOTE (louizou @ Jan 27 2012, 11:40 AM) <{POST_SNAPBACK}>
I use a c# interpreter component in unity for launching the table script.
So you'll just have to replace the FP script by the new ,save the table , and BINGO !!

Actually i do not master the interpreter at all so the syntax is a little boring .But it works

here is the T2 script :

... bunch of code ...

All those sendmessage are boring to type and object affectation must be done by the GameObject.Find method.
That's because i create the table in unity and then launch the interpreter.
I've planed to doit in another way, launching the interpreter and create the table from it, so the table objects will be directely accesible by the script.


So that's all the code for the lamps, what about switches and other solenoid driven mechanisms? Don't have any of that running yet?



#76 maceman

maceman

    Home Pinball Machine Collector/ Restorer

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

  • Flag: Canada

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



Posted 27 January 2012 - 08:58 PM

Wow. that is amazing. I am trying to get a handle on what is happening here. So is this UW's VP table with some sort of 3d rendering? I don't get what i am seeing just yet.

Flippers are slow for me, but i understand this is just the sample. Very interesting, i just don't get it yet smile.gif

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

#77 epthegeek

epthegeek

    Pinball Fan

  • Platinum Supporter
  • 618 posts
  • Location:Wisconsin

  • Flag: United States of America

  • Favorite Pinball: Cirqus Voltaire

Posted 27 January 2012 - 09:17 PM

QUOTE (maceman @ Jan 27 2012, 02:58 PM) <{POST_SNAPBACK}>
Wow. that is amazing. I am trying to get a handle on what is happening here. So is this UW's VP table with some sort of 3d rendering? I don't get what i am seeing just yet.

Flippers are slow for me, but i understand this is just the sample. Very interesting, i just don't get it yet smile.gif

Maceman


Yeah, that's pretty much it. a Future Pinball table file's data, loaded into the Unity 3D game engine for rendering and controlling. As for the speed/feel of things, that can all be tuned later with the unity engine.

Louiz's end goal, if I understand it correctly, is to be able to take tables built in FPs editor, and run them completely in in the unity engine, hooked into PinMame for the emulation aspect. He's got tons still to do to get there, but IMHO what he's got already is pretty amazing in itself.

#78 maceman

maceman

    Home Pinball Machine Collector/ Restorer

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

  • Flag: Canada

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



Posted 27 January 2012 - 11:25 PM

oh, this is for FP only? I thought this was for vp and thus was excited!



QUOTE (epthegeek @ Jan 27 2012, 04:17 PM) <{POST_SNAPBACK}>
QUOTE (maceman @ Jan 27 2012, 02:58 PM) <{POST_SNAPBACK}>
Wow. that is amazing. I am trying to get a handle on what is happening here. So is this UW's VP table with some sort of 3d rendering? I don't get what i am seeing just yet.

Flippers are slow for me, but i understand this is just the sample. Very interesting, i just don't get it yet smile.gif

Maceman


Yeah, that's pretty much it. a Future Pinball table file's data, loaded into the Unity 3D game engine for rendering and controlling. As for the speed/feel of things, that can all be tuned later with the unity engine.

Louiz's end goal, if I understand it correctly, is to be able to take tables built in FPs editor, and run them completely in in the unity engine, hooked into PinMame for the emulation aspect. He's got tons still to do to get there, but IMHO what he's got already is pretty amazing in itself.


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

#79 destruk

destruk

    VPF Veteran

  • VPF Staff
  • 6,338 posts
  • Location:Colorado Springs, CO

  • Flag: United States of America

  • Favorite Pinball: Ultrapin!



Posted 28 January 2012 - 12:11 AM

I think this is really cool, regardless of which table file is used to import into a different physics environment.

Build a fire, vipers love the heat.


#80 louizou

louizou

    Enthusiast

  • Members
  • PipPipPip
  • 265 posts

  • Flag: France

  • Favorite Pinball: BlackKnight2k T2 Twilight Zone

Posted 28 January 2012 - 12:56 AM

QUOTE (bent98 @ Jan 27 2012, 07:52 PM) <{POST_SNAPBACK}>
QUOTE (louizou @ Jan 27 2012, 06:53 PM) <{POST_SNAPBACK}>
what do you mean by "spanning" the table , i do not understand


you span the desktop accross mutiple monitors.

So it all acts like one monitor. Obviously, mutil monitor setup is the way to go as it works with Hyperpin.


ok , i see what you mean . extending the exe window to fit the entire desktop(no duplicate mode).... if it doesn't hurt performances , why not

uplogomini.png

Continue helping us at [email protected]