Files
Project-M/Assets/Synty/Tools/SyntyPropBoneTool/Utils/TransformUtil.cs
T
kronic 7571091394 LANTERN feel pass (DR-052 + gap list): SoD facing, underwater feel, Bathynaut kit, walk/run gait, suit lamp + new Synty anim packs
- SoD facing: PlayerFacing = body-yaw only (move-facing / cast-turn / idle-hold); every fire
  direction re-sourced to FacingMath.ResolveAim (pre-code review blocking catch); TickWindowMath
  shared windows with Movement-skip; reticle/FX coupled to the damage direction; cursor-dash kept.
- Underwater feel: sharpness 15->6, turn 720->360, MoveSpeed 6->4.2; TuningKnob 26-28
  (0 = no-override sentinels, dev-protocol bump on DebugTuningReport); stride footsteps + silt +
  cadence floor; bubbles; underwater ambience bed + distant groans; camera drag + dev scroll zoom.
- Bathynaut kit in-engine: dome/tank/shoulder-lamp + bare head grafted (GraftSmr rigid rebase,
  RecalculateTangents); EmissiveGloamSkinned shader (Rukhanka deformation); shoulder lamp CASTS
  (warm steady spot on body yaw).
- Gait: two-ring walk/run FreeformDirectional tree (walk @0.35, run @1.0) + blended-natural
  StrideScale; additive Posture(Bank) + Lead(chest-lead) layers; idle = AnimationIdles Base;
  banking driven from facing turn rate; flat terrain (Env_SeabedKit seabed squashed - CC is planar).
- New packs: Synty AnimationIdles + AnimationSwordCombat (combat pass queued) + SyntyPropBoneTool;
  four authored clips (sway/trudge/banks/lean) + Anim_Player_Underwater.blend + suit-kit FBX.
- Validation: 411/411 EditMode green; Play smokes (server==client facing, Aim-true projectile,
  bank/stride live-sampled, lamp beam verified); pre-code + post-impl adversarial reviews applied.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 13:56:02 -07:00

49 lines
1.6 KiB
C#

// Copyright (c) 2024 Synty Studios Limited. All rights reserved.
//
// Use of this software is subject to the terms and conditions of the Synty Studios End User Licence Agreement (EULA)
// available at: https://syntystore.com/pages/end-user-licence-agreement
//
// For additional details, see the LICENSE.MD file bundled with this software.
using UnityEngine;
namespace Synty.Tools.SyntyPropBoneTool
{
/// <summary>
/// Helper class containing helpful functions relating to Transform objects.
/// </summary>
public static class TransformUtil
{
/// <summary>
/// Performs a depth first recursive searche of the hierarchy to find a transform with the searchName.
/// </summary>
/// <param name="node">The current node in the recursive search.</param>
/// <param name="searchName">The name of the node to find.</param>
/// <returns>A <c>Transform</c> that is the first match to the searchName or null if no match is found.</returns>
public static Transform SearchHierarchy(Transform node, string searchName)
{
if (node == null)
{
return null;
}
if (node.name == searchName)
{
return node;
}
Transform result = null;
for (int childIndex = 0; childIndex < node.childCount; childIndex++)
{
result = SearchHierarchy(node.GetChild(childIndex), searchName);
if (result != null)
{
break;
}
}
return result;
}
}
}