ghorsington / CM3D2.YATranslator

Yet Another Translator -- Translation plug-in for CM3D2 remade from scratch
https://coder.horse/CM3D2.YATranslator
The Unlicense
28 stars 5 forks source link

Subtitle support for VR with HMD #3

Closed texel-sensei closed 6 years ago

texel-sensei commented 7 years ago

I installed the dumped subtitles for the VPVR pack. While the subtitles were displayed on the CM3D2 window on the desktop, none were visible in the HMD.

Displaying the subtitles just as is in the viewport isn't the best idea, it leads to hard to read text. The normal UI in the game is on a curved surface, that follows only larger movements of the head and ignores small movements.

One possible solution might be, to place the subtitle UI elements on that surface, but it's not visible in the Vacation menu, only in normal gameplay, so it might not be the best way.

Another possible solution may be to place the subtitles on the transparent clipboard that also contains the VPVR tutorial. This board can be moved by the player, so it has the advantage, that you can place the subtitles wherever you want. The problem here is, that this clipboard is only visible in the Vacation scenes. This clipboard also contains some of the normal UI (FPS display, little gear icon for options) so my guess is, that the (normally curved) UI overlay is just added directly to this clipboard. If that's the case, then attaching the subtitles to that UI frame should be enough.

ghorsington commented 7 years ago

Hey, thanks for the info!

Indeed, the subtitle feature was implemented by simply putting them as a screen overlay. While simple and sensible for windowed applications, that approach does not work with HMDs as screen-space elements are simply disabled by Unity in VR mode.

I will consider adding a better support for pure VR mode. We shall see on a final implementation, but I will most likely opt in for a more general solution by moving the subtitles into its own UI element that is independent of the game's UI[1].

[1] Yes, UX may suffer from the choice, but I'd rather have a working implementation first.