Exemplo n.º 1
0
    private OvrAvatarSkinnedMeshPBSV2RenderComponent AddSkinnedMeshRenderPBSV2Component(
        IntPtr renderPart,
        GameObject go,
        ovrAvatarRenderPart_SkinnedMeshRenderPBS_V2 skinnedMeshRenderPBSV2,
        OvrAvatarMaterialManager materialManager,
        bool isBodyPartZero,
        bool isControllerModel)
    {
        OvrAvatarSkinnedMeshPBSV2RenderComponent skinnedMeshRenderer = go.AddComponent <OvrAvatarSkinnedMeshPBSV2RenderComponent>();

        skinnedMeshRenderer.Initialize(
            renderPart,
            skinnedMeshRenderPBSV2,
            materialManager,
            ThirdPersonLayer.layerIndex,
            FirstPersonLayer.layerIndex,
            renderPartCount++,
            isBodyPartZero && CombineMeshes,
            LevelOfDetail,
            isBodyPartZero && EnableExpressive,
            this,
            isControllerModel);

        return(skinnedMeshRenderer);
    }
Exemplo n.º 2
0
    private OvrAvatarSkinnedMeshPBSV2RenderComponent AddSkinnedMeshRenderPBSV2Component(GameObject gameObject, ovrAvatarRenderPart_SkinnedMeshRenderPBS_V2 skinnedMeshRenderPBSV2)
    {
        OvrAvatarSkinnedMeshPBSV2RenderComponent skinnedMeshRenderer = gameObject.AddComponent <OvrAvatarSkinnedMeshPBSV2RenderComponent>();

        skinnedMeshRenderer.Initialize(skinnedMeshRenderPBSV2, SurfaceShaderPBSV2, ThirdPersonLayer.layerIndex, FirstPersonLayer.layerIndex, renderPartCount++);
        return(skinnedMeshRenderer);
    }
Exemplo n.º 3
0
    private OvrAvatarSkinnedMeshPBSV2RenderComponent AddSkinnedMeshRenderPBSV2Component(
        IntPtr renderPart,
        GameObject gameObject,
        ovrAvatarRenderPart_SkinnedMeshRenderPBS_V2 skinnedMeshRenderPBSV2,
        OvrAvatarMaterialManager materialManager)
    {
        OvrAvatarSkinnedMeshPBSV2RenderComponent skinnedMeshRenderer = gameObject.AddComponent <OvrAvatarSkinnedMeshPBSV2RenderComponent>();

        skinnedMeshRenderer.Initialize(
            renderPart,
            skinnedMeshRenderPBSV2,
            materialManager,
            ThirdPersonLayer.layerIndex,
            FirstPersonLayer.layerIndex,
            renderPartCount++,
            gameObject.name.Contains("body") && CombineMeshes,
            LevelOfDetail);

        return(skinnedMeshRenderer);
    }
        private OvrAvatarSkinnedMeshPBSV2RenderComponent AddSkinnedMeshRenderPBSV2Component(GameObject gameObject, ovrAvatarRenderPart_SkinnedMeshRenderPBS_V2 skinnedMeshRenderPBSV2)
        {
            OvrAvatarSkinnedMeshPBSV2RenderComponent skinnedMeshRenderer = gameObject.AddComponent <OvrAvatarSkinnedMeshPBSV2RenderComponent>();
            OvrAvatarAssetMesh  meshAsset = (OvrAvatarAssetMesh)OvrAvatarSDKManager.Instance.GetAsset(skinnedMeshRenderPBSV2.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 <OvrAvatarSkinnedMeshPBSV2RenderComponent>().gameObject.SetActive(false);
            var shader = Shader.Find("OvrAvatar/AvatarPBRV2Simple");
            renderer.sharedMaterial = CreateAvatarMaterial(gameObject.name + "_material", shader);
            SetMaterialOpaque(renderer.sharedMaterial);
            skinnedMeshRenderer.bones = renderer.bones;

            return(skinnedMeshRenderer);
        }