Jump to content

Game technology used for none-gaming?


br3tt
 Share

Recommended Posts

Hi peeps,

Just going to get straight to the point. I want to look into building a car "configurator". The idea is you have a base model and then the user picks colours, wheels and other accessories for their configuration to purchase a new vehicle. Traditional configurators just show layered images to mimic a live editable environment for the vehicle but wouldn't it be better to treat it as a game scene and show a real 3d model? Think of it like Need for Speed where you add upgrades to your car.

Do you think using something like Babylon, over something like three.js, overkill?

The model assets would have to be very detailed to get a realistic look. Is there a preferred file format to deliver the model assets to the frontend that would look somewhat realistic but keep bandwidth down for user experience?

I need to read up on how a model is put together but for html5 assets are they delivered in parts such as: a mesh(the skeleton/wireframe), texture (glass window, metal body, rubber tires), shader (reflections?) or as a "whole". I think I would prefer a way to load them separately in parts then when a user clicks something to change the body paint colour could just async load in that texture colour. Even better would be to dynamically render the colour on the client just by passing in a hex value.

 

Any examples of something like a car configurator as a game scene out there? Any thoughts in general about this topic?

 

Many thanks, any help is greatly appreciated.

Link to comment
Share on other sites

Depends on the intended user experience - e.g. what does the user do with the configured car?

If you want to drive it around in a game then it makes sense to use a gaming tech.  If you want to send it to manufacturing then it might not.  Do you want to protect your 3D assets?  Does the user want to wait ages downloading detailed 3D models of components that they mostly won't select.  Have you considered using server side rendering coupled with a less detailed client side interface?  Many questions.

Link to comment
Share on other sites

2 hours ago, b10b said:

Depends on the intended user experience - e.g. what does the user do with the configured car?

If you want to drive it around in a game then it makes sense to use a gaming tech.  If you want to send it to manufacturing then it might not.  Do you want to protect your 3D assets?  Does the user want to wait ages downloading detailed 3D models of components that they mostly won't select.  Have you considered using server side rendering coupled with a less detailed client side interface?  Many questions.

Hi b10b, thanks for the reply.

After a user has configured their vehicle they just have a a couple options such as save as pdf or send to a dealer to pursue a purchase. What would be cool is if you could see your car "in the wild" have a short animation of it driving around. Wheels will spin / background environment will move along and the camera will do a 360 degree pan around the vehicle. Maybe even a possibility to open doors or the boot too.

Protecting assets is something to be considered but it doesn't have to be a critical thing. Was planning to encrypt whatever file format I go with and decrypt on the frontend. If the user really wanted to they could look through the minified code to figure out how it's done so it's not a major issue.

The initial load will be a basic spec vehicle, then further actions will then async load in other components such as wheels / headlights / sunroof options etc.

Server side isn't something I would like to do. When we are talking 500+ million hits / year that would get very expensive.

I've had a look at three.js examples and came across this http://threejs.org/examples/#webgl_loader_ctm_materials . It's a 3d render of a car and it's using .ctm format? In the code you can specify a hex value for the body paint and it will render it on the frontend with that colour without requiring a new asset. Is that a standard thing available no matter the format or special to .ctm? Would save a lot of bandwidth.

 

Thanks!

Link to comment
Share on other sites

Before ruling out server-side perhaps have a look at this:

http://www.migenius.com/

At 500 million hits I'd be surprised if the cost of rendering was as significant as the cost of bandwidth on all the HD 3D assets?  Plus this approach can lend itself to the "in the wild" short animation with more graphical reality and consistency than a client side solution can reliably deliver (cross platform).  Imagine a little customised video to easily share on social for example?

For something simpler (video game grade) I have no doubt Three.js would be up to the task, it is a very fine library.  As you say textures can be dynamically generated from scratch, or from other textures.  If most of the customisation is down to colors and fabrics, this may be ideal.  It would be a fun project for sure.  Upfront load time, bandwidth, cross platform consistency and potential asset theft would be the downsides.

Link to comment
Share on other sites

2 hours ago, b10b said:

Before ruling out server-side perhaps have a look at this:

http://www.migenius.com/

At 500 million hits I'd be surprised if the cost of rendering was as significant as the cost of bandwidth on all the HD 3D assets?  Plus this approach can lend itself to the "in the wild" short animation with more graphical reality and consistency than a client side solution can reliably deliver (cross platform).  Imagine a little customised video to easily share on social for example?

For something simpler (video game grade) I have no doubt Three.js would be up to the task, it is a very fine library.  As you say textures can be dynamically generated from scratch, or from other textures.  If most of the customisation is down to colors and fabrics, this may be ideal.  It would be a fun project for sure.  Upfront load time, bandwidth, cross platform consistency and potential asset theft would be the downsides.

Akami takes about 75% of the bandwidth from us so it's not overly expensive.

A customized video is very appealing, that would be super cool. For now though I'm going to explore just frontend rendering and see how far I get.

Cheers for help, I'm going to start digging into more threejs now and try put together a little demo. Do you know any repository of some free simple models to get started with for experiments?

Thanks!

Link to comment
Share on other sites

20 hours ago, br3tt said:

Protecting assets is something to be considered but it doesn't have to be a critical thing.

If you are planning to do this with real-world cars, it is very much a critical thing. Car manufacturers wouldn't let you do it otherwise. Just saying....

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...