necroview: осмотр рук первого лица со стороны, поза замирает; DLL с хватом для нитей

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
AlexCube
2026-10-16 23:00:51 +03:00
co-authored by Claude Opus 5.5
parent a0e93744ed
commit fc1fa53736
3 changed files with 159 additions and 1 deletions
+13 -1
View File
@@ -76,6 +76,8 @@ namespace NecromancerTome
/// положение ВСЕХ костей под Hips, и каждый кадр они возвращаются на место, а поверх - поза.
/// Снимок только в покое аниматора (ItemActionIndex = -1), иначе застыл бы кадр удара.</summary>
public static bool Freeze = true;
/// <summary>Замереть без своего хвата - на время осмотра со стороны (NecroView).</summary>
public static bool HoldStill;
static readonly List<Transform> _frozen = new List<Transform>();
static readonly List<Vector3> _frozenPos = new List<Vector3>();
static readonly List<Quaternion> _frozenRot = new List<Quaternion>();
@@ -87,6 +89,7 @@ namespace NecromancerTome
{
Enabled = false;
KnifeToLeft = false;
NecroView.Stop();
Overrides.Clear();
CamOverrides.Clear();
_jabStart = -1f;
@@ -143,10 +146,18 @@ namespace NecromancerTome
{
if (!Enabled || Overrides.Count == 0 && CamOverrides.Count == 0)
{
if (_frozen.Count > 0)
if (HoldStill)
{
FreezeBones(); // осмотр со стороны (necroview): поза замирает и без своего хвата
}
else if (_frozen.Count > 0)
{
Unfreeze();
}
if (KnifeToLeft && Enabled)
{
ApplyKnifeToLeft();
}
return;
}
if (Freeze)
@@ -435,6 +446,7 @@ namespace NecromancerTome
HandHolds.Update();
HandPose.Apply();
HeldTweak.Apply();
NecroView.Update();
}
}