public void PlayShadowAnim(int index) { if (!startPlayAnim) { return; } int shadowGOListCount = shadowGameObjectList.Count; if (index > shadowGOListCount - 1) { return; } GameObject startGameObject = shadowGameObjectList[index]; if (startGameObject == null) { return; } AnimFrameData animFrameData = animFrams[GetNextAnimFrameIndex(shadowPlayIndex, index * 5 + 1)]; if (animFrameData == null) { return; } MeshFilter[] meshFilters = startGameObject.GetComponentsInChildren <MeshFilter>(); int meshFilterCount = meshFilters.Length; for (int i = 0; i < meshFilterCount; i++) { animFrameData.SetAnimDataByIndex(i, meshFilters[i]); } }
void StoreAnimFrame() { int storeIndex = GetNextAnimFrameIndex(lastAnimFrameIndex); if (totalAnimFrameNum >= storeAnimFrameNum) { firstAnimFrameIndex = GetNextAnimFrameIndex(firstAnimFrameIndex); } else { totalAnimFrameNum++; } if (animFrams[storeIndex] == null) { animFrams[storeIndex] = new AnimFrameData(meshRenderers); } else { animFrams[storeIndex].StoreAnimMesh(meshRenderers); } lastAnimFrameIndex = storeIndex; }