public virtual void OnDirtyUpdate() { try { if (HandleDirtyUpdate(umaDirtyList[0])) { umaDirtyList.RemoveAt(0); umaData.MoveToList(cleanUmas); umaData = null; } else if (fastGeneration && HandleDirtyUpdate(umaDirtyList[0])) { umaDirtyList.RemoveAt(0); umaData.MoveToList(cleanUmas); umaData = null; } } catch (Exception ex) { if (Debug.isDebugBuild) { UnityEngine.Debug.LogException(ex); } } //anything more than 166,000 is too long (166,000 is 1 frame @ 60fps) //the demo alien is about 65,000 on average- this is a big chunk of the available time though and my machine is fast //Human Male DCS using pre plugins dna is about 45,000 on average but then its only doing 'skeletonModifiers' and 1 bonepose //where as elfOrAlien demo is doing SkeletonModifiers + 3 BonePoses + 2 Blendshapes + 7 ColorDNAs //if(charName != "") //Debug.Log(charName + " DirtyUpdate took " + DirtyStopwatch.ElapsedTicks); }
public virtual void OnDirtyUpdate() { if (HandleDirtyUpdate(umaDirtyList[0])) { umaDirtyList.RemoveAt(0); umaData.MoveToList(cleanUmas); umaData = null; } else if (fastGeneration && HandleDirtyUpdate(umaDirtyList[0])) { umaDirtyList.RemoveAt(0); umaData.MoveToList(cleanUmas); umaData = null; } }
/// <inheritdoc/> public override void addDirtyUMA(UMAData umaToAdd) { if (umaToAdd) { umaDirtyList.Add(umaToAdd); umaToAdd.MoveToList(dirtyUmas); } }
public virtual void OnDirtyUpdate() { try { if (NoCoroutines) { UMAData umaData = umaDirtyList[0]; if (umaData.RebuildSkeleton) { DestroyImmediate(umaData.umaRoot, false); umaData.umaRoot = null; umaData.RebuildSkeleton = false; umaData.isShapeDirty = true; } // this happens in GenerateSingleUMA now GenerateSingleUMA(umaDirtyList[0], true); umaDirtyList.RemoveAt(0); umaData.MoveToList(cleanUmas); umaData = null; return; } if (HandleDirtyUpdate(umaDirtyList[0])) { umaDirtyList.RemoveAt(0); umaData.MoveToList(cleanUmas); umaData = null; } else if (fastGeneration && HandleDirtyUpdate(umaDirtyList[0])) { umaDirtyList.RemoveAt(0); umaData.MoveToList(cleanUmas); umaData = null; } } catch (Exception ex) { if (Debug.isDebugBuild) { UnityEngine.Debug.LogException(ex); } } }
/// <inheritdoc/> public override void addDirtyUMA(UMAData umaToAdd) { if (umaToAdd) { // guard against duplicates if (!updatePending(umaToAdd)) { umaDirtyList.Add(umaToAdd); umaToAdd.MoveToList(dirtyUmas); } } }
public virtual void OnDirtyUpdate() { try { if (HandleDirtyUpdate(umaDirtyList[0])) { umaDirtyList.RemoveAt(0); umaData.MoveToList(cleanUmas); umaData = null; } else if (fastGeneration && HandleDirtyUpdate(umaDirtyList[0])) { umaDirtyList.RemoveAt(0); umaData.MoveToList(cleanUmas); umaData = null; } } catch (Exception ex) { UnityEngine.Debug.LogWarning("Exception in UMAGeneratorBuiltin.OnDirtyUpdate: " + ex); } }