mirror of
https://gitgud.io/AbstractConcept/rimworld-animation-studio.git
synced 2024-08-15 00:43:27 +00:00
Bug fixes
- Animation keys should be better synced with the animation (fewer instance of missing keys) - Copied keyframes and cloned stages should no longer be linked to each other -If you delete the first keyframe in a clip, instead of denying you, it will reset the associated actor it to its default starting position - You can now move keyframes over the first one in a clip and override it. If less than two keys remain, new keys will be generated to a minimum of a two - Fixed error when cycling through actor body parts
This commit is contained in:
parent
39f771a720
commit
23f8d8cfec
85 changed files with 192 additions and 142 deletions
Binary file not shown.
|
@ -128,7 +128,7 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
public void CloneAnimationStage()
|
||||
{
|
||||
AnimationStage stage = Workspace.GetCurrentAnimationStage().Copy();
|
||||
AnimationStage stage = Workspace.GetCurrentAnimationStage().GetClone();
|
||||
stage.StageName += " (Clone)";
|
||||
|
||||
Workspace.animationDef.AnimationStages.Insert(Workspace.StageID + 1, stage);
|
||||
|
|
|
@ -59,7 +59,7 @@ namespace RimWorldAnimationStudio
|
|||
[XmlIgnore] public int StageLoopsQuick
|
||||
{
|
||||
get { return Mathf.CeilToInt(PlayTimeTicksQuick / Workspace.StageWindowSize); }
|
||||
set { value = Math.Max(0, Math.Min(value, StageLoopsNormal)); PlayTimeTicksQuick = value * Workspace.StageWindowSize; IsLooping = value > 1; }
|
||||
set { value = Math.Max(0, Math.Min(value, StageLoopsNormal)); PlayTimeTicksQuick = value * Workspace.StageWindowSize; }
|
||||
}
|
||||
|
||||
// Local data
|
||||
|
@ -86,13 +86,15 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
public void StretchStageWindow(int newStageWindowSize)
|
||||
{
|
||||
ResizeStageWindow(newStageWindowSize);
|
||||
|
||||
float scale = (float)newStageWindowSize / Workspace.StageWindowSize;
|
||||
|
||||
foreach (PawnAnimationClip clip in AnimationClips)
|
||||
{
|
||||
foreach (PawnKeyframe keyframe in clip.Keyframes)
|
||||
{
|
||||
keyframe.atTick = Mathf.CeilToInt((float)keyframe.atTick.Value * scale);
|
||||
keyframe.atTick = keyframe.atTick == Constants.minTick ? Constants.minTick : Mathf.CeilToInt((float)keyframe.atTick.Value * scale);
|
||||
keyframe.TickDuration = 0;
|
||||
}
|
||||
|
||||
|
@ -103,10 +105,10 @@ namespace RimWorldAnimationStudio
|
|||
}
|
||||
|
||||
public void ResizeStageWindow(int newStageWindowSize)
|
||||
{
|
||||
Workspace.GetCurrentAnimationStage().stageWindowSize = newStageWindowSize;
|
||||
{
|
||||
Workspace.GetCurrentAnimationStage().PlayTimeTicks = newStageWindowSize * StageLoopsNormal;
|
||||
Workspace.GetCurrentAnimationStage().PlayTimeTicksQuick = newStageWindowSize * StageLoopsQuick;
|
||||
Workspace.GetCurrentAnimationStage().stageWindowSize = newStageWindowSize;
|
||||
|
||||
EventsManager.OnStageWindowSizeChanged(this);
|
||||
}
|
||||
|
@ -121,17 +123,17 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
if (lastkeyframe != null)
|
||||
{
|
||||
PawnKeyframe keyframeA = lastkeyframe.Copy();
|
||||
PawnKeyframe keyframeA = lastkeyframe.GetClone();
|
||||
keyframeA.GenerateKeyframeID(actorID);
|
||||
keyframeA.atTick = null;
|
||||
keyframeA.TickDuration = Constants.defaultAnimationClipLength - 1;
|
||||
keyframeA.GenerateKeyframeID(actorID);
|
||||
|
||||
clip.Keyframes.Add(keyframeA);
|
||||
|
||||
PawnKeyframe keyframeB = lastkeyframe.Copy();
|
||||
PawnKeyframe keyframeB = lastkeyframe.GetClone();
|
||||
keyframeB.GenerateKeyframeID(actorID);
|
||||
keyframeB.atTick = null;
|
||||
keyframeB.TickDuration = 1;
|
||||
keyframeB.GenerateKeyframeID(actorID);
|
||||
|
||||
clip.Keyframes.Add(keyframeB);
|
||||
}
|
||||
|
@ -151,6 +153,19 @@ namespace RimWorldAnimationStudio
|
|||
animationClips.Add(clip);
|
||||
}
|
||||
|
||||
public AnimationStage GetClone()
|
||||
{
|
||||
AnimationStage clone = this.Copy();
|
||||
|
||||
foreach (PawnAnimationClip clip in clone.animationClips)
|
||||
{
|
||||
foreach (PawnKeyframe keyframe in clip.Keyframes)
|
||||
{ keyframe.GenerateKeyframeID(keyframe.actorID); }
|
||||
}
|
||||
|
||||
return clone;
|
||||
}
|
||||
|
||||
// Pre-save / post-load
|
||||
public void OnPreSave()
|
||||
{
|
||||
|
|
|
@ -236,7 +236,7 @@ namespace RimWorldAnimationStudio
|
|||
List<PawnKeyframe> keyframesToClone = Workspace.GetPawnKeyframesByID(Workspace.keyframeID);
|
||||
|
||||
foreach (PawnKeyframe keyframe in keyframesToClone)
|
||||
{ Workspace.copiedKeyframes.Add(keyframe.Copy()); }
|
||||
{ Workspace.copiedKeyframes.Add(keyframe.GetClone()); }
|
||||
}
|
||||
|
||||
public void PastePawnKeyframes()
|
||||
|
@ -273,7 +273,7 @@ namespace RimWorldAnimationStudio
|
|||
Workspace.GetAnimationClipThatOwnsKeyframe(oldKeyframe.keyframeID).RemovePawnKeyframe(oldKeyframe.keyframeID, true);
|
||||
}
|
||||
|
||||
PawnKeyframe clonedKeyframe = copiedKeyframe.Copy();
|
||||
PawnKeyframe clonedKeyframe = copiedKeyframe.GetClone();
|
||||
clonedKeyframe.GenerateKeyframeID(targetActorID);
|
||||
clonedKeyframe.atTick = tickToPasteAt;
|
||||
|
||||
|
@ -305,13 +305,24 @@ namespace RimWorldAnimationStudio
|
|||
PawnKeyframe keyframe = Workspace.GetPawnKeyframe(keyframeID);
|
||||
if (keyframe == null || IsOwnerOfKeyframe(keyframeID) == false) return;
|
||||
|
||||
if (keyframe.atTick == Constants.minTick && force == false)
|
||||
{ Debug.LogWarning("Cannot delete key frame - the first key frame of an animation clip cannot be deleted"); return; }
|
||||
|
||||
if (Keyframes.Count <= 2 && force == false)
|
||||
{ Debug.LogWarning("Cannot delete key frame - an animation clip must have two or more keyframes"); return; }
|
||||
|
||||
Keyframes.Remove(keyframe);
|
||||
|
||||
if (Workspace.GetAllPawnKeyframesAtTick(GetOwningActorID(), Constants.minTick).NullOrEmpty())
|
||||
{
|
||||
PawnKeyframe newKeyframe = new PawnKeyframe();
|
||||
newKeyframe.GenerateKeyframeID(GetOwningActorID());
|
||||
newKeyframe.atTick = Constants.minTick;
|
||||
Keyframes.Insert(0, newKeyframe);
|
||||
}
|
||||
|
||||
// Add missing second keyframe (if needed)
|
||||
if (Keyframes.Count == 1)
|
||||
{
|
||||
PawnKeyframe newKeyframe = Workspace.GetAllPawnKeyframesAtTick(GetOwningActorID(), Constants.minTick).First().GetClone();
|
||||
newKeyframe.atTick = 10;
|
||||
Keyframes.Add(newKeyframe);
|
||||
}
|
||||
|
||||
BuildSimpleCurves();
|
||||
|
||||
EventsManager.OnKeyframeCountChanged(this);
|
||||
|
@ -323,11 +334,6 @@ namespace RimWorldAnimationStudio
|
|||
return Keyframes.Any(x => x.keyframeID == keyframeID);
|
||||
}
|
||||
|
||||
public float GetStageTickPercentage()
|
||||
{
|
||||
return (float)(Workspace.StageTick % duration) / duration;
|
||||
}
|
||||
|
||||
// Pre-save / post-load
|
||||
public void OnPreSave()
|
||||
{
|
||||
|
|
|
@ -39,7 +39,7 @@ namespace RimWorldAnimationStudio
|
|||
// Data helper functions
|
||||
[XmlIgnore] public float BodyAngle
|
||||
{
|
||||
get { return bodyAngle.HasValue ? bodyAngle.Value : 0f; }
|
||||
get { return bodyAngle.HasValue ? bodyAngle.Value : (float)(bodyAngle = 0f); }
|
||||
set { bodyAngle = value; }
|
||||
}
|
||||
|
||||
|
@ -205,6 +205,14 @@ namespace RimWorldAnimationStudio
|
|||
Workspace.RecordEvent("Actor position / orientation");
|
||||
}
|
||||
|
||||
public PawnKeyframe GetClone()
|
||||
{
|
||||
PawnKeyframe clone = this.Copy();
|
||||
clone.GenerateKeyframeID(actorID);
|
||||
|
||||
return clone;
|
||||
}
|
||||
|
||||
// Pre-save / post-load
|
||||
public void OnPreSave()
|
||||
{
|
||||
|
|
|
@ -23,7 +23,7 @@ namespace RimWorldAnimationStudio
|
|||
{
|
||||
PawnAnimationClip clip = Workspace.GetPawnAnimationClip(actorID);
|
||||
|
||||
float clipPercent = (float)atTick / Workspace.StageWindowSize;
|
||||
float clipPercent = (float)(atTick % clip.duration) / clip.duration;
|
||||
if (atTick > Constants.minTick && atTick == clip.duration) clipPercent = 1f;
|
||||
|
||||
if (Workspace.GetCurrentAnimationStage().IsLooping == false)
|
||||
|
|
|
@ -18,6 +18,10 @@ namespace RimWorldAnimationStudio
|
|||
{
|
||||
EventsManager.onActorBodyPartSelected.AddListener(delegate(ActorBodyPart bodyPart) { OnActorBodyPartSelected(bodyPart); });
|
||||
EventsManager.onActorBodySelected.AddListener(delegate(ActorBody actorBody) { OnActorBodySelected(actorBody); });
|
||||
EventsManager.onActorIDChanged.AddListener(delegate {
|
||||
if (Workspace.ActorID == actorID)
|
||||
{ EventsManager.OnActorBodySelected(this); }
|
||||
});
|
||||
|
||||
if (Workspace.ActorID == actorID)
|
||||
{ Activate(); }
|
||||
|
|
|
@ -22,6 +22,7 @@ namespace RimWorldAnimationStudio
|
|||
EventsManager.onKeyframeCountChanged.AddListener(delegate { UpdateGUI(); });
|
||||
EventsManager.onActorIDChanged.AddListener(delegate { UpdateTimelineSelection(); });
|
||||
EventsManager.onStageWindowSizeChanged.AddListener(delegate { UpdateGUI(); });
|
||||
EventsManager.onAnimationStageChanged.AddListener(delegate { UpdateGUI(); });
|
||||
|
||||
UpdateTimelineSelection();
|
||||
UpdateGUI();
|
||||
|
|
|
@ -58,6 +58,8 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
else
|
||||
{
|
||||
Workspace.GetCurrentAnimationStage().ResizeStageWindow(newStageWindowSize);
|
||||
|
||||
foreach (PawnAnimationClip clip in Workspace.GetCurrentAnimationStage().AnimationClips)
|
||||
{
|
||||
List<PawnKeyframe> keyframes = clip.Keyframes.Where(x => x.atTick > newStageWindowSize)?.ToList();
|
||||
|
@ -75,7 +77,6 @@ namespace RimWorldAnimationStudio
|
|||
}
|
||||
}
|
||||
|
||||
Workspace.GetCurrentAnimationStage().ResizeStageWindow(newStageWindowSize);
|
||||
Workspace.RecordEvent("Stage length");
|
||||
|
||||
UpdateGUI();
|
||||
|
|
|
@ -111,7 +111,8 @@ namespace RimWorldAnimationStudio
|
|||
}
|
||||
|
||||
public void OnBeginDrag(PointerEventData eventData)
|
||||
{
|
||||
{
|
||||
// Select key
|
||||
Workspace.ActorID = actorID;
|
||||
dragTimeStart = Time.unscaledTime;
|
||||
dragTickStart = keyframe.atTick.Value;
|
||||
|
@ -119,6 +120,12 @@ namespace RimWorldAnimationStudio
|
|||
if (Workspace.keyframeID.NullOrEmpty() || Workspace.keyframeID.Contains(keyframeID) == false)
|
||||
{ Workspace.keyframeID = new List<int> { keyframeID }; }
|
||||
|
||||
// The first key can't be moved though
|
||||
if (keyframe.atTick == Constants.minTick)
|
||||
{ interactable = false; return; }
|
||||
|
||||
interactable = true;
|
||||
|
||||
List<PawnKeyframe> selectedKeyframes = Workspace.GetPawnKeyframesByID(Workspace.keyframeID).Except(new List<PawnKeyframe>() { keyframe })?.ToList();
|
||||
|
||||
// Link other selected keyframes to the movement of this one
|
||||
|
@ -134,6 +141,7 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
if (unlinkedSlider != null)
|
||||
{
|
||||
if (selectedKeyframe.atTick == Constants.minTick) continue;
|
||||
if (Workspace.stretchKeyframes && unlinkedSlider.keyframe.atTick == pivotKeyframe.atTick) continue;
|
||||
|
||||
unlinkedSlider.linkedSlider = this;
|
||||
|
@ -147,31 +155,19 @@ namespace RimWorldAnimationStudio
|
|||
{
|
||||
Workspace.ActorID = actorID;
|
||||
|
||||
// The first keyframe can't be moved
|
||||
if (keyframe.atTick == Constants.minTick)
|
||||
{ value = Constants.minTick; return; }
|
||||
|
||||
// Sticky drag
|
||||
if (Time.unscaledTime - dragTimeStart < 0.05f) return;
|
||||
|
||||
interactable = true;
|
||||
base.OnDrag(eventData);
|
||||
|
||||
// Snap to nearest keyframe (on another timeline)
|
||||
int targetTick = Workspace.FindClosestKeyFrameAtTick(keyframe.atTick.Value, Mathf.CeilToInt(Workspace.StageWindowSize * 0.01f), actorID);
|
||||
if (Input.GetKey(KeyCode.LeftShift) && Workspace.DoesPawnKeyframeExistAtTick(Workspace.StageID, actorID, targetTick) == false)
|
||||
{ value = (float)targetTick; }
|
||||
|
||||
// Prevent other frames from being moved to the first keyframe
|
||||
if (value == Constants.minTick)
|
||||
{ value = Constants.minTick + 1; }
|
||||
}
|
||||
|
||||
public void OnEndDrag(PointerEventData eventData)
|
||||
{
|
||||
if (keyframe.atTick == Constants.minTick)
|
||||
{ value = Constants.minTick; return; }
|
||||
|
||||
List<PawnKeyframe> keyframesToCheck = Workspace.GetAllPawnKeyframesAtTick(actorID, keyframe.atTick.Value);
|
||||
if (keyframesToCheck.NotNullOrEmpty())
|
||||
{
|
||||
|
@ -227,7 +223,7 @@ namespace RimWorldAnimationStudio
|
|||
{ value = Mathf.CeilToInt(linkedSlider.keyframe.atTick.Value + linkedOffset * linkedSlider.ScaledOffsetFromPivot()); }
|
||||
|
||||
else if (Workspace.stretchKeyframes == false && linkedSlider != null)
|
||||
{ value = Mathf.Clamp(linkedSlider.keyframe.atTick.Value + linkedOffset, Constants.minTick + 1, Workspace.StageWindowSize); }
|
||||
{ value = Mathf.Clamp(linkedSlider.keyframe.atTick.Value + linkedOffset, Constants.minTick, Workspace.StageWindowSize); }
|
||||
|
||||
else if (keyframe.atTick.Value != value)
|
||||
{ value = keyframe.atTick.Value; }
|
||||
|
|
|
@ -89,21 +89,24 @@ namespace RimWorldAnimationStudio
|
|||
|
||||
for (int actorID = 0; actorID < Workspace.animationDef.actors.Count; actorID++)
|
||||
{
|
||||
// Get the current actor and their animation clip
|
||||
// Get the current actor
|
||||
Actor actor = Workspace.GetActor(actorID);
|
||||
|
||||
// Get their animation clip and rebuild it to ensure it is up to date
|
||||
PawnAnimationClip clip = Workspace.GetPawnAnimationClip(actorID);
|
||||
clip.BuildSimpleCurves();
|
||||
|
||||
// Get flags
|
||||
bool quiver = Workspace.IsAnimating && Workspace.GetCurrentOrPreviousKeyframe(actorID).Quiver == true;
|
||||
bool requiresGenitals = actor.RequiredGenitals.Any(x => x == "Penis") || actor.IsFucking;
|
||||
|
||||
// Get clip percentage
|
||||
float clipPercent = clip.GetStageTickPercentage();
|
||||
if (Workspace.StageTick > Constants.minTick && Workspace.StageTick == clip.duration) clipPercent = 1f;
|
||||
|
||||
// Get clip percentage
|
||||
float clipPercent = (float)(Workspace.StageTick % clip.duration) / clip.duration;
|
||||
if (Workspace.StageTick > Constants.minTick && Workspace.StageTick == clip.duration) clipPercent = 1f;
|
||||
|
||||
if (Workspace.GetCurrentAnimationStage().IsLooping == false)
|
||||
{ clipPercent = (float)Workspace.StageTick / clip.duration; }
|
||||
|
||||
|
||||
// Get the actors race and body type
|
||||
PawnRaceDef pawnRaceDef = actor.GetPawnRaceDef();
|
||||
string bodyType = pawnRaceDef.isHumanoid ? actor.bodyType : "None";
|
||||
|
@ -188,7 +191,7 @@ namespace RimWorldAnimationStudio
|
|||
// Play sounds
|
||||
if (Workspace.IsAnimating)
|
||||
{
|
||||
PawnKeyframe keyframe = clip.keyframes.FirstOrDefault(x => x.atTick == Workspace.StageTick);
|
||||
PawnKeyframe keyframe = clip.keyframes.FirstOrDefault(x => x.atTick == (int)(clip.duration * clipPercent));
|
||||
|
||||
if (keyframe != null && string.IsNullOrEmpty(keyframe.soundEffect) == false)
|
||||
{ actorBody.GetComponent<AudioController>().PlaySound(keyframe.soundEffect); }
|
||||
|
|
|
@ -316,8 +316,8 @@ namespace RimWorldAnimationStudio
|
|||
{
|
||||
if (Workspace.animationDef == null) return;
|
||||
|
||||
ActorBody actorBody = AnimationController.Instance.actorBodies.GetChild(Workspace.ActorID).GetComponent<ActorBody>();
|
||||
List<ActorBodyPart> actorBodyParts = actorBody.GetComponentsInChildren<ActorBodyPart>().Where(x => x.gameObject.activeInHierarchy)?.ToList();
|
||||
ActorBody actorBody = AnimationController.Instance.actorBodies.GetComponentsInChildren<ActorBody>().FirstOrDefault(x => x.actorID == Workspace.ActorID);
|
||||
List<ActorBodyPart> actorBodyParts = actorBody?.GetComponentsInChildren<ActorBodyPart>()?.Where(x => x.gameObject.activeInHierarchy)?.ToList();
|
||||
|
||||
if (actorBodyParts.NullOrEmpty()) return;
|
||||
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/26/2629eea06e9739597d578fa0b983f39e
Normal file
BIN
Library/Artifacts/26/2629eea06e9739597d578fa0b983f39e
Normal file
Binary file not shown.
BIN
Library/Artifacts/2c/2cf858eaf9ad74fa0a8c83e6f8231e5e
Normal file
BIN
Library/Artifacts/2c/2cf858eaf9ad74fa0a8c83e6f8231e5e
Normal file
Binary file not shown.
BIN
Library/Artifacts/30/307ecb97e9976b3a0f6a6358f3b4b0d3
Normal file
BIN
Library/Artifacts/30/307ecb97e9976b3a0f6a6358f3b4b0d3
Normal file
Binary file not shown.
BIN
Library/Artifacts/4c/4c28a98251ae9e407ff21f499b40ee44
Normal file
BIN
Library/Artifacts/4c/4c28a98251ae9e407ff21f499b40ee44
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/5f/5f0ddcee147b84b599329fcef1a8f592
Normal file
BIN
Library/Artifacts/5f/5f0ddcee147b84b599329fcef1a8f592
Normal file
Binary file not shown.
BIN
Library/Artifacts/62/626bb8f07c965d64feeda0b575529c22
Normal file
BIN
Library/Artifacts/62/626bb8f07c965d64feeda0b575529c22
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/77/774425f6b8d54c83d5e0b44f061363a2
Normal file
BIN
Library/Artifacts/77/774425f6b8d54c83d5e0b44f061363a2
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/a0/a085cbd60e7cce6f6db895f502e616ac
Normal file
BIN
Library/Artifacts/a0/a085cbd60e7cce6f6db895f502e616ac
Normal file
Binary file not shown.
BIN
Library/Artifacts/b0/b0e08e47cbf49d91b0716175c7c77743
Normal file
BIN
Library/Artifacts/b0/b0e08e47cbf49d91b0716175c7c77743
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/bc/bc70f7d187322735821144a702fedbf8
Normal file
BIN
Library/Artifacts/bc/bc70f7d187322735821144a702fedbf8
Normal file
Binary file not shown.
BIN
Library/Artifacts/bd/bdcc70180edee2d030a6fbb1c7f40e94
Normal file
BIN
Library/Artifacts/bd/bdcc70180edee2d030a6fbb1c7f40e94
Normal file
Binary file not shown.
BIN
Library/Artifacts/c1/c1363c60b00f9b3aa6c506810369c565
Normal file
BIN
Library/Artifacts/c1/c1363c60b00f9b3aa6c506810369c565
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/d2/d2301b2b5b07af2c0da0c7e76ddb059f
Normal file
BIN
Library/Artifacts/d2/d2301b2b5b07af2c0da0c7e76ddb059f
Normal file
Binary file not shown.
BIN
Library/Artifacts/d4/d4441467233f3155380197909e659f32
Normal file
BIN
Library/Artifacts/d4/d4441467233f3155380197909e659f32
Normal file
Binary file not shown.
BIN
Library/Artifacts/dc/dc968ae3005c3bc5581a19f74e560899
Normal file
BIN
Library/Artifacts/dc/dc968ae3005c3bc5581a19f74e560899
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/ea/ea482f70fb313709289fec635f1c8881
Normal file
BIN
Library/Artifacts/ea/ea482f70fb313709289fec635f1c8881
Normal file
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/f4/f4e5b70a0d73e6e06c4576ce692b9616
Normal file
BIN
Library/Artifacts/f4/f4e5b70a0d73e6e06c4576ce692b9616
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Library/Artifacts/fb/fbf614b97a79f6dce96b33991604b41b
Normal file
BIN
Library/Artifacts/fb/fbf614b97a79f6dce96b33991604b41b
Normal file
Binary file not shown.
|
@ -112,10 +112,10 @@ MonoBehaviour:
|
|||
y: 30
|
||||
width: 1920
|
||||
height: 947
|
||||
m_MinSize: {x: 679, y: 492}
|
||||
m_MaxSize: {x: 14002, y: 14042}
|
||||
m_MinSize: {x: 677, y: 492}
|
||||
m_MaxSize: {x: 14001, y: 14042}
|
||||
vertical: 0
|
||||
controlID: 2473
|
||||
controlID: 3533
|
||||
--- !u!114 &6
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
|
@ -137,10 +137,10 @@ MonoBehaviour:
|
|||
y: 0
|
||||
width: 1414
|
||||
height: 947
|
||||
m_MinSize: {x: 403, y: 492}
|
||||
m_MinSize: {x: 402, y: 492}
|
||||
m_MaxSize: {x: 10001, y: 14042}
|
||||
vertical: 1
|
||||
controlID: 2478
|
||||
controlID: 3534
|
||||
--- !u!114 &7
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
|
@ -162,10 +162,10 @@ MonoBehaviour:
|
|||
y: 0
|
||||
width: 1414
|
||||
height: 671
|
||||
m_MinSize: {x: 403, y: 221}
|
||||
m_MaxSize: {x: 8003, y: 4021}
|
||||
m_MinSize: {x: 402, y: 221}
|
||||
m_MaxSize: {x: 8002, y: 4021}
|
||||
vertical: 0
|
||||
controlID: 2479
|
||||
controlID: 3535
|
||||
--- !u!114 &8
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
|
@ -398,7 +398,7 @@ MonoBehaviour:
|
|||
scrollPos: {x: 0, y: 0}
|
||||
m_SelectedIDs:
|
||||
m_LastClickedID: 0
|
||||
m_ExpandedIDs: 28a2feff3ca2feffe2a2feff62fbffff7a3d0000a83d000010410000b4420000
|
||||
m_ExpandedIDs: 74a0fcff88a0fcff2ea1fcff4cfbffffbc420000
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
|
@ -1115,9 +1115,9 @@ MonoBehaviour:
|
|||
m_IsLocked: 0
|
||||
m_FolderTreeState:
|
||||
scrollPos: {x: 0, y: 143}
|
||||
m_SelectedIDs: 464e0000
|
||||
m_LastClickedID: 20038
|
||||
m_ExpandedIDs: 000000003a4e00003c4e00003e4e0000404e0000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e000000ca9a3b
|
||||
m_SelectedIDs: 4e4e0000
|
||||
m_LastClickedID: 20046
|
||||
m_ExpandedIDs: 00000000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e0000524e0000544e0000564e0000584e000000ca9a3b
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
|
@ -1145,7 +1145,7 @@ MonoBehaviour:
|
|||
scrollPos: {x: 0, y: 0}
|
||||
m_SelectedIDs:
|
||||
m_LastClickedID: 0
|
||||
m_ExpandedIDs: 000000003a4e00003c4e00003e4e0000404e0000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e000000ca9a3b
|
||||
m_ExpandedIDs: 00000000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e0000524e0000544e0000564e0000584e000000ca9a3b
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
|
@ -1295,4 +1295,4 @@ MonoBehaviour:
|
|||
m_PrefName: Preview_InspectorPreview
|
||||
m_PreviewWindow: {fileID: 0}
|
||||
m_LastInspectedObjectInstanceID: -1
|
||||
m_LastVerticalScrollValue: 100
|
||||
m_LastVerticalScrollValue: 0
|
||||
|
|
|
@ -21,10 +21,10 @@ MonoBehaviour:
|
|||
y: 30
|
||||
width: 1920
|
||||
height: 947
|
||||
m_MinSize: {x: 679, y: 492}
|
||||
m_MaxSize: {x: 14002, y: 14042}
|
||||
m_MinSize: {x: 677, y: 492}
|
||||
m_MaxSize: {x: 14001, y: 14042}
|
||||
vertical: 0
|
||||
controlID: 2139
|
||||
controlID: 3438
|
||||
--- !u!114 &2
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
|
@ -138,10 +138,10 @@ MonoBehaviour:
|
|||
y: 0
|
||||
width: 1414
|
||||
height: 947
|
||||
m_MinSize: {x: 403, y: 492}
|
||||
m_MinSize: {x: 402, y: 492}
|
||||
m_MaxSize: {x: 10001, y: 14042}
|
||||
vertical: 1
|
||||
controlID: 2140
|
||||
controlID: 3439
|
||||
--- !u!114 &4
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
|
@ -163,10 +163,10 @@ MonoBehaviour:
|
|||
y: 0
|
||||
width: 1414
|
||||
height: 671
|
||||
m_MinSize: {x: 403, y: 221}
|
||||
m_MaxSize: {x: 8003, y: 4021}
|
||||
m_MinSize: {x: 402, y: 221}
|
||||
m_MaxSize: {x: 8002, y: 4021}
|
||||
vertical: 0
|
||||
controlID: 2141
|
||||
controlID: 3440
|
||||
--- !u!114 &5
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 52
|
||||
|
@ -186,8 +186,8 @@ MonoBehaviour:
|
|||
y: 0
|
||||
width: 337
|
||||
height: 671
|
||||
m_MinSize: {x: 201, y: 221}
|
||||
m_MaxSize: {x: 4001, y: 4021}
|
||||
m_MinSize: {x: 200, y: 200}
|
||||
m_MaxSize: {x: 4000, y: 4000}
|
||||
m_ActualView: {fileID: 6}
|
||||
m_Panes:
|
||||
- {fileID: 6}
|
||||
|
@ -224,7 +224,7 @@ MonoBehaviour:
|
|||
scrollPos: {x: 0, y: 0}
|
||||
m_SelectedIDs:
|
||||
m_LastClickedID: 0
|
||||
m_ExpandedIDs: 62fbffff7a3d0000a83d000010410000b4420000
|
||||
m_ExpandedIDs: 4cfbffffbc420000
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
|
@ -939,8 +939,8 @@ MonoBehaviour:
|
|||
y: 671
|
||||
width: 1414
|
||||
height: 276
|
||||
m_MinSize: {x: 231, y: 271}
|
||||
m_MaxSize: {x: 10001, y: 10021}
|
||||
m_MinSize: {x: 230, y: 250}
|
||||
m_MaxSize: {x: 10000, y: 10000}
|
||||
m_ActualView: {fileID: 12}
|
||||
m_Panes:
|
||||
- {fileID: 12}
|
||||
|
@ -998,9 +998,9 @@ MonoBehaviour:
|
|||
m_IsLocked: 0
|
||||
m_FolderTreeState:
|
||||
scrollPos: {x: 0, y: 143}
|
||||
m_SelectedIDs: 464e0000
|
||||
m_LastClickedID: 20038
|
||||
m_ExpandedIDs: 000000003a4e00003c4e00003e4e0000404e0000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e000000ca9a3b
|
||||
m_SelectedIDs: 4e4e0000
|
||||
m_LastClickedID: 20046
|
||||
m_ExpandedIDs: 00000000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e0000524e0000544e0000564e0000584e000000ca9a3b
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
|
@ -1028,7 +1028,7 @@ MonoBehaviour:
|
|||
scrollPos: {x: 0, y: 0}
|
||||
m_SelectedIDs:
|
||||
m_LastClickedID: 0
|
||||
m_ExpandedIDs: 000000003a4e00003c4e00003e4e0000404e0000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e000000ca9a3b
|
||||
m_ExpandedIDs: 00000000424e0000444e0000464e0000484e00004a4e00004c4e00004e4e0000504e0000524e0000544e0000564e0000584e000000ca9a3b
|
||||
m_RenameOverlay:
|
||||
m_UserAcceptedRename: 0
|
||||
m_Name:
|
||||
|
@ -1053,8 +1053,8 @@ MonoBehaviour:
|
|||
m_Icon: {fileID: 0}
|
||||
m_ResourceFile:
|
||||
m_ListAreaState:
|
||||
m_SelectedInstanceIDs: ec440000
|
||||
m_LastClickedInstanceID: 17644
|
||||
m_SelectedInstanceIDs:
|
||||
m_LastClickedInstanceID: 0
|
||||
m_HadKeyboardFocusLastEvent: 0
|
||||
m_ExpandedInstanceIDs: c6230000303a0000063a0000a83d00005c66000000870000f8860000004a00004a4600000c430000004900007e9800000249000086980000000000007a140100
|
||||
m_RenameOverlay:
|
||||
|
@ -1203,5 +1203,5 @@ MonoBehaviour:
|
|||
m_ControlHash: -371814159
|
||||
m_PrefName: Preview_InspectorPreview
|
||||
m_PreviewWindow: {fileID: 0}
|
||||
m_LastInspectedObjectInstanceID: 17644
|
||||
m_LastVerticalScrollValue: 100
|
||||
m_LastInspectedObjectInstanceID: -1
|
||||
m_LastVerticalScrollValue: 0
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -130,129 +130,129 @@ ScriptsOnlyBuild:
|
|||
- Class: 114
|
||||
Script: {instanceID: 11264}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11268}
|
||||
Script: {instanceID: 11270}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11292}
|
||||
Script: {instanceID: 11294}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11450}
|
||||
Script: {instanceID: 11452}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11504}
|
||||
Script: {instanceID: 11506}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11580}
|
||||
Script: {instanceID: 11582}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11592}
|
||||
Script: {instanceID: 11594}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11606}
|
||||
Script: {instanceID: 11608}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11660}
|
||||
Script: {instanceID: 11662}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11734}
|
||||
Script: {instanceID: 11736}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11760}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11764}
|
||||
Script: {instanceID: 11762}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11766}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11774}
|
||||
Script: {instanceID: 11768}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11784}
|
||||
Script: {instanceID: 11776}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11806}
|
||||
Script: {instanceID: 11786}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11870}
|
||||
Script: {instanceID: 11808}
|
||||
- Class: 114
|
||||
Script: {instanceID: 11876}
|
||||
Script: {instanceID: 11872}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12144}
|
||||
Script: {instanceID: 11878}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12180}
|
||||
Script: {instanceID: 12146}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12324}
|
||||
Script: {instanceID: 12182}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12348}
|
||||
Script: {instanceID: 12326}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12364}
|
||||
Script: {instanceID: 12350}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12434}
|
||||
Script: {instanceID: 12366}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12614}
|
||||
Script: {instanceID: 12436}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12638}
|
||||
Script: {instanceID: 12616}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12756}
|
||||
Script: {instanceID: 12640}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12880}
|
||||
Script: {instanceID: 12758}
|
||||
- Class: 114
|
||||
Script: {instanceID: 12924}
|
||||
Script: {instanceID: 12882}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13174}
|
||||
Script: {instanceID: 12926}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13200}
|
||||
Script: {instanceID: 13176}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13240}
|
||||
Script: {instanceID: 13202}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13250}
|
||||
Script: {instanceID: 13242}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13260}
|
||||
Script: {instanceID: 13252}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13270}
|
||||
Script: {instanceID: 13262}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13372}
|
||||
Script: {instanceID: 13272}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13390}
|
||||
Script: {instanceID: 13374}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13392}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13426}
|
||||
Script: {instanceID: 13394}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13466}
|
||||
Script: {instanceID: 13428}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13482}
|
||||
Script: {instanceID: 13468}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13498}
|
||||
Script: {instanceID: 13484}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13510}
|
||||
Script: {instanceID: 13500}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13514}
|
||||
Script: {instanceID: 13512}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13550}
|
||||
Script: {instanceID: 13516}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13682}
|
||||
Script: {instanceID: 13552}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13708}
|
||||
Script: {instanceID: 13684}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13840}
|
||||
Script: {instanceID: 13710}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13914}
|
||||
Script: {instanceID: 13842}
|
||||
- Class: 114
|
||||
Script: {instanceID: 13918}
|
||||
Script: {instanceID: 13916}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14046}
|
||||
Script: {instanceID: 13920}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14110}
|
||||
Script: {instanceID: 14048}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14206}
|
||||
Script: {instanceID: 14112}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14356}
|
||||
Script: {instanceID: 14208}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14504}
|
||||
Script: {instanceID: 14358}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14530}
|
||||
Script: {instanceID: 14506}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14532}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14564}
|
||||
Script: {instanceID: 14534}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14586}
|
||||
Script: {instanceID: 14566}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14588}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14628}
|
||||
Script: {instanceID: 14590}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14634}
|
||||
Script: {instanceID: 14630}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14676}
|
||||
Script: {instanceID: 14636}
|
||||
- Class: 114
|
||||
Script: {instanceID: 14678}
|
||||
- Class: 115
|
||||
Script: {instanceID: 0}
|
||||
- Class: 128
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
Base path: 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data', plugins path 'C:/Program Files/Unity/Hub/Editor/2019.4.20f1/Editor/Data/PlaybackEngines'
|
||||
Cmd: initializeCompiler
|
||||
|
||||
Quitting shader compiler process
|
||||
|
|
Loading…
Reference in a new issue