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); }
public static Transform[] CreateRecorderMesh(Mesh mesh, Skeleton skel, Appearance appr, MotionLayout layout, (Mesh, Transform[]) source, bool lineMesh = false)