Closes #167 02.Combat 씬 재작업

+ Test하던 Scene들을 삭제하고 02.Combat 씬에 전투 맵을 최신화 했습니다.
+ 주인공 캐릭터의 크기를 변경했습니다. (1 -> 0.7)
+ 카메라의 거리를 변경했습니다. (40 -> 30)
+ 주인공 대시 속도를 변경했습니다. (30 -> 20)
+ 주인공 등반 각도를 변경했습니다. (50 -> 30)
+ 기존의 맵에서 y축 높이를 1/2로 줄였습니다.
+ ForestArea, DesertBossArea 두 지역에 대해서 레이어, 콜라이더, 하이어라키를 정리했습니다.
+ 플레이 중 우측 상단의 버튼을 통해서 임시로 위치를 텔레포트하는 기능을 추가했습니다.
+ 하이어라키에서 오브젝트를 이름순으로 정렬하는 기능을 추가했습니다.
(Tools -> Sort Chilren By Name - 선택된 1개 오브젝트의 하위 오브젝트 정리)
(Tools -> Sort Children of Selected Objects by Name - 선택된 모든 오브젝트의 하위 오브젝트 정리)
This commit is contained in:
NTG 2024-01-30 11:49:41 +09:00
parent d8f16422cc
commit 1731b9ad82
12 changed files with 503444 additions and 174713 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
fileFormatVersion: 2 fileFormatVersion: 2
guid: 677ac36ad44604e7fbfbc0eeaa21cfdf guid: 582499a878bef2042813821bcb07754e
DefaultImporter: DefaultImporter:
externalObjects: {} externalObjects: {}
userData: userData:

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +0,0 @@
fileFormatVersion: 2
guid: 2a855a170265c8348a1b4e2763c272d6
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -2,6 +2,7 @@ using System;
using System.Collections; using System.Collections;
using Sirenix.OdinInspector; using Sirenix.OdinInspector;
using UnityEngine; using UnityEngine;
using UnityEngine.EventSystems;
using UnityEngine.InputSystem; using UnityEngine.InputSystem;
// ReSharper disable once CheckNamespace // ReSharper disable once CheckNamespace

View File

@ -21,6 +21,7 @@ namespace BlueWaterProject
public Rigidbody rb; public Rigidbody rb;
[ShowIf("@false")] [ShowIf("@false")]
public Animator animator; public Animator animator;
public Transform[] spawnPosition;
} }
[Serializable] [Serializable]
@ -503,6 +504,24 @@ namespace BlueWaterProject
new Rect(sWidth - 180f, yPos + 10f, 160f, 20f), Time.timeScale, 0f, 1f); new Rect(sWidth - 180f, yPos + 10f, 160f, 20f), Time.timeScale, 0f, 1f);
Time.fixedDeltaTime = 0.02f * Time.timeScale; Time.fixedDeltaTime = 0.02f * Time.timeScale;
yPos = 130f;
var buttonWidth = 200f;
var buttonHeight = 30f;
var buttonSpacing = 35f;
var buttonStyle = GUI.skin.button;
buttonStyle.fontSize = 15;
var spawnPosition = MyComponents.spawnPosition;
for (var i = 0; i < spawnPosition.Length; i++)
{
if (GUI.Button(new Rect(sWidth - 350f, yPos, buttonWidth, buttonHeight), spawnPosition[i].name, buttonStyle))
{
Move(spawnPosition[i].position);
}
yPos += buttonSpacing;
}
labelStyle.fontSize = Math.Max(guiTextSize, 20); labelStyle.fontSize = Math.Max(guiTextSize, 20);
} }

View File

@ -44,7 +44,7 @@ namespace BlueWaterProject
if (!theWaltzOfTheSword.isMovingCamera) if (!theWaltzOfTheSword.isMovingCamera)
{ {
CameraManager.Inst.CombatCamera.SetFollow(null); CameraManager.Inst.CombatCamera.SetFollowAndLookAt(null);
} }
combatPlayerController.SetUseGravity(false); combatPlayerController.SetUseGravity(false);
combatPlayerController.SetIsTrigger(true); combatPlayerController.SetIsTrigger(true);
@ -92,7 +92,7 @@ namespace BlueWaterProject
if (!theWaltzOfTheSword.isMovingCamera) if (!theWaltzOfTheSword.isMovingCamera)
{ {
var userTransform = theWaltzOfTheSword.SkillInputData.playerCollider.transform; var userTransform = theWaltzOfTheSword.SkillInputData.playerCollider.transform;
CameraManager.Inst.CombatCamera.SetFollow(userTransform); CameraManager.Inst.CombatCamera.SetFollowAndLookAt(userTransform);
} }
combatPlayerController.SetIsTrigger(false); combatPlayerController.SetIsTrigger(false);

View File

@ -62,9 +62,10 @@ namespace BlueWaterProject
CameraManager.Inst.MainCam = Camera.main; CameraManager.Inst.MainCam = Camera.main;
} }
public void SetFollow(Transform target) public void SetFollowAndLookAt(Transform target)
{ {
BaseCombatCamera.Follow = target; BaseCombatCamera.Follow = target;
BaseCombatCamera.LookAt = target;
} }
} }
} }

View File

@ -0,0 +1,48 @@
using UnityEngine;
using UnityEditor;
using System.Linq;
// ReSharper disable once CheckNamespace
namespace BlueWaterProject
{
public class HierarchySorter : EditorWindow
{
[MenuItem("Tools/Sort Children by Name")]
private static void SortChildrenByName()
{
if (Selection.activeTransform != null)
{
Undo.RecordObject(Selection.activeTransform.gameObject, "Sort Children by Name");
var children = Selection.activeTransform.Cast<Transform>().OrderBy(t => t.name).ToList();
for (var i = 0; i < children.Count; i++)
{
children[i].SetSiblingIndex(i);
}
EditorUtility.SetDirty(Selection.activeTransform.gameObject);
}
else
{
Debug.LogError("No object selected in the hierarchy");
}
}
[MenuItem("Tools/Sort Children of Selected Objects by Name")]
private static void SortChildrenOfSelectedObjectsByName()
{
foreach (var parentTransform in Selection.transforms)
{
Undo.RecordObject(parentTransform.gameObject, "Sort Children by Name");
var children = parentTransform.Cast<Transform>().OrderBy(t => t.name).ToList();
for (var i = 0; i < children.Count; i++)
{
children[i].SetSiblingIndex(i);
}
EditorUtility.SetDirty(parentTransform.gameObject);
}
}
}
}

View File

@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 5f5d52c66b57d5a47895ef8c5edf9a0d

View File

@ -154,8 +154,8 @@ Transform:
serializedVersion: 2 serializedVersion: 2
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1} m_LocalScale: {x: 0.7, y: 0.7, z: 0.7}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 8557381169392297019} - {fileID: 8557381169392297019}
- {fileID: 1638774919638391188} - {fileID: 1638774919638391188}
@ -304,8 +304,8 @@ MonoBehaviour:
groundCheckThreshold: 0.01 groundCheckThreshold: 0.01
<MyMovementOption>k__BackingField: <MyMovementOption>k__BackingField:
moveSpeed: 10 moveSpeed: 10
maxSlopeAngle: 50 maxSlopeAngle: 30
dashSpeed: 30 dashSpeed: 20
dashTime: 0.2 dashTime: 0.2
dashCooldown: 0.5 dashCooldown: 0.5
<MyCurrentState>k__BackingField: <MyCurrentState>k__BackingField:

View File

@ -19,9 +19,10 @@ TagManager:
- DestructiveSkill - DestructiveSkill
- Ship - Ship
- Water - Water
- DestructiveObject
- ShipPlayer - ShipPlayer
- Boids - Boids
- DestructibleObject
- IndestructiveObject
layers: layers:
- Default - Default
- TransparentFX - TransparentFX
@ -44,8 +45,8 @@ TagManager:
- -
- -
- -
- Props - CollidableProps
- Wall - NonCollidableProps
- -
- -
- Skill - Skill