provencher / MRTK-Quest

MRTK-Quest: Mixed Reality Toolkit (MRTK) extension bridge for Oculus Quest + Rift / S
Other
389 stars 67 forks source link

Error when building project #84

Closed Acimaz closed 4 years ago

Acimaz commented 4 years ago

The build process aborts with several errors. One of them is the following:

`Shader error in 'Mixed Reality Toolkit/Standard': Program 'frag', error X8000: D3D11 Internal Compiler Error: Invalid Bytecode: Incompatible min precision type for operand #1 of opcode #39 (counts are 1-based). Expected int or uint. at line 134 (on gles)

Compiling Vertex program with _DISABLE_ALBEDO_MAP _CLIPPING_BOX _ROUND_CORNERS _IGNORE_Z_SCALE Platform defines: UNITY_NO_DXT5nm UNITY_NO_RGBM UNITY_ENABLE_REFLECTION_BUFFERS UNITY_FRAMEBUFFER_FETCH_AVAILABLE UNITY_NO_CUBEMAP_ARRAY UNITY_NO_SCREENSPACE_SHADOWS UNITY_PBS_USE_BRDF3 UNITY_NO_FULL_STANDARD_SHADER SHADER_API_MOBILE UNITY_HARDWARE_TIER1 UNITY_COLORSPACE_GAMMA UNITY_HALF_PRECISION_FRAGMENT_SHADER_REGISTERS UNITY_LIGHTMAP_DLDR_ENCODING UNITY_PASS_FORWARDBASE Disabled keywords: LIGHTMAP_ON _CLIPPING_PLANE _CLIPPING_SPHERE _ALPHATEST_ON _ALPHABLEND_ON _METALLIC_TEXTURE_ALBEDO_CHANNEL_A _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A _CHANNEL_MAP _NORMAL_MAP _EMISSION _TRIPLANAR_MAPPING _LOCAL_SPACE_TRIPLANAR_MAPPING _DIRECTIONAL_LIGHT _SPECULAR_HIGHLIGHTS _SPHERICAL_HARMONICS _REFLECTIONS _REFRACTION _RIM_LIGHT _VERTEX_COLORS _VERTEX_EXTRUSION _VERTEX_EXTRUSION_SMOOTH_NORMALS _CLIPPING_BORDER _NEAR_PLANE_FADE _NEAR_LIGHT_FADE _HOVER_LIGHT _HOVER_COLOR_OVERRIDE _PROXIMITY_LIGHT _PROXIMITY_LIGHT_COLOR_OVERRIDE _PROXIMITY_LIGHT_SUBTRACTIVE _PROXIMITY_LIGHT_TWO_SIDED _INDEPENDENT_CORNERS _BORDER_LIGHT _BORDER_LIGHT_USES_HOVER_COLOR _BORDER_LIGHT_REPLACES_ALBEDO _BORDER_LIGHT_OPAQUE _INNER_GLOW _IRIDESCENCE _ENVIRONMENT_COLORING _INSTANCED_COLOR INSTANCING_ON UNITY_ENABLE_NATIVE_SHADOW_LOOKUPS UNITY_METAL_SHADOWS_USE_POINT_FILTERING UNITY_USE_DITHER_MASK_FOR_ALPHABLENDED_SHADOWS UNITY_PBS_USE_BRDF1 UNITY_PBS_USE_BRDF2 UNITY_SPECCUBE_BOX_PROJECTION UNITY_SPECCUBE_BLENDING UNITY_ENABLE_DETAIL_NORMALMAP UNITY_HARDWARE_TIER2 UNITY_HARDWARE_TIER3 UNITY_LIGHT_PROBE_PROXY_VOLUME UNITY_LIGHTMAP_RGBM_ENCODING UNITY_LIGHTMAP_FULL_HDR UNITY_VIRTUAL_TEXTURING `

All errors are of the same kind and affect the same shader.

Acimaz commented 4 years ago

Just noticed i opened the project with 2020.1. That might be the problem.

Acimaz commented 4 years ago

Just found the fix for this from @provencher: https://github.com/microsoft/MixedRealityToolkit-Unity/issues/6359

Acimaz commented 4 years ago

Apparently it can work without changing the shader by hand. Here are the steps to make it work:

  1. Activate the new renderpipeline by installing URP via package manager
  2. Create needed renderpipeline assets and add the reference in Project Settings -> Quality
  3. Add reference to pipeline asset in Project Settings -> Graphics as well
  4. Activate the XR Plug-In Management under Project Settings and enable oculus
  5. Go to Menuitem Mixed Reality Toolkit/Utilities/Upgrade MRTK Standard Shader for Lightweight Render Pipeline and upgrade all shaders so they work with URP instead of showing pink textures

Another thing I've done is to change the controller settings inside the quest camera rig prefab to "hands only", because the app doesn't start without controllers if I don't.

provencher commented 4 years ago

This error is resolved by the fix you mentioned @Acimaz - URP is indeed another solution, thanks for writing it out.