internal void UpdateSkinnedMeshRenderPBS(OvrAvatar avatar, ovrAvatarRenderPart_SkinnedMeshRenderPBS meshRender)
    {
        UpdateSkinnedMesh(avatar, mesh, bones, meshRender.localTransform, meshRender.visibilityMask, meshRender.skinnedPose);

        Material mat = mesh.sharedMaterial;

        mat.SetTexture("_Albedo", GetLoadedTexture(meshRender.albedoTextureAssetID));
        mat.SetTexture("_Surface", GetLoadedTexture(meshRender.surfaceTextureAssetID));
    }
 internal void Initialize(ovrAvatarRenderPart_SkinnedMeshRenderPBS skinnedMeshRenderPBS, Shader shader, int thirdPersonLayer, int firstPersonLayer)
 {
     if (shader == null)
     {
         shader = Shader.Find("OvrAvatar/AvatarSurfaceShaderPBS");
     }
     mesh = CreateSkinnedMesh(skinnedMeshRenderPBS.meshAssetID, skinnedMeshRenderPBS.visibilityMask, thirdPersonLayer, firstPersonLayer);
     mesh.sharedMaterial = CreateAvatarMaterial(gameObject.name + "_material", shader);
     bones = mesh.bones;
 }
 internal void Initialize(ovrAvatarRenderPart_SkinnedMeshRenderPBS skinnedMeshRenderPBS, Shader shader, int thirdPersonLayer, int firstPersonLayer)
 {
     if (shader == null)
     {
         shader = Shader.Find("OvrAvatar/AvatarSurfaceShaderPBS");
     }
     mesh = CreateSkinnedMesh(skinnedMeshRenderPBS.meshAssetID, skinnedMeshRenderPBS.visibilityMask, thirdPersonLayer, firstPersonLayer);
     mesh.sharedMaterial = CreateAvatarMaterial(gameObject.name + "_material", shader);
     bones = mesh.bones;
     foreach (Transform bone in bones)
     {
         if (!bone.name.Contains("ignore"))
         {
             CreateCollider(bone);
         }
     }
 }
    private OvrAvatarSkinnedMeshRenderPBSComponent AddSkinnedMeshRenderPBSComponent(GameObject gameObject, ovrAvatarRenderPart_SkinnedMeshRenderPBS skinnedMeshRenderPBS)
    {
        OvrAvatarSkinnedMeshRenderPBSComponent skinnedMeshRenderer = gameObject.AddComponent <OvrAvatarSkinnedMeshRenderPBSComponent>();

        skinnedMeshRenderer.Initialize(skinnedMeshRenderPBS, Monochrome_SurfaceShader_PBS, ThirdPersonLayer.layerIndex, FirstPersonLayer.layerIndex);
        return(skinnedMeshRenderer);
    }
 internal void Initialize(ovrAvatarRenderPart_SkinnedMeshRenderPBS skinnedMeshRenderPBS, int thirdPersonLayer, int firstPersonLayer, int sortOrder)
 {
     mesh  = CreateSkinnedMesh(skinnedMeshRenderPBS.meshAssetID, skinnedMeshRenderPBS.visibilityMask, true, thirdPersonLayer, firstPersonLayer, sortOrder);
     bones = mesh.bones;
 }
Example #6
0
    private OvrAvatarSkinnedMeshRenderPBSComponent AddSkinnedMeshRenderPBSComponent(GameObject gameObject, ovrAvatarRenderPart_SkinnedMeshRenderPBS skinnedMeshRenderPBS)
    {
        OvrAvatarSkinnedMeshRenderPBSComponent skinnedMeshRenderer = gameObject.AddComponent <OvrAvatarSkinnedMeshRenderPBSComponent>();

        skinnedMeshRenderer.Initialize(skinnedMeshRenderPBS, ThirdPersonLayer.layerIndex, FirstPersonLayer.layerIndex, renderPartCount++);
        return(skinnedMeshRenderer);
    }
        private OvrAvatarSkinnedMeshRenderPBSComponent AddSkinnedMeshRenderPBSComponent(GameObject gameObject, ovrAvatarRenderPart_SkinnedMeshRenderPBS skinnedMeshRenderPBS)
        {
            OvrAvatarSkinnedMeshRenderPBSComponent skinnedMeshRenderer = gameObject.AddComponent <OvrAvatarSkinnedMeshRenderPBSComponent>();
            OvrAvatarAssetMesh  meshAsset = (OvrAvatarAssetMesh)OvrAvatarSDKManager.Instance.GetAsset(skinnedMeshRenderPBS.meshAssetID);
            SkinnedMeshRenderer renderer  = meshAsset.CreateSkinnedMeshRendererOnObject(gameObject);

#if UNITY_ANDROID
            renderer.quality = SkinQuality.Bone2;
#else
            renderer.quality = SkinQuality.Bone4;
#endif
            renderer.updateWhenOffscreen        = true;
            skinnedMeshRenderer.mesh            = renderer;
            transform.GetChild(0).localPosition = Vector2.zero;
            transform.GetChild(0).localRotation = Quaternion.identity;
            transform.GetChild(0).GetComponentInChildren <OvrAvatarSkinnedMeshRenderPBSComponent>().gameObject.SetActive(false);
            var shader = Shader.Find("OvrAvatar/AvatarSurfaceShaderPBS");
            renderer.sharedMaterial = CreateAvatarMaterial(gameObject.name + "_material", shader);
            SetMaterialOpaque(renderer.sharedMaterial);
            skinnedMeshRenderer.bones = renderer.bones;

            return(skinnedMeshRenderer);
        }
Example #8
0
        private OvrAvatarSkinnedMeshRenderPBSComponent AddSkinnedMeshRenderPBSComponent(GameObject gameObject, ovrAvatarRenderPart_SkinnedMeshRenderPBS skinnedMeshRenderPBS)
        {
            OvrAvatarSkinnedMeshRenderPBSComponent skinnedMeshRenderer = gameObject.AddComponent <OvrAvatarSkinnedMeshRenderPBSComponent>();

#if VIU_OCULUSVR_1_32_0_OR_NEWER || VIU_OCULUSVR_1_36_0_OR_NEWER
            skinnedMeshRenderer.Initialize(skinnedMeshRenderPBS, SurfaceShaderPBS, 0, 0, renderPartCount++);
#else
            skinnedMeshRenderer.Initialize(skinnedMeshRenderPBS, SurfaceShaderPBS, 0, 0);
#endif
            return(skinnedMeshRenderer);
        }