top of page
搜尋
  • 601746725

HMI in Unity

HMI, aka Human Machine Interface, is the control panel as well as the dashboard of the vehicle.


Unity didn't take focus on that area until 2017, that lots of out source studios working for automotive manufactors sent questions about how to design HMI in Unity on Zendesk or forums. Then Unity figured out that comparing to other existing softwares in that market, Unity has huge advantages.


At Unity, 60% of my work is to help building HMI for automotive manufactors.


The starter kit used NXP, whose performance is only equivalent to iOS4. Unity wanted to prove that, we can build a very well optimizated 3D scene to run with resolution of 3840 x 1080 on that kit with 60 FPS.


And here is the official demo:



Infotainment System:


Most of my job focused on infotainment system, the other part such as "Dash board" or "HUD (Heads up display)" need less effort for programers.


Infotainment system is usually another pad separated from the main board.

As most of the clients in automotive area knows little about game industry, I need to help our clients to solve different kinds of issues range largely.


For example, some clients want me to help them to implement explosive effects.

Some clients want to know how to implement audio visualizer.

Then they want a 3D version, I quickly developed a prototype for them as the key factor is to process the sampler of different frequency.



HMI + Android Widget


As mentioned, the HMI developers are more familiar with native Android as that's what they built and launched before. They wanted to know if Unity can support Android Widget. They though it would be very important to directly import several widgets provided by the 3rd party, such as weather forcasts, etc.


I did several research, the first idea come about is to export Unity to different displays. In this show case, the background is the wave (what they wanted), in the middle is native Android (take an Android image as example), the animal above that is another display.


It solved a bit, but to load Android Widget is still impossible, as they are basically separat applications.


Luckily, at that time, I was playing around with wall paper engine, which can support loading a whole application as live wallpaper, such as Visual Effect Graph Demo:


(NOTE: It's a real-time rendering, not a video)


So the next idea is to build Unity project as Android live wallpaper.


It's suprisingly useful to solve this case. as long as the button in Unity don't collide with the button in Android.


After implementation, the demo with native Android Widget and Unity application as a background live wallpaper works.


From the video above, you can tell, that the left most page is their Android widget such as FM radios or weather forecasts. The background is a rainy live wallpapaer real-timely rendering by Unity.

8 次查看0 則留言
文章: Blog2 Post
bottom of page