Add practice range: shooting, AK47, intro cinematic, dressed warehouse scene

- PortalTestDestination practice range: Valorant-style hitscan rifle (recoil,
  spray/bloom, reload, controller support), debug HUD, practice-dummy targets
  with head/body hitboxes, hit/death/respawn animations, procedural SFX/FX
- AK47 model (Quaternius, CC0) held via Animator IK, with fire/reload/equip anims
- Intro cinematic (camera shots, title card, target beam-in, GO hand-off)
- Scene dressing editor pass: CC0 textures, props, warehouse roof, lighting and
  post-processing; custom stylized skybox shader
- CharacterMovement: camera recoil, shoulder offset, cinematic control lock
- Unity CLI pipeline package; plus in-progress chat/Rive/player changes

Asset credits: Assets/Models/Props/PROPS_CREDITS.txt (3 CC-BY 3.0 props),
Assets/Textures/Range/TEXTURES_LICENSE.txt, Assets/Resources/*/..._LICENSE.txt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
pelpanagiotis
2026-09-25 08:56:35 +03:00
co-authored by Claude Opus 5.5
parent c674d76549
commit 5fc9ebf1e6
211 changed files with 34492 additions and 177 deletions
+7 -1
View File
@@ -1,6 +1,7 @@
using UnityEngine;
using Mirror;
using System.Collections.Generic;
using UnityEngine.SceneManagement;
[AddComponentMenu("")]
public class ChatNetworkManager : NetworkManager
@@ -21,6 +22,8 @@ public class ChatNetworkManager : NetworkManager
public override void OnServerDisconnect(NetworkConnectionToClient conn)
{
Debug.Log($"[ChatNetworkManager] Server disconnecting connection {conn.connectionId}. Active scene: '{SceneManager.GetActiveScene().name}'");
if (conn.authenticationData != null)
ChatAuthenticator.playerNames.Remove((string)conn.authenticationData);
@@ -31,6 +34,7 @@ public class ChatNetworkManager : NetworkManager
public override void OnClientDisconnect()
{
Debug.Log($"[ChatNetworkManager] Client disconnected. Active scene: '{SceneManager.GetActiveScene().name}'");
base.OnClientDisconnect();
// Destroy ChatUI instance when disconnecting
@@ -53,7 +57,7 @@ public class ChatNetworkManager : NetworkManager
{
base.OnClientConnect();
Debug.Log("ChatNetworkManager: OnClientConnect called");
Debug.Log($"[ChatNetworkManager] OnClientConnect called. Active scene: '{SceneManager.GetActiveScene().name}'");
// Spawn ChatUI prefab locally when client successfully connects
if (chatUIPrefab == null)
@@ -89,6 +93,8 @@ public class ChatNetworkManager : NetworkManager
if (riveLoginCanvas != null)
riveLoginCanvas.SetActive(false);
Debug.Log($"[ChatNetworkManager] Client connection setup completed. Active scene: '{SceneManager.GetActiveScene().name}'");
}
[Server]