#29 유닛 이동 방식 수정 중

1. IDamageable 인터페이스 수정
2. Ai 프리팹 크기 변경, 깃발 LookAt 추가
3. Boat 공격 선택 매개변수 제거
This commit is contained in:
NTG_Lenovo 2023-08-31 16:38:08 +09:00
parent 09c56b52f9
commit dc00036723
36 changed files with 324 additions and 244 deletions

View File

@ -6,6 +6,7 @@ using Sirenix.OdinInspector;
using Unity.VisualScripting; using Unity.VisualScripting;
using UnityEngine; using UnityEngine;
using UnityEngine.AI; using UnityEngine.AI;
using UnityEngine.Animations;
using Random = UnityEngine.Random; using Random = UnityEngine.Random;
// ReSharper disable once CheckNamespace // ReSharper disable once CheckNamespace
@ -69,13 +70,12 @@ namespace BlueWaterProject
[SerializeField] protected Color mouseEnterHighlightSkinColor = Color.white; [SerializeField] protected Color mouseEnterHighlightSkinColor = Color.white;
[Tooltip("캐릭터가 선택되었을 때 색상")] [Tooltip("캐릭터가 선택되었을 때 색상")]
[SerializeField] protected Color selectedSkinColor = Color.blue; [SerializeField] protected Color selectedSkinColor = Color.red;
[DisableIf("@true")] [DisableIf("@true")]
[SerializeField] private IslandInfo islandInfo; [SerializeField] private IslandInfo islandInfo;
protected bool isAttacking; protected bool isAttacking;
private Vector3 commandedPos;
protected Transform backpackContainer; protected Transform backpackContainer;
protected Transform leftWeaponContainer; protected Transform leftWeaponContainer;
@ -91,7 +91,8 @@ namespace BlueWaterProject
private UnitController mouseEnterUnitController; private UnitController mouseEnterUnitController;
private UnitSelection unitSelection; private UnitSelection unitSelection;
private CapsuleCollider myCollider; private CapsuleCollider myCollider;
private CapsuleCollider hitBoxCollider; private LookAtConstraint lookAtConstraint;
protected CapsuleCollider hitBoxCollider;
protected CloseWeapon closeWeapon; protected CloseWeapon closeWeapon;
private static readonly int SpeedHash = Animator.StringToHash("Speed"); private static readonly int SpeedHash = Animator.StringToHash("Speed");
@ -103,6 +104,7 @@ namespace BlueWaterProject
private static readonly int OutlineColorHash = Shader.PropertyToID("_OutlineColor"); private static readonly int OutlineColorHash = Shader.PropertyToID("_OutlineColor");
protected static readonly WaitForSeconds FindTargetWaitTime = new(0.5f); protected static readonly WaitForSeconds FindTargetWaitTime = new(0.5f);
private static readonly WaitForSeconds CheckAgentArriveTime = new(0.1f);
#endregion #endregion
@ -117,7 +119,6 @@ namespace BlueWaterProject
protected virtual void Awake() protected virtual void Awake()
{ {
FindMaterial();
InitComponent(); InitComponent();
} }
@ -142,28 +143,30 @@ namespace BlueWaterProject
private void FixedUpdate() private void FixedUpdate()
{ {
UpdateLookAtTarget(); UpdateLookAtTarget();
UpdateMovement();
} }
private void OnMouseEnter() private void OnMouseEnter()
{ {
if (AiStat.AiType == AiType.ENEMY) return;
mouseEnterUnitController = gameObject.GetComponentInParent<UnitController>(); mouseEnterUnitController = gameObject.GetComponentInParent<UnitController>();
if (mouseEnterUnitController == unitSelection.SelectedUnitController) return; if (mouseEnterUnitController == unitSelection.SelectedUnitController) return;
foreach (var soldier in mouseEnterUnitController.unit.UnitList) foreach (var unit in mouseEnterUnitController.unit.UnitList)
{ {
soldier.MouseEnterHighlight(); unit.MouseEnterHighlight();
} }
} }
private void OnMouseExit() private void OnMouseExit()
{ {
if (!mouseEnterUnitController || mouseEnterUnitController == unitSelection.SelectedUnitController) return; if (AiStat.AiType == AiType.ENEMY ||
!mouseEnterUnitController || mouseEnterUnitController == unitSelection.SelectedUnitController) return;
foreach (var soldier in mouseEnterUnitController.unit.UnitList) foreach (var unit in mouseEnterUnitController.unit.UnitList)
{ {
soldier.ResetHighlight(); unit.ResetHighlight();
} }
mouseEnterUnitController = null; mouseEnterUnitController = null;
@ -182,7 +185,7 @@ namespace BlueWaterProject
public float GetCurrentHp() => AiStat.CurrentHp; public float GetCurrentHp() => AiStat.CurrentHp;
public void SetCurrentHp(float value) => AiStat.CurrentHp = value; public void SetCurrentHp(float value) => AiStat.CurrentHp = value;
public void TakeDamage(AiStat attacker, AiStat defender, Vector3? attackPos = null) public void TakeDamage(float attackerPower, float attackerShieldPenetrationRate, Vector3? attackPos = null)
{ {
if (!TargetTransform && attackPos != null) if (!TargetTransform && attackPos != null)
{ {
@ -190,13 +193,13 @@ namespace BlueWaterProject
} }
// 회피 성공 체크 // 회피 성공 체크
if (Random.Range(0, 100) < defender.AvoidanceRate) if (Random.Range(0, 100) < AiStat.AvoidanceRate)
{ {
// TODO : 회피 처리 // TODO : 회피 처리
return; return;
} }
var finalDamage = Utils.CalcDamage(attacker, defender); var finalDamage = Utils.CalcDamage(attackerPower, attackerShieldPenetrationRate, AiStat);
// 방패 막기 체크 // 방패 막기 체크
if (finalDamage == 0f) if (finalDamage == 0f)
@ -204,7 +207,7 @@ namespace BlueWaterProject
aiAnimator.SetTrigger(ShieldHash); aiAnimator.SetTrigger(ShieldHash);
return; return;
} }
var changeHp = Mathf.Max(defender.CurrentHp - finalDamage, 0); var changeHp = Mathf.Max(AiStat.CurrentHp - finalDamage, 0);
SetCurrentHp(changeHp); SetCurrentHp(changeHp);
// 죽었는지 체크 // 죽었는지 체크
@ -403,26 +406,6 @@ namespace BlueWaterProject
[field: SerializeField] public bool IsCommanded { get; set; } [field: SerializeField] public bool IsCommanded { get; set; }
public void UpdateMovement()
{
// if (IsCommanded)
// {
// if (navMeshAgent.destination == commandedPos)
// {
// if (navMeshAgent.remainingDistance <= navMeshAgent.stoppingDistance)
// {
// IsCommanded = false;
// }
// }
// else
// {
// if (isAttacking) return;
//
// navMeshAgent.SetDestination(commandedPos);
// }
// }
}
public void BeAttackedMovement(Vector3 attackPos) public void BeAttackedMovement(Vector3 attackPos)
{ {
if (TargetTransform) return; if (TargetTransform) return;
@ -444,10 +427,29 @@ namespace BlueWaterProject
} }
} }
public void MoveTarget(Vector3 targetPos) public void CommandMove(Vector3 targetPos)
{ {
IsCommanded = true; StartCoroutine(CommandMoveCoroutine(targetPos));
commandedPos = targetPos; }
public IEnumerator CommandMoveCoroutine(Vector3 targetPos)
{
while (isAttacking)
{
yield return null;
}
if (Utils.SetCloseDestination(navMeshAgent, targetPos, 0.5f, 1f))
{
IsCommanded = true;
}
while (navMeshAgent.pathPending || navMeshAgent.remainingDistance > navMeshAgent.stoppingDistance)
{
yield return CheckAgentArriveTime;
}
IsCommanded = false;
} }
#endregion #endregion
@ -477,13 +479,21 @@ namespace BlueWaterProject
navMeshAgent = Utils.GetComponentAndAssert<NavMeshAgent>(transform); navMeshAgent = Utils.GetComponentAndAssert<NavMeshAgent>(transform);
myUnitController = Utils.GetComponentAndAssert<UnitController>(transform.parent); myUnitController = Utils.GetComponentAndAssert<UnitController>(transform.parent);
myCollider = Utils.GetComponentAndAssert<CapsuleCollider>(transform); myCollider = Utils.GetComponentAndAssert<CapsuleCollider>(transform);
lookAtConstraint = Utils.GetComponentAndAssert<LookAtConstraint>(flagContainer);
hitBoxCollider = Utils.GetComponentAndAssert<CapsuleCollider>(transform.Find("HitBox")); hitBoxCollider = Utils.GetComponentAndAssert<CapsuleCollider>(transform.Find("HitBox"));
unitSelection = FindObjectOfType<UnitSelection>(); unitSelection = FindObjectOfType<UnitSelection>();
var source = new ConstraintSource();
source.sourceTransform = Camera.main.transform;
source.weight = 1f;
lookAtConstraint.AddSource(source);
lookAtConstraint.constraintActive = true;
} }
private void InitStart() private void InitStart()
{ {
InitViewModel(); InitViewModel();
FindMaterial();
SetLayer(); SetLayer();
SetCurrentHp(AiStat.MaxHp); SetCurrentHp(AiStat.MaxHp);
SetMoveSpeed(AiStat.MoveSpd); SetMoveSpeed(AiStat.MoveSpd);

View File

@ -73,6 +73,38 @@ namespace BlueWaterProject
#region Custom function #region Custom function
protected override void SetLayer()
{
switch (AiStat.AiType)
{
case AiType.NONE:
break;
case AiType.PLAYER:
gameObject.layer = LayerMask.NameToLayer("Player");
hitBoxCollider.gameObject.layer = LayerMask.NameToLayer("Player");
TargetLayer = LayerMask.GetMask("Enemy");
archerLayer = LayerMask.GetMask("Ground") | LayerMask.GetMask("Water") |
LayerMask.GetMask("Enemy") | LayerMask.GetMask("Props");
break;
case AiType.PIRATE:
gameObject.layer = LayerMask.NameToLayer("Pirate");
hitBoxCollider.gameObject.layer = LayerMask.NameToLayer("Pirate");
TargetLayer = LayerMask.GetMask("Enemy");
archerLayer = LayerMask.GetMask("Ground") | LayerMask.GetMask("Water") |
LayerMask.GetMask("Enemy") | LayerMask.GetMask("Props");
break;
case AiType.ENEMY:
gameObject.layer = LayerMask.NameToLayer("Enemy");
hitBoxCollider.gameObject.layer = LayerMask.NameToLayer("Enemy");
TargetLayer = LayerMask.GetMask("Player") | LayerMask.GetMask("Pirate") | LayerMask.GetMask("Props");
archerLayer = LayerMask.GetMask("Ground") | LayerMask.GetMask("Water") |
LayerMask.GetMask("Player") | LayerMask.GetMask("Pirate") | LayerMask.GetMask("Props");
break;
default:
throw new ArgumentOutOfRangeException();
}
}
public override void UpdateLookAtTarget() public override void UpdateLookAtTarget()
{ {
if (TargetTransform) if (TargetTransform)

View File

@ -129,9 +129,41 @@ namespace BlueWaterProject
public void MoveCommand(Vector3 targetPos) public void MoveCommand(Vector3 targetPos)
{ {
foreach (var soldier in unit.UnitList) var gridSize = 0;
switch (unit.SailorCount)
{ {
soldier.MoveTarget(targetPos); case 0:
gridSize = 1;
break;
case <= 3:
gridSize = 2;
break;
case <= 8:
gridSize = 3;
break;
case <= 15:
gridSize = 4;
break;
default:
print("유닛의 병사 숫자 설정 에러");
break;
}
for (var i = 0; i < gridSize; i++)
{
for (var j = 0; j < gridSize; j++)
{
var currentPos = i * gridSize + j;
if (currentPos > unit.SailorCount) break;
var zOffset = (i - (gridSize - 1) / 2.0f) * UnitManager.Inst.UnitSpacing;
var xOffset = (j - (gridSize - 1) / 2.0f) * UnitManager.Inst.UnitSpacing;
var movePos = targetPos + new Vector3(xOffset, 0, zOffset);
unit.UnitList[currentPos].CommandMove(movePos);
}
} }
} }

View File

@ -44,7 +44,7 @@ namespace BlueWaterProject
[field: SerializeField] public float MaxGroundDistance { get; private set; } = 2.5f; [field: SerializeField] public float MaxGroundDistance { get; private set; } = 2.5f;
[Tooltip("병력 간의 간격")] [Tooltip("병력 간의 간격")]
[field: SerializeField] public float UnitSpacing { get; private set; } = 0.8f; [field: SerializeField] public float UnitSpacing { get; private set; } = 2.5f;
[Tooltip("부대 배치 행렬")] [Tooltip("부대 배치 행렬")]
[field: SerializeField] public List<UnitMatrix> UnitMatrices { get; private set; } = new(MATRICES_CAPACITY); [field: SerializeField] public List<UnitMatrix> UnitMatrices { get; private set; } = new(MATRICES_CAPACITY);
@ -83,7 +83,7 @@ namespace BlueWaterProject
{ {
GroundLayer = LayerMask.GetMask("Ground"); GroundLayer = LayerMask.GetMask("Ground");
MaxGroundDistance = 2.5f; MaxGroundDistance = 2.5f;
UnitSpacing = 0.8f; UnitSpacing = 2.5f;
characterPrefabList = new List<GameObject>(CHARACTER_PREFAB_CAPACITY); characterPrefabList = new List<GameObject>(CHARACTER_PREFAB_CAPACITY);
InitUnitMatrices(); InitUnitMatrices();
InitCharacterPrefabList(); InitCharacterPrefabList();
@ -216,9 +216,9 @@ namespace BlueWaterProject
} }
} }
public void CreateAndAssign(string cardIdx, AttackerType attackerType, Vector3 assignPos) public void CreateAndAssign(string cardIdx, Vector3 assignPos)
{ {
var newUnitController = CreateUnit(cardIdx, attackerType); var newUnitController = CreateUnit(cardIdx, AttackerType.OFFENSE);
AssignUnit(newUnitController, assignPos); AssignUnit(newUnitController, assignPos);
} }

View File

@ -1,7 +1,5 @@
using System;
using UnityEngine; using UnityEngine;
using UnityEngine.InputSystem; using UnityEngine.InputSystem;
using UnityEngine.Serialization;
// ReSharper disable once CheckNamespace // ReSharper disable once CheckNamespace
namespace BlueWaterProject namespace BlueWaterProject
@ -25,7 +23,7 @@ namespace BlueWaterProject
private void Reset() private void Reset()
{ {
unitLayer = LayerMask.GetMask("Pirate") | LayerMask.GetMask("Enemy"); unitLayer = LayerMask.GetMask("Pirate");
groundLayer = LayerMask.GetMask("Ground"); groundLayer = LayerMask.GetMask("Ground");
} }
@ -37,7 +35,7 @@ namespace BlueWaterProject
controls.Unit.RightClick.performed += OnRightClick; controls.Unit.RightClick.performed += OnRightClick;
controls.Enable(); controls.Enable();
unitLayer = LayerMask.GetMask("Pirate") | LayerMask.GetMask("Enemy"); unitLayer = LayerMask.GetMask("Pirate");
groundLayer = LayerMask.GetMask("Ground"); groundLayer = LayerMask.GetMask("Ground");
mainCamera = Camera.main; mainCamera = Camera.main;

View File

@ -21,7 +21,7 @@ public class Boat : MonoBehaviour
public Vector3 Target { get; set; } public Vector3 Target { get; set; }
public string CardIndex { get; set; } public string CardIndex { get; set; }
public delegate void LandedEventHandler(string cardIndex, AttackerType attackerType, Vector3 assignPos); public delegate void LandedEventHandler(string cardIndex, Vector3 assignPos);
public event LandedEventHandler OnLanded; public event LandedEventHandler OnLanded;
private void Awake() private void Awake()
@ -67,7 +67,7 @@ public class Boat : MonoBehaviour
lineRenderer.enabled = false; lineRenderer.enabled = false;
if (draw != null) StopCoroutine(draw); if (draw != null) StopCoroutine(draw);
OnLanded?.Invoke(CardIndex, AttackerType.OFFENSE, Target); OnLanded?.Invoke(CardIndex, Target);
Destroy(gameObject); Destroy(gameObject);
} }

View File

@ -83,13 +83,3 @@ MonoBehaviour:
<OffenseType>k__BackingField: 0 <OffenseType>k__BackingField: 0
<DefenseType>k__BackingField: -1 <DefenseType>k__BackingField: -1
<UnitList>k__BackingField: [] <UnitList>k__BackingField: []
- <Idx>k__BackingField: unit_archer_e_001
<CaptainStatIdx>k__BackingField: ai_stat_captain_e_001
<SailorStatIdx>k__BackingField: ai_stat_sailor_e_001
<UnitName>k__BackingField: Enemy001
<UnitType>k__BackingField: 5
<SailorCount>k__BackingField: 6
<AttackerType>k__BackingField: -1
<OffenseType>k__BackingField: 0
<DefenseType>k__BackingField: -1
<UnitList>k__BackingField: []

View File

@ -34,9 +34,9 @@ namespace BlueWaterProject
public void SetCurrentHp(float value) => AiStat.CurrentHp = value; public void SetCurrentHp(float value) => AiStat.CurrentHp = value;
public void TakeDamage(AiStat attacker, AiStat defender, Vector3? attackPos = null) public void TakeDamage(float attackerPower, float attackerShieldPenetrationRate = default, Vector3? attackPos = null)
{ {
var changeHp = Mathf.Max(defender.CurrentHp - attacker.Atk, 0); var changeHp = Mathf.Max(AiStat.CurrentHp - attackerPower, 0);
SetCurrentHp(changeHp); SetCurrentHp(changeHp);
// 건물 파괴 // 건물 파괴

View File

@ -1,3 +1,4 @@
using System.Collections;
using UnityEngine; using UnityEngine;
// ReSharper disable once CheckNamespace // ReSharper disable once CheckNamespace
@ -20,8 +21,9 @@ namespace BlueWaterProject
bool IsCommanded { get; set; } bool IsCommanded { get; set; }
// Functions // Functions
void UpdateMovement();
void MoveTarget(Vector3 targetPos); void CommandMove(Vector3 targetPos);
IEnumerator CommandMoveCoroutine(Vector3 targetPos);
} }
} }

View File

@ -3,8 +3,8 @@ using UnityEngine;
// ReSharper disable once CheckNamespace // ReSharper disable once CheckNamespace
namespace BlueWaterProject namespace BlueWaterProject
{ {
public interface IDamageable : IAiStat public interface IDamageable
{ {
public void TakeDamage(AiStat attacker, AiStat defender, Vector3? attackPos = null); public void TakeDamage(float attackerPower, float attackerShieldPenetrationRate = default, Vector3? attackPos = null);
} }
} }

View File

@ -88,19 +88,19 @@ namespace BlueWaterProject
UnityEngine.Debug.Log($"Call {className}.{methodName}"); UnityEngine.Debug.Log($"Call {className}.{methodName}");
} }
public static float CalcDamage(AiStat attacker, AiStat defender) public static float CalcDamage(float attackerPower, float attackerShieldPenetrationRate, AiStat defender)
{ {
var finalDamage = 0f; var finalDamage = 0f;
if (defender.UsingShield) if (defender.UsingShield)
{ {
var penetrationChance = attacker.ShieldPenetrationRate - var penetrationChance = attackerShieldPenetrationRate -
(attacker.ShieldPenetrationRate * defender.PenetrationResistivity * 0.01f); (attackerShieldPenetrationRate * defender.PenetrationResistivity * 0.01f);
// 방패를 관통했다면, // 방패를 관통했다면,
if (Random.Range(0, 100) < penetrationChance) if (Random.Range(0, 100) < penetrationChance)
{ {
finalDamage = attacker.Atk - defender.Def; finalDamage = attackerPower - defender.Def;
finalDamage = Mathf.Max(finalDamage, 0); finalDamage = Mathf.Max(finalDamage, 0);
return finalDamage; return finalDamage;
} }
@ -109,12 +109,36 @@ namespace BlueWaterProject
return 0; return 0;
} }
finalDamage = attacker.Atk - defender.Def; finalDamage = attackerPower - defender.Def;
finalDamage = Mathf.Max(finalDamage, 0); finalDamage = Mathf.Max(finalDamage, 0);
return finalDamage; return finalDamage;
} }
public static bool SetCloseDestination(NavMeshAgent agent, Vector3 destination, float stopDistance, float maxDistance)
{
var walkableMask = 1 << NavMesh.GetAreaFromName("Walkable");
if (NavMesh.SamplePosition(destination, out var hit, maxDistance, walkableMask))
{
agent.stoppingDistance = stopDistance;
agent.SetDestination(hit.position);
return true;
// var path = new NavMeshPath();
// if (agent.CalculatePath(hit.position, path) && path.status == NavMeshPathStatus.PathComplete)
// {
// agent.stoppingDistance = stopDistance;
// agent.SetDestination(hit.position);
// return true;
// }
//
// Debug.Log("길이 연결되어 있지 않습니다.");
// return false;
}
Debug.Log("근처에 갈 수 있는 위치가 없습니다.");
return false;
}
#if UNITY_EDITOR #if UNITY_EDITOR
public static GameObject LoadPrefabFromFolder(string folderPath, string prefabName) public static GameObject LoadPrefabFromFolder(string folderPath, string prefabName)
{ {

View File

@ -82,7 +82,7 @@ namespace BlueWaterProject
if (attackerPos != null) if (attackerPos != null)
{ {
iDamageable.TakeDamage(attackerStat, iDamageable.AiStat, (Vector3)attackerPos); iDamageable.TakeDamage(attackerStat.Atk, attackerStat.ShieldPenetrationRate, (Vector3)attackerPos);
} }
isAttacked = true; isAttacked = true;
DestroyObject(); DestroyObject();

View File

@ -45,7 +45,7 @@ namespace BlueWaterProject
var iDamageable = other.GetComponentInParent<IDamageable>(); var iDamageable = other.GetComponentInParent<IDamageable>();
iDamageable.TakeDamage(attackerStat, iDamageable.AiStat); iDamageable.TakeDamage(attackerStat.Atk, attackerStat.ShieldPenetrationRate);
isAttacked = true; isAttacked = true;
} }

View File

@ -8859,7 +8859,7 @@ 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: 0.5, y: 0.5, z: 0.5} m_LocalScale: {x: 2.5, y: 2.5, z: 2.5}
m_ConstrainProportionsScale: 1 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 8216194093736172848} - {fileID: 8216194093736172848}
@ -8901,17 +8901,17 @@ NavMeshAgent:
m_AgentTypeID: 0 m_AgentTypeID: 0
m_Radius: 0.4 m_Radius: 0.4
m_Speed: 3 m_Speed: 3
m_Acceleration: 20 m_Acceleration: 40
avoidancePriority: 50 avoidancePriority: 50
m_AngularSpeed: 180 m_AngularSpeed: 180
m_StoppingDistance: 0 m_StoppingDistance: 3
m_AutoTraverseOffMeshLink: 1 m_AutoTraverseOffMeshLink: 1
m_AutoBraking: 0 m_AutoBraking: 0
m_AutoRepath: 1 m_AutoRepath: 1
m_Height: 1.6 m_Height: 1.6
m_BaseOffset: 0 m_BaseOffset: 0
m_WalkableMask: 1 m_WalkableMask: 1
m_ObstacleAvoidanceType: 4 m_ObstacleAvoidanceType: 1
--- !u!54 &8419222071034356516 --- !u!54 &8419222071034356516
Rigidbody: Rigidbody:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -18237,7 +18237,7 @@ 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.3, z: -0.295} m_LocalPosition: {x: 0, y: 0.3, z: -0.295}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 63358794340404201} - {fileID: 63358794340404201}
@ -19484,7 +19484,7 @@ 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.3, z: -0.295} m_LocalPosition: {x: 0, y: 0.3, z: -0.295}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 2465098882291399731} - {fileID: 2465098882291399731}
@ -19878,6 +19878,7 @@ GameObject:
serializedVersion: 6 serializedVersion: 6
m_Component: m_Component:
- component: {fileID: 3820477360039890828} - component: {fileID: 3820477360039890828}
- component: {fileID: 9107736161700266012}
m_Layer: 0 m_Layer: 0
m_Name: Flag_container m_Name: Flag_container
m_TagString: Untagged m_TagString: Untagged
@ -19912,6 +19913,24 @@ Transform:
- {fileID: 1547071791325143040} - {fileID: 1547071791325143040}
m_Father: {fileID: 438990} m_Father: {fileID: 438990}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1183024399 &9107736161700266012
LookAtConstraint:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1666106266669059014}
m_Enabled: 1
serializedVersion: 2
m_Weight: 1
m_RotationAtRest: {x: 0, y: 0, z: 0}
m_RotationOffset: {x: 0, y: 0, z: 0}
m_Roll: 0
m_WorldUpObject: {fileID: 0}
m_UseUpObject: 0
m_Active: 1
m_IsLocked: 1
m_Sources: []
--- !u!1 &1697676565323874356 --- !u!1 &1697676565323874356
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -20338,7 +20357,7 @@ 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.3, z: -0.295} m_LocalPosition: {x: 0, y: 0.3, z: -0.295}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 5234011001907277804} - {fileID: 5234011001907277804}
@ -20923,7 +20942,7 @@ GameObject:
m_Icon: {fileID: 0} m_Icon: {fileID: 0}
m_NavMeshLayer: 0 m_NavMeshLayer: 0
m_StaticEditorFlags: 0 m_StaticEditorFlags: 0
m_IsActive: 0 m_IsActive: 1
--- !u!4 &3209293871077764151 --- !u!4 &3209293871077764151
Transform: Transform:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -20934,7 +20953,7 @@ 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.3, z: -0.295} m_LocalPosition: {x: 0, y: 0.3, z: -0.295}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 2257428815309838277} - {fileID: 2257428815309838277}
@ -21533,7 +21552,7 @@ 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.3, z: -0.295} m_LocalPosition: {x: 0, y: 0.3, z: -0.295}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 4132786258334076740} - {fileID: 4132786258334076740}
@ -21784,6 +21803,7 @@ GameObject:
serializedVersion: 6 serializedVersion: 6
m_Component: m_Component:
- component: {fileID: 1453547390671515014} - component: {fileID: 1453547390671515014}
- component: {fileID: 8589430503143481414}
m_Layer: 0 m_Layer: 0
m_Name: Body_container m_Name: Body_container
m_TagString: Untagged m_TagString: Untagged
@ -21799,7 +21819,7 @@ Transform:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3528172999077177913} m_GameObject: {fileID: 3528172999077177913}
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: 0.5, y: 0.5, z: 0.5} m_LocalScale: {x: 0.5, y: 0.5, z: 0.5}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 0
@ -21867,6 +21887,24 @@ Transform:
- {fileID: 6099091204058009794} - {fileID: 6099091204058009794}
m_Father: {fileID: 438990} m_Father: {fileID: 438990}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1183024399 &8589430503143481414
LookAtConstraint:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3528172999077177913}
m_Enabled: 1
serializedVersion: 2
m_Weight: 1
m_RotationAtRest: {x: 0, y: 0, z: 0}
m_RotationOffset: {x: 0, y: 0, z: 0}
m_Roll: 0
m_WorldUpObject: {fileID: 0}
m_UseUpObject: 0
m_Active: 1
m_IsLocked: 1
m_Sources: []
--- !u!1 &3577565490594274997 --- !u!1 &3577565490594274997
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -22197,8 +22235,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: 0.5, y: 0.5, z: 0.5} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0 m_ConstrainProportionsScale: 1
m_Children: [] m_Children: []
m_Father: {fileID: 438990} m_Father: {fileID: 438990}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
@ -23266,7 +23304,7 @@ 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.3, z: -0.295} m_LocalPosition: {x: 0, y: 0.3, z: -0.295}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 4474122488113416466} - {fileID: 4474122488113416466}
@ -24499,7 +24537,7 @@ 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.3, z: -0.295} m_LocalPosition: {x: 0, y: 0.3, z: -0.295}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 5660875838862986692} - {fileID: 5660875838862986692}
@ -25057,7 +25095,7 @@ 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.3, z: -0.295} m_LocalPosition: {x: 0, y: 0.3, z: -0.295}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 6989473619539101678} - {fileID: 6989473619539101678}
@ -25533,7 +25571,7 @@ 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.3, z: -0.295} m_LocalPosition: {x: 0, y: 0.3, z: -0.295}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 3657631952372943943} - {fileID: 3657631952372943943}
@ -27705,7 +27743,7 @@ 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.3, z: -0.295} m_LocalPosition: {x: 0, y: 0.3, z: -0.295}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 8778780943571046173} - {fileID: 8778780943571046173}
@ -28782,7 +28820,7 @@ 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.3, z: -0.295} m_LocalPosition: {x: 0, y: 0.3, z: -0.295}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 851825707014898327} - {fileID: 851825707014898327}
@ -29193,7 +29231,7 @@ 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.3, z: -0.295} m_LocalPosition: {x: 0, y: 0.3, z: -0.295}
m_LocalScale: {x: 0.4, y: 0.4, z: 0.4} m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 1 m_ConstrainProportionsScale: 1
m_Children: m_Children:
- {fileID: 1017353229399720737} - {fileID: 1017353229399720737}

View File

@ -15,7 +15,7 @@ MonoBehaviour:
m_DefaultGroup: 84c68c72d64fe49b4a85c32c0eaeab8b m_DefaultGroup: 84c68c72d64fe49b4a85c32c0eaeab8b
m_currentHash: m_currentHash:
serializedVersion: 2 serializedVersion: 2
Hash: 9a4a9c89ff154ecac1bb27339309598a Hash: 0590df4bd029d1fa232f7e5fd489e2b1
m_OptimizeCatalogSize: 0 m_OptimizeCatalogSize: 0
m_BuildRemoteCatalog: 0 m_BuildRemoteCatalog: 0
m_BundleLocalCatalog: 0 m_BundleLocalCatalog: 0

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,14 +0,0 @@
fileFormatVersion: 2
guid: 617b3f1032a08c14ebfedfa340767cdf
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
AssetOrigin:
serializedVersion: 1
productId: 106670
packageName: Rainbow Hierarchy 2
packageVersion: 2.6.1
assetPath: Assets/Plugins/Borodar/RainbowHierarchy/Source/RainbowHierarchy.src.unitypackage
uploadId: 605240

View File

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

View File

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

View File

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

View File

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

View File

@ -8,17 +8,21 @@ Material:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: TT_Banner_black m_Name: TT_Banner_black
m_Shader: {fileID: 4800000, guid: 8d2bb70cbf9db8d4da26e15b26e74248, type: 3} m_Shader: {fileID: 4800000, guid: bee44b4a58655ee4cbff107302a3e131, type: 3}
m_Parent: {fileID: 0} m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0 m_ModifiedSerializedProperties: 0
m_ValidKeywords: [] m_ValidKeywords:
m_InvalidKeywords: [] - DR_OUTLINE_ON
- _CELPRIMARYMODE_SINGLE
- _DETAILMAPBLENDINGMODE_MULTIPLY
- _TEXTUREBLENDINGMODE_MULTIPLY
m_InvalidKeywords:
- _UNITYSHADOWMODE_NONE
m_LightmapFlags: 4 m_LightmapFlags: 4
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
m_CustomRenderQueue: -1 m_CustomRenderQueue: -1
stringTagMap: stringTagMap: {}
RenderType: Opaque
disabledShaderPasses: [] disabledShaderPasses: []
m_LockedProperties: m_LockedProperties:
m_SavedProperties: m_SavedProperties:
@ -32,10 +36,22 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _CelCurveTexture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _CelStepTexture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap: - _DetailAlbedoMap:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _DetailMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask: - _DetailMask:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
@ -84,40 +100,92 @@ Material:
m_Floats: m_Floats:
- _AlphaClip: 0 - _AlphaClip: 0
- _AlphaToMask: 0 - _AlphaToMask: 0
- _BaseMapPremultiply: 0
- _Blend: 0 - _Blend: 0
- _BlendModePreserveSpecular: 1 - _BlendModePreserveSpecular: 1
- _BumpScale: 1 - _BumpScale: 1
- _CameraDistanceImpact: 0
- _CelExtraEnabled: 0
- _CelNumSteps: 3
- _CelPrimaryMode: 1
- _Cull: 2 - _Cull: 2
- _Cutoff: 0.5 - _Cutoff: 0.5
- _DetailMapBlendingMode: 0
- _DetailMapImpact: 0
- _DetailNormalMapScale: 1 - _DetailNormalMapScale: 1
- _DstBlend: 0 - _DstBlend: 0
- _DstBlendAlpha: 0 - _DstBlendAlpha: 0
- _FlatRimEdgeSmoothness: 0.5
- _FlatRimLightAlign: 0
- _FlatRimSize: 0.5
- _FlatSpecularEdgeSmoothness: 0
- _FlatSpecularSize: 0.1
- _Flatness: 1
- _FlatnessExtra: 1
- _GlossMapScale: 1 - _GlossMapScale: 1
- _Glossiness: 0 - _Glossiness: 0
- _GlossinessSource: 0 - _GlossinessSource: 0
- _GlossyReflections: 1 - _GlossyReflections: 1
- _GradientAngle: 0
- _GradientCenterX: 0
- _GradientCenterY: 0
- _GradientEnabled: 0
- _GradientSize: 10
- _LightContribution: 0
- _LightFalloffSize: 0
- _LightmapDirectionPitch: 0
- _LightmapDirectionYaw: 0
- _Metallic: 0 - _Metallic: 0
- _Mode: 0 - _Mode: 0
- _OcclusionStrength: 1 - _OcclusionStrength: 1
- _OutlineDepthOffset: 0
- _OutlineEnabled: 1
- _OutlineScale: 1
- _OutlineWidth: 1
- _OverrideLightmapDir: 0
- _Parallax: 0.02 - _Parallax: 0.02
- _QueueOffset: 0 - _QueueOffset: 0
- _ReceiveShadows: 1 - _ReceiveShadows: 1
- _RimEnabled: 0
- _SelfShadingSize: 0.5
- _SelfShadingSizeExtra: 0.6
- _ShadowEdgeSize: 0.05
- _ShadowEdgeSizeExtra: 0.05
- _Shininess: 0 - _Shininess: 0
- _Smoothness: 0.5 - _Smoothness: 0.5
- _SmoothnessSource: 1 - _SmoothnessSource: 1
- _SmoothnessTextureChannel: 0 - _SmoothnessTextureChannel: 0
- _SpecSource: 0 - _SpecSource: 0
- _SpecularEnabled: 0
- _SpecularHighlights: 1 - _SpecularHighlights: 1
- _SrcBlend: 1 - _SrcBlend: 1
- _SrcBlendAlpha: 1 - _SrcBlendAlpha: 1
- _Surface: 0 - _Surface: 0
- _TextureBlendingMode: 0
- _TextureImpact: 1
- _UVSec: 0 - _UVSec: 0
- _UnityShadowMode: 0
- _UnityShadowOcclusion: 0
- _UnityShadowPower: 0.2
- _UnityShadowSharpness: 1
- _VertexColorsEnabled: 0
- _ZWrite: 1 - _ZWrite: 1
m_Colors: m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1}
- _ColorDim: {r: 1, g: 1, b: 1, a: 1}
- _ColorDimCurve: {r: 0.85023, g: 0.85034, b: 0.8504499, a: 0.85056}
- _ColorDimExtra: {r: 0.85023, g: 0.85034, b: 0.8504499, a: 0.85056}
- _ColorDimSteps: {r: 0.85023, g: 0.85034, b: 0.8504499, a: 0.85056}
- _ColorGradient: {r: 0.85023, g: 0.85034, b: 0.85045, a: 0.85056}
- _DetailMapColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 0} - _EmissionColor: {r: 0, g: 0, b: 0, a: 0}
- _FlatRimColor: {r: 0.85023, g: 0.85034, b: 0.85045, a: 0.85056}
- _FlatSpecularColor: {r: 0.85023, g: 0.85034, b: 0.85045, a: 0.85056}
- _LightmapDirection: {r: 0, g: 1, b: 0, a: 0}
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} - _SpecColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
- _UnityShadowColor: {r: 0.85023, g: 0.85034, b: 0.8504499, a: 0.85056}
m_BuildTextureStacks: [] m_BuildTextureStacks: []
--- !u!114 &3499469582880020717 --- !u!114 &3499469582880020717
MonoBehaviour: MonoBehaviour:

View File

@ -8,22 +8,22 @@ Material:
m_PrefabInstance: {fileID: 0} m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_Name: TT_RTS_Units m_Name: TT_RTS_Units
m_Shader: {fileID: 4800000, guid: 2a230514c860643f69b6a4d1871d3825, type: 3} m_Shader: {fileID: 4800000, guid: bee44b4a58655ee4cbff107302a3e131, type: 3}
m_Parent: {fileID: 0} m_Parent: {fileID: 0}
m_ModifiedSerializedProperties: 0 m_ModifiedSerializedProperties: 0
m_ValidKeywords: m_ValidKeywords:
- DR_OUTLINE_ON - DR_OUTLINE_ON
- _CELPRIMARYMODE_SINGLE
- _DETAILMAPBLENDINGMODE_MULTIPLY - _DETAILMAPBLENDINGMODE_MULTIPLY
- _EMISSION
- _TEXTUREBLENDINGMODE_MULTIPLY - _TEXTUREBLENDINGMODE_MULTIPLY
- _UNITYSHADOW_OCCLUSION - _UNITYSHADOW_OCCLUSION
m_InvalidKeywords: [] m_InvalidKeywords:
- _UNITYSHADOWMODE_NONE
m_LightmapFlags: 1 m_LightmapFlags: 1
m_EnableInstancingVariants: 0 m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0 m_DoubleSidedGI: 0
m_CustomRenderQueue: 2000 m_CustomRenderQueue: -1
stringTagMap: stringTagMap: {}
RenderType: Opaque
disabledShaderPasses: [] disabledShaderPasses: []
m_LockedProperties: m_LockedProperties:
m_SavedProperties: m_SavedProperties:
@ -41,6 +41,14 @@ Material:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0} m_Offset: {x: 0, y: 0}
- _CelCurveTexture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _CelStepTexture:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap: - _DetailAlbedoMap:
m_Texture: {fileID: 0} m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1} m_Scale: {x: 1, y: 1}
@ -101,10 +109,14 @@ Material:
m_Floats: m_Floats:
- _AlphaClip: 0 - _AlphaClip: 0
- _AlphaToMask: 0 - _AlphaToMask: 0
- _BaseMapPremultiply: 0
- _Blend: 0 - _Blend: 0
- _BlendModePreserveSpecular: 1 - _BlendModePreserveSpecular: 1
- _BumpScale: 1 - _BumpScale: 1
- _CameraDistanceImpact: 0.5 - _CameraDistanceImpact: 0.5
- _CelExtraEnabled: 0
- _CelNumSteps: 3
- _CelPrimaryMode: 1
- _Cull: 2 - _Cull: 2
- _Cutoff: 0.5 - _Cutoff: 0.5
- _DetailMapBlendingMode: 0 - _DetailMapBlendingMode: 0
@ -117,6 +129,8 @@ Material:
- _FlatRimSize: 0.5 - _FlatRimSize: 0.5
- _FlatSpecularEdgeSmoothness: 0 - _FlatSpecularEdgeSmoothness: 0
- _FlatSpecularSize: 0.1 - _FlatSpecularSize: 0.1
- _Flatness: 1
- _FlatnessExtra: 1
- _Glossiness: 0.5 - _Glossiness: 0.5
- _GlossinessSource: 0 - _GlossinessSource: 0
- _GradientAngle: 0 - _GradientAngle: 0
@ -125,6 +139,7 @@ Material:
- _GradientEnabled: 0 - _GradientEnabled: 0
- _GradientSize: 10 - _GradientSize: 10
- _LightContribution: 1 - _LightContribution: 1
- _LightFalloffSize: 0
- _LightmapDirectionPitch: 0 - _LightmapDirectionPitch: 0
- _LightmapDirectionYaw: 0 - _LightmapDirectionYaw: 0
- _Metallic: 0 - _Metallic: 0
@ -142,6 +157,9 @@ Material:
- _ReceiveShadows: 1 - _ReceiveShadows: 1
- _RimEnabled: 0 - _RimEnabled: 0
- _SelfShadingSize: 0 - _SelfShadingSize: 0
- _SelfShadingSizeExtra: 0.6
- _ShadowEdgeSize: 0.05
- _ShadowEdgeSizeExtra: 0.05
- _Shininess: 0 - _Shininess: 0
- _Smoothness: 0.5 - _Smoothness: 0.5
- _SmoothnessSource: 1 - _SmoothnessSource: 1
@ -154,12 +172,19 @@ Material:
- _TextureBlendingMode: 0 - _TextureBlendingMode: 0
- _TextureImpact: 1 - _TextureImpact: 1
- _UVSec: 0 - _UVSec: 0
- _UnityShadowMode: 0
- _UnityShadowOcclusion: 1 - _UnityShadowOcclusion: 1
- _UnityShadowPower: 0.2
- _UnityShadowSharpness: 1
- _VertexColorsEnabled: 0 - _VertexColorsEnabled: 0
- _ZWrite: 1 - _ZWrite: 1
m_Colors: m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _Color: {r: 1, g: 1, b: 1, a: 1} - _Color: {r: 1, g: 1, b: 1, a: 1}
- _ColorDim: {r: 1, g: 1, b: 1, a: 1}
- _ColorDimCurve: {r: 0.85023, g: 0.85034, b: 0.8504499, a: 0.85056}
- _ColorDimExtra: {r: 0.85023, g: 0.85034, b: 0.8504499, a: 0.85056}
- _ColorDimSteps: {r: 0.85023, g: 0.85034, b: 0.8504499, a: 0.85056}
- _ColorGradient: {r: 0.85023, g: 0.85034, b: 0.8504499, a: 0.85056} - _ColorGradient: {r: 0.85023, g: 0.85034, b: 0.8504499, a: 0.85056}
- _DetailMapColor: {r: 1, g: 1, b: 1, a: 1} - _DetailMapColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1} - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
@ -170,6 +195,7 @@ Material:
- _OutlineColor: {r: 0, g: 0, b: 0, a: 1} - _OutlineColor: {r: 0, g: 0, b: 0, a: 1}
- _ShadowColor: {r: 0, g: 0, b: 0, a: 1} - _ShadowColor: {r: 0, g: 0, b: 0, a: 1}
- _SpecColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5} - _SpecColor: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
- _UnityShadowColor: {r: 0.85023, g: 0.85034, b: 0.8504499, a: 0.85056}
m_BuildTextureStacks: [] m_BuildTextureStacks: []
--- !u!114 &8523542518157162783 --- !u!114 &8523542518157162783
MonoBehaviour: MonoBehaviour: