Jump to content



Photo
* * * * * 26 votes

WIP: Visual Pinball in Unity


  • Please log in to reply
813 replies to this topic

#361 blindpeser

blindpeser

    Enthusiast

  • Members
  • PipPipPip
  • 421 posts

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

  • Favorite Pinball: WCS94

Posted 27 July 2020 - 05:54 PM

@blindpeser

Since discovering VR, I've kicked my cab to the curb..VR has been the best pinball experience I've ever had, besides playing on a real machine. :-)


I love my Odyssey+ as well. But if there is something like a perfect 3D cab one day, maybe I consider to switch. I cant use the hmd much during the summer and I think it isnt the best thing for my neck.

I dont want to complain, it is awesome and far better than the current cabs imo. But maybe one day there is a better solution.

#362 mrjcrane

mrjcrane

    Pinball Fan

  • Members
  • PipPipPipPip
  • 545 posts
  • Location:Northern California

  • Flag: United States of America

  • Favorite Pinball: Monster Bash

Posted 27 July 2020 - 06:49 PM

Freezy and Terry and other contributors, FANTASTIC work and ideas, happy to have you guys doing this !!!



#363 The Loafer

The Loafer

    Pinball Wizard

  • VIP
  • 3,469 posts
  • Location:Embrun, Ontario, Canada

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

  • Favorite Pinball: Superman, Firepower & Tron



Posted 28 July 2020 - 03:24 AM

 

If Unity implements something similar, maybe I replace my VR headset with a Cab one day:

https://venturebeat....ithout-glasses/

BAM is pretty cool, but thing seems to have close to 0 latency.

 

 

BAM actually works well with headtracking using Kinect V2.... but the problem is our eyes. When you close one eye, BAM looks amazing (full 3D depth,etc)! With two eyes, they are trying to converge a mono image and it messes up the effect. Using BAM with a 3D TV works really nice...but that is long gone.

 

I wonder if that tech has a similar issue with convergence.

 

 

The limitation with this technology is it's a solidary experience. With BAM/pincab, the moment another person wants to watch, they gotta stick to the side and it looks weird from their perspective. This is still ok because they know once its their turn, it looks really decent (especially with tables that have basement levels).

 

So this window scene thing, it looks fantastic for one person, but get another person walking by and either the eye tracking will get confused OR it will work for just one person and the wall will look silly for another, so a solitary experience.  Unlike where you know you will interact with a pinball machine, this will likely look very odd in a family setting until people have AR contact lens, then everyone wins

 

In saying all that, I'd still want it for what is seen in the video :)



#364 Segovia11

Segovia11

    Enthusiast

  • Members
  • PipPipPip
  • 125 posts

  • Flag: United Kingdom

  • Favorite Pinball: DeadHunter

Posted 30 July 2020 - 09:17 AM

Dear jsm174 and Freezy,

Unity Log files resolved the issue.
The log referred to firewall issues and not able to reach the download site.
I was offline during the first attempt
During the second attempt in Unity from windows / Package Manager i selected add package from Git URL
Unity now has the packege
Its looks awesome
Thank you for the time you spent with this issue :)


Edited by Segovia11, 30 July 2020 - 09:20 AM.


#365 Rowlan

Rowlan

    Neophyte

  • Members
  • Pip
  • 7 posts

  • Flag: Austria

  • Favorite Pinball: Avatar

Posted 31 July 2020 - 10:20 PM

Worked on the HDRP / URP conversion of the materials. Here's a direct import into HDRP / DXR of the Jurassic Park Siggis Mod table, work in progress:

 

jp0.jpg

jp1.jpg

jp2.jpg



#366 wiesshund

wiesshund

    VPF Legend

  • Members
  • PipPipPipPipPipPipPip
  • 11,859 posts

  • Flag: United States of America

  • Favorite Pinball: How many can i have?

Posted 31 July 2020 - 11:27 PM

That looks sweet.
Too sweet, never run on my laptop LOL


If you feel the need to empty your wallet in my direction, i don't have any way to receive it anyways

Spend it on Hookers and Blow


#367 Ben Logan

Ben Logan

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 2,275 posts
  • Location:California

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

  • Favorite Pinball: System 11

Posted 01 August 2020 - 03:23 AM

Great screenshots, Rowlan. Are these high resolution renders, or might the actual playable game look that great?



#368 hitman2304

hitman2304

    Enthusiast

  • Members
  • PipPipPip
  • 129 posts
  • Location:Poland

  • Flag: Poland

  • Favorite Pinball: AFM,Monster Bash,Medieval Madness,TOM.

Posted 01 August 2020 - 06:57 AM

Looks almost photorealistic.



#369 freezy

freezy

    Member title

  • Members
  • PipPipPipPip
  • 685 posts

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

  • Favorite Pinball: T2, TOM, AFM

Posted 01 August 2020 - 07:57 AM

So we have a new code contributor, welcome @Rowlan to the team! :)

 

Note that we haven't addressed inserts yet, so the lights on the playfield look kind of awkward. Also, as @Rowland

said, this is a 1:1 import without further tweaking of the materials whatsover. My guess is that authors will get more realistic results once they dive into PBR.

 

And yes, this is 100% realtime, so how gameplay would look like!



#370 hitman2304

hitman2304

    Enthusiast

  • Members
  • PipPipPip
  • 129 posts
  • Location:Poland

  • Flag: Poland

  • Favorite Pinball: AFM,Monster Bash,Medieval Madness,TOM.

Posted 01 August 2020 - 08:45 AM

Paraphrasing the quote from Circus Voltaire this will be the greatest pinball simulator on Earth :otvclap:


Edited by hitman2304, 01 August 2020 - 03:37 PM.


#371 bord

bord

    Pinball Fan

  • Members
  • PipPipPipPip
  • 603 posts

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

  • Favorite Pinball: Star Gazer, Whirlwind, Frontier

Posted 01 August 2020 - 09:17 AM

Very interested in how inserts will work.

Agreed that PBR materials will blow some minds. Keep up the great work.

#372 blindpeser

blindpeser

    Enthusiast

  • Members
  • PipPipPip
  • 421 posts

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

  • Favorite Pinball: WCS94

Posted 01 August 2020 - 11:59 AM

@Rowlan: This looks amazing! You think you could provide us a short video?

#373 vbousquet

vbousquet

    Enthusiast

  • Members
  • PipPipPip
  • 108 posts

  • Flag: France

  • Favorite Pinball: Cue Ball Wizard, Tron Legacy, Terminator 2

Posted 01 August 2020 - 01:28 PM

This is absolutly incredible ! Thanks to all of you for all this promising work !



#374 dcbenji

dcbenji

    Hobbyist

  • Members
  • PipPip
  • 17 posts

  • Flag: United States of America

  • Favorite Pinball: Theater of Magic

Posted 01 August 2020 - 03:01 PM

Do we need to know unity scripting/code if we want to import a table to VPE and start retrofitting it with unity materials and lights? (I know that VPE is not playable yet)

#375 Ben Logan

Ben Logan

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 2,275 posts
  • Location:California

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

  • Favorite Pinball: System 11

Posted 01 August 2020 - 07:03 PM

So we have a new code contributor, welcome @Rowlan to the team! :)

 

Note that we haven't addressed inserts yet, so the lights on the playfield look kind of awkward. Also, as @Rowland

said, this is a 1:1 import without further tweaking of the materials whatsover. My guess is that authors will get more realistic results once they dive into PBR.

 

And yes, this is 100% realtime, so how gameplay would look like!

Diving into PBR always gives impressive results (We’re talking Pabst Blue Ribbon, right?)  :tongue3:

 

Rowlan, thanks so much for lending your talents to this team! I can’t believe how realistic the materials look. The shading and lighting is brilliant. I’d absolutely assumed this was “just a render, for fun” like we’re used to seeing from Cinema 4D and Blender users. That this is what gameplay will look like in real time has me all the more excited. Thanks, team! 



#376 freezy

freezy

    Member title

  • Members
  • PipPipPipPip
  • 685 posts

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

  • Favorite Pinball: T2, TOM, AFM

Posted 01 August 2020 - 08:19 PM

@dcbenji No, in order to import tables and start tweaking materials, you just need Unity with the VPE package. You then can start modifying materials or adding new ones within Unity. Google "unity hdrp material" and you'll find tons of tutorials. Also there are many sites offering free PBR materials, often of very high quality.

 

The scripting part is still in its early stages. I'm pretty sure now that there will be a C# API, but many features that you would usually script are probably going to be implemented via components that you just drop on your game item and configure visually. So there should be a lot less scripting to do. Once we're certain about all that, there will be extensive documentation.

 

VBScript isn't entirely off the table though. @jsm174 and I spent a lot of time on it for vpx-js, so we're now aware of all the quirks and we might be able to add some kind of legacy mode that is able to run them.



#377 dcbenji

dcbenji

    Hobbyist

  • Members
  • PipPip
  • 17 posts

  • Flag: United States of America

  • Favorite Pinball: Theater of Magic

Posted 02 August 2020 - 08:19 PM

"No, in order to import tables and start tweaking materials, you just need Unity with the VPE package. "

 

Awesome, that's what i was hoping to hear. Interested in figuring out a good way to get inserts working in VPE. The latest method is using two 3D meshes, with a pre-rendered 'on' and 'off' image for each. This is probably still going to be the most photo real way to go about it, but Unity can probably also take a normal map for each mesh, and other maps (specularity, luminance....?). Then of course actually having a Unity light below the playfield (or assigning one of the insert meshes AS a Unity light?) will probably add great reflections and shadows that we don't get in VPX.

"many features that you would usually script are probably going to be implemented via components that you just drop on your game item and configure visually. "

 

That's great, I'm relatively new to this and not attached to VBS script at all. A lot of the parameters that have to be scripted currently totally seem like parameters that could be in a component's GUI options. Hooking sounds up to hit events and assigning DOF/SSF positioning could be so much simpler with a GUI way of doing it too. Drag and drop your mp3 then click on the little generic picture of a table at the position where you want that sound to be played and bob's your uncle haha.



#378 TerryRed

TerryRed

    Pinball Fan

  • Silver Supporter
  • 1,922 posts

  • Flag: Canada

  • Favorite Pinball: Too many to choose...

Contributor

Posted 02 August 2020 - 08:44 PM

Yes, certain things like SSF and other events could be an automatic function of a component that shouldn't need any scripting (similar to how some things in FP didn't need to be scripted compared to VP, etc).

 

Having as many things handled this way as possible in the GUI is a GREAT thing. However, it's also very important to have options for complete control or have the equivalent of a "Hit", "UnHit", changes in RGB lighting values, light "states" (on, off, blink) etc that can be used in the table script for additional control or features,etc. "Options" are always best for future proofing.

 

While I'm not completely familiar with Unity's lighting engine / limitations, etc... working with a real mesh / model for inserts would be ideal wherever possible (as has been done by the likes of flupper, bord, G5K,etc) and using a "real" light (that affects everything, not just the ball like in VPX). I know most everyone in the VPX community is used to mostly static lighting (and I'm now used to FP-BAM's newer lighting), but Unity should change almost every aspect of table design and lighting choices.

 

The future is looking bright...and it benefits from all the hard work of devs in the past and present of VP, FP, BAM and now the current VPE devs and testers. We can't thank you guys enough.


Edited by TerryRed, 02 August 2020 - 08:52 PM.


#379 freezy

freezy

    Member title

  • Members
  • PipPipPipPip
  • 685 posts

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

  • Favorite Pinball: T2, TOM, AFM

Posted 02 August 2020 - 09:46 PM

Yeah, there are many use cases that could be handled more elegantly by components. I have no clue how SSF works exactly, but it will surely be a part of the decision making. The only "scripting" that works for now are the events, so you'll have those in any case at your disposal. "More control" via scripting will always be available, but of course the goal would be to make the components flexible enough so that's not necessary.

 

Terry, I kind of ignored FP so far, what are things that FP handles internally that need scripting in VPX?

 

About the inserts there are many solutions. I think we'll start with an emissive texture like VPX, and iterate from there. It would be great to achieve realistic results out-of-the-box using real lights and a 3D model with subsurface scattering, but I'm not sure about performance, so we'll probably have to apply tricks like flupper & co did.

 

Anyway, that's all the cool stuff we're going to be working on in the near future, now that the boring stuff (port physics, deal with data etc) is nearly done.



#380 Ben Logan

Ben Logan

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 2,275 posts
  • Location:California

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

  • Favorite Pinball: System 11

Posted 02 August 2020 - 10:15 PM

@dcbenji No, in order to import tables and start tweaking materials, you just need Unity with the VPE package

Installed Unity last night. Is the next step as simple as retracing this thread for the VPE package Github link and installing?  I realize this is totally pre-alpha. Those recent screenshots just have me curious to experience current state of development for myself.


Edited by Ben Logan, 02 August 2020 - 10:19 PM.