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); }
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); }
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); }