How to properly set scale to life-size scale

SOLVED
Highlighted
csg_fruiz
Settler

How to properly set scale to life-size scale

I am using the Focus Plus for my VR experience.

Is there a rule or equation (guide) as to how to properly set the scaling for a more true to life feel?

Right now, my model looks gigantic. 

Is it better to scale the objects down, will this affect my lightinig or other components?

Should i scale the camera? FOV?

 

Every time i importa model and the camera rig, i feel like i have to do a lot of tweaking in order to get a close to life scale, and i was wondering if there was a rule that i should follow to make this easier.

 

Vive Staff

Re: How to properly set scale to life-size scale

Do you mind sharing your sample project?

You can try to import Vive Input Utility from Unity Asset store.

There are some examples you can refer to.

csg_fruiz
Settler

Re: How to properly set scale to life-size scale

I'm currently using VIU.

 

Looking at example "controller manager sample scene", with nothing modified, The camera looks like it's floating higher than it should. 

 

You can replicate the issue by creating a new project (see my unity version above). Import VIU, import WaveSDK, switch platform to android, accept recommended project settings changes from wavesdk, open the above example scene and build project to device. (i am using Vive Focus Plus)

 

is there documentation for this plugin? I tried searching online for the documents to see what the "Device height" script does but i couldn't find anything. I keep changing the setting but it doesn't seem to do anything.

 

EDIT:

https://github.com/ViveSoftware/ViveInputUtility-Unity/blob/gh-pages/assets/doc/guide.pdf

 

just found some documentation. still no reference to device height.

 

EDIT2:

I moved the VROrigin gameobject down (in the editor preview, the camera is not in he same position as in the HDM, in the editor it shows below the floor, in the HDM it shows above the floor). Now it shows correct in the HDM, HOWEVER, when teleporting, the height resets to some predetermined height, and now it the camera is above everything else like it was before, i can't seem to find this set number in the editor, i again tried to play with the device height number, but it doesn't seem to do anything for me.

Vive Staff

Re: How to properly set scale to life-size scale

I found the root cause to your issue.

 

By modified below file, you will have correct height for your Focus Plus.

In Assets\HTC.UnityPlugin\ViveInputUtility\Scripts\Editor\VRPlatformSettings\WaveVRSettings.cs,

line 91,

//if (virtualRealitySupported) { return false; }

line 102,

//virtualRealitySupported = false;

By commenting out or deleting above 2 lines, you will enable WaveVR_SINGLEPASS_ENABLED.

2019-06-11_165243.png

Remember to click "Use recommended", and make sure in Edit>Preferences>VIU Settings, VIVE Focus is checked too.

 

There is another known issue (You will not be able to teleport in ControllerManagerSample scene.), please make adjustment to your scene.

2019-06-11_180010.png

 

CustomDeviceHeight.cs will only work for Daydream device for now.

 

You mentioned without any modification, you felt that camera looks like it's floating higher than it should. Does teleporting work?

Because in EDIT2, you said after adjusting VROrigin gameobject, you felt many stuff is not working correctly.

BTW, please do not adjust VROrigin gameobject in the scene.

csg_fruiz
Settler

Re: How to properly set scale to life-size scale

I move the VROrigin because the camera starts high. So i need to move it down to compensate for that, however, when teleporting the height gets reset and shows high again. If i make one of the cubes teleprotable and teleport to the top of the cube, the height seems to increase, when i teleport to the floor the height changes. There's gotta be some fixed height relative to the teleport location that seems to be causing a problem.

I did the changes you suggested, but it didn't help with the issue. See video below. In this demo, i did not touch the VROrigin position, it's left with the default transform values.

 

https://vimeo.com/341638748

EDIT: Not sure if this matters, but i am using unity 2018.2.2 WVR SDK 3.0.2 and Vive Input utility 1.10.4.0

@chengnay (tag added by moderator)

 

Edit2: i just tried the the same scene with the VIVE PRO and it works fine with the VIVE PRO (no height issues). 

Vive Staff

Re: How to properly set scale to life-size scale

If you make adjustment to the VROrigin, that might cause issue after teleporting. This is why I suggest not to make any adjustment.

 

Could you check whether your Virtual Reality Supported(File>Build Settings>Player Settings>XR Settings in Android settings tab) is checked?

2019-06-12_104124.png

Could you try my apk and provide your result?  Thanks!

csg_fruiz
Settler

Re: How to properly set scale to life-size scale

@chengnay 

 

APK feedback: Same results, camera is still too high. (see video of your APK recording)

https://vimeo.com/341791304

 

Suggsted change: VR Settng was not checked. I checked it but it had no improvement, camera still too high. VROrigin position was not modified.

Vive Staff

Re: How to properly set scale to life-size scale

I got feedback from Wave SDK team,

They said correct way of using VIVE Focus/Focus Plus will be as follows,

1. Device in suspend mode

2. Put your HMD on while standing

3. Launch app while standing

 

This way, the height(default value is 175cm, cannot calibrate) in VR world will be correct.

 

Could you try the methods above?

csg_fruiz
Settler

Re: How to properly set scale to life-size scale

@chengnay 

 

I always follow those steps, but it doesn't help. I am not able to reach the buttons or even the interactable cube that floats in the middle. It's still too high. I was expecting a similar experience in the focus like i do in the vive pro, in the vive pro, the height position is perfect, in the focus it is too high.

 

Can we change this in the teleportable script? to teleport the camera to the raycast collision point, and just do y - value (a value that will correct the height)? If its not in the teleportable script, what script can i use to implement this?

Vive Staff
Solution

Re: How to properly set scale to life-size scale

The last thing I suggest is to use CustomDeviceHeight.cs is much better approach.

In Assets\HTC.UnityPlugin\ViveInputUtility\Examples\Shared\Scripts\CustomDeviceHeight.cs,

public void UpdateHeight()
{
    var pos = transform.localPosition;

    switch (VRModule.activeModule)
    {

        ...
        case VRModuleActiveEnum.WaveVR:
            transform.localPosition = new Vector3(pos.x, m_height, pos.y);
            break;
    }
}

 

Add above code and in Unity scene, adjust the height to negative value(-0.55 or lower).

2019-06-14_135412.png

 

Could you help me capture some log value of Y axis for investigation?

1. Install provided apk

2. Open command prompt and type below commands

adb shell setprop log.tag.Unity DEBUG
adb logcat -s Unity ActivityManager PackageManager dalvikvm DEBUG

3. Try below two scenarios

a.  - Standing up and launch apk

     - Sit down on chair

b. - Sit down on chair and launch apk

     - Standing up

 

Observe 3a and 3b how the Y value changes.

My result will be

3a - (0.0, 1.7 or 1.8, 0.0)

      - (0.0, ~1.4, 0.0)

3b - (0.0, 1.7 or 1.8, 0.0)

      - (0.0, ~2.1, 0.0)

 

NOTE: Focus' Suspend mode requires HMD taken off from head for >3 secs

csg_fruiz
Settler

Re: How to properly set scale to life-size scale

Wonderful! activating the device height script on WaveVR worked!

 

thanks for all the help!

 

Here's the results from the apk you sent.

 

3a.    the y went from 1.8 to ~1.3

 

3b. the y went from 1.8 to ~2.1

 

Inside the VR though, I'm higher and unable to reach the buttons on the bottom. Also it feels like i am floating above the floor (feet not touching floor)

 

i did a force-stop everytime to make sure the app is fully closed. I also removed the headset for 5 seconds until it went into suspend mode in both 3a and 3b scenerios.

 

FYI: I'm 5ft 6in, but i had a person that that is 6ft tall try it and he had the same problem.