void OnEnable() { if (!animator) { animator = GetComponent <Animator>(); } if (!shapeRenderer) { shapeRenderer = (animator?.GetComponentsInChildren <SkinnedMeshRenderer>() ?? new SkinnedMeshRenderer[0]) .Where(smr => (smr.sharedMesh?.blendShapeCount ?? 0) > 0).FirstOrDefault(); } skeleton = new Skeleton(animator); var appr = new Appearance(shapeRenderer?.sharedMesh, true); var layout = new MotionLayout(skeleton, MotionLayout.defaultHumanLayout, appr, MotionLayout.defaultExprLayout); decoder = new MotionDecoder(skeleton, appr, layout); //motionBuffer = new RenderTexture(256, 256, 16, RenderTextureFormat.ARGB32); }
void OnDisable() { skeleton = null; decoder = null; }