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