public MeshGroupFrame CreateMeshGroupFrame(string aniname, int frameid) { Debug.Log("CreateMeshGroupFrame:" + aniname + "," + frameid); ha_ani_tool.hadata.AniRuntime ani = getAniRunTime(aniname); if (ani != null) { MeshGroupFrame f = new MeshGroupFrame(); CreateMesh(f, ani.frames[frameid]); return(f); } return(null); }
public int GetMeshGroupMaxFrame(string aniname) { Debug.Log("GetMeahGroupMaxFrame:" + aniname); ha_ani_tool.hadata.AniRuntime ani = getAniRunTime(aniname); if (ani != null) { return(ani.MaxFrame); } else { return(-1); } }
public static AniRuntime CreateFrom(puppetanimdata data) { AniRuntime ar = new AniRuntime(); foreach (var node in data.nodes) { foreach (var frame in node.frames) { int iframe = (int)Math.Round(frame.time * 24); if (iframe > ar.MaxFrame) { ar.MaxFrame = iframe; } if (ar.frames.ContainsKey(iframe) == false) { for (int i = 0; i <= iframe; i++) { if (ar.frames.ContainsKey(i) == false) { ar.frames[i] = new Dictionary <string, Node.Frame>(); } } } ar.frames[iframe][node.name] = frame; } } foreach (var node in data.nodes) { for (int i = 0; i <= ar.MaxFrame; i++) { if (!ar.frames[i].ContainsKey(node.name) && i > 0) { if (ar.frames[i - 1].ContainsKey(node.name)) { ar.frames[i][node.name] = ar.frames[i - 1][node.name]; } } } } return(ar); }
public static AniRuntime CreateFrom(puppetanimdata data) { AniRuntime ar = new AniRuntime(); foreach (var node in data.nodes) { foreach (var frame in node.frames) { int iframe = (int)Math.Round(frame.time * 24); if (iframe > ar.MaxFrame) ar.MaxFrame = iframe; if (ar.frames.ContainsKey(iframe) == false) { for (int i = 0; i <= iframe; i++) { if (ar.frames.ContainsKey(i) == false) { ar.frames[i] = new Dictionary<string, Node.Frame>(); } } } ar.frames[iframe][node.name] = frame; } } foreach (var node in data.nodes) { for (int i = 0; i <= ar.MaxFrame; i++) { if (!ar.frames[i].ContainsKey(node.name) && i > 0) { if (ar.frames[i - 1].ContainsKey(node.name)) ar.frames[i][node.name] = ar.frames[i - 1][node.name]; } } } return ar; }