#7 Add FieldOfView script in aiPrefab
Additional commit content - Add arrow prefab, script, objectPool system - fixed 02.Main_TG Scene - testing fieldOfView
This commit is contained in:
parent
f1c4bdc95b
commit
8bd4a3f3ca
@ -38,7 +38,7 @@ RenderSettings:
|
||||
m_ReflectionIntensity: 1
|
||||
m_CustomReflection: {fileID: 0}
|
||||
m_Sun: {fileID: 0}
|
||||
m_IndirectSpecularColor: {r: 0.17941369, g: 0.2246505, b: 0.30630845, a: 1}
|
||||
m_IndirectSpecularColor: {r: 0.1794142, g: 0.22465113, b: 0.3063095, a: 1}
|
||||
m_UseRadianceAmbientProbe: 0
|
||||
--- !u!157 &4
|
||||
LightmapSettings:
|
||||
@ -124,6 +124,38 @@ NavMeshSettings:
|
||||
debug:
|
||||
m_Flags: 0
|
||||
m_NavMeshData: {fileID: 0}
|
||||
--- !u!1 &29755219
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 29755220}
|
||||
m_Layer: 0
|
||||
m_Name: ObjectPoolManager
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &29755220
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 29755219}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children:
|
||||
- {fileID: 1422397439}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!224 &126818807 stripped
|
||||
RectTransform:
|
||||
m_CorrespondingSourceObject: {fileID: 3462659544343954575, guid: 05c27db3267318f4fa8757595e69a841,
|
||||
@ -972,6 +1004,63 @@ Transform:
|
||||
m_Children: []
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1001 &774643456
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 155132, guid: 2b7bae11d5e723b4597e4a3c1fd139b1, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: SwordKnight_E
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 2b7bae11d5e723b4597e4a3c1fd139b1, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 92.73
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 2b7bae11d5e723b4597e4a3c1fd139b1, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 1.97
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 2b7bae11d5e723b4597e4a3c1fd139b1, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 39.87
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 2b7bae11d5e723b4597e4a3c1fd139b1, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 0.028407697
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 2b7bae11d5e723b4597e4a3c1fd139b1, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 2b7bae11d5e723b4597e4a3c1fd139b1, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0.9995964
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 2b7bae11d5e723b4597e4a3c1fd139b1, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: -0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 2b7bae11d5e723b4597e4a3c1fd139b1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 2b7bae11d5e723b4597e4a3c1fd139b1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 176.744
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 2b7bae11d5e723b4597e4a3c1fd139b1, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 2b7bae11d5e723b4597e4a3c1fd139b1, type: 3}
|
||||
--- !u!1 &776161953
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -2034,6 +2123,37 @@ Transform:
|
||||
- {fileID: 3930504228161776306}
|
||||
m_Father: {fileID: 0}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1422397438
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
serializedVersion: 6
|
||||
m_Component:
|
||||
- component: {fileID: 1422397439}
|
||||
m_Layer: 0
|
||||
m_Name: Arrows
|
||||
m_TagString: Untagged
|
||||
m_Icon: {fileID: 0}
|
||||
m_NavMeshLayer: 0
|
||||
m_StaticEditorFlags: 0
|
||||
m_IsActive: 1
|
||||
--- !u!4 &1422397439
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 1422397438}
|
||||
serializedVersion: 2
|
||||
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
|
||||
m_LocalPosition: {x: 0, y: 0, z: 0}
|
||||
m_LocalScale: {x: 1, y: 1, z: 1}
|
||||
m_ConstrainProportionsScale: 0
|
||||
m_Children: []
|
||||
m_Father: {fileID: 29755220}
|
||||
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||
--- !u!1 &1437521086
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -7381,6 +7501,63 @@ MonoBehaviour:
|
||||
amplitude: 0.5
|
||||
speed: 1
|
||||
direction: {x: 1, y: 0}
|
||||
--- !u!1001 &1592431858
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
serializedVersion: 2
|
||||
m_Modification:
|
||||
serializedVersion: 3
|
||||
m_TransformParent: {fileID: 0}
|
||||
m_Modifications:
|
||||
- target: {fileID: 155132, guid: 45b324ec0934e8040876c8641587ffe2, type: 3}
|
||||
propertyPath: m_Name
|
||||
value: Archer_P
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 45b324ec0934e8040876c8641587ffe2, type: 3}
|
||||
propertyPath: m_LocalPosition.x
|
||||
value: 86.526306
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 45b324ec0934e8040876c8641587ffe2, type: 3}
|
||||
propertyPath: m_LocalPosition.y
|
||||
value: 2.05
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 45b324ec0934e8040876c8641587ffe2, type: 3}
|
||||
propertyPath: m_LocalPosition.z
|
||||
value: 20.44285
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 45b324ec0934e8040876c8641587ffe2, type: 3}
|
||||
propertyPath: m_LocalRotation.w
|
||||
value: 1
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 45b324ec0934e8040876c8641587ffe2, type: 3}
|
||||
propertyPath: m_LocalRotation.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 45b324ec0934e8040876c8641587ffe2, type: 3}
|
||||
propertyPath: m_LocalRotation.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 45b324ec0934e8040876c8641587ffe2, type: 3}
|
||||
propertyPath: m_LocalRotation.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 45b324ec0934e8040876c8641587ffe2, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.x
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 45b324ec0934e8040876c8641587ffe2, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.y
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
- target: {fileID: 438990, guid: 45b324ec0934e8040876c8641587ffe2, type: 3}
|
||||
propertyPath: m_LocalEulerAnglesHint.z
|
||||
value: 0
|
||||
objectReference: {fileID: 0}
|
||||
m_RemovedComponents: []
|
||||
m_RemovedGameObjects: []
|
||||
m_AddedGameObjects: []
|
||||
m_AddedComponents: []
|
||||
m_SourcePrefab: {fileID: 100100000, guid: 45b324ec0934e8040876c8641587ffe2, type: 3}
|
||||
--- !u!1001 &1646060060
|
||||
PrefabInstance:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -49254,3 +49431,6 @@ SceneRoots:
|
||||
- {fileID: 336257752}
|
||||
- {fileID: 634242989}
|
||||
- {fileID: 202104949}
|
||||
- {fileID: 29755220}
|
||||
- {fileID: 1592431858}
|
||||
- {fileID: 774643456}
|
||||
|
@ -11,9 +11,11 @@ namespace BlueWaterProject
|
||||
#region Property and variable
|
||||
|
||||
protected Animator aiAnimator;
|
||||
protected FieldOfView fieldOfView;
|
||||
|
||||
private static readonly int DeathHash = Animator.StringToHash("Death");
|
||||
private static readonly int DamageHash = Animator.StringToHash("TakeDamage");
|
||||
protected static readonly int AttackHash = Animator.StringToHash("TakeDamage");
|
||||
protected static readonly int DamageHash = Animator.StringToHash("TakeDamage");
|
||||
protected static readonly int DeathHash = Animator.StringToHash("Death");
|
||||
|
||||
#endregion
|
||||
|
||||
@ -25,9 +27,10 @@ namespace BlueWaterProject
|
||||
|
||||
#region Unity built-in function
|
||||
|
||||
private void Awake()
|
||||
protected virtual void Awake()
|
||||
{
|
||||
aiAnimator = Utils.GetComponentAndAssert<Animator>(transform);
|
||||
fieldOfView = Utils.GetComponentAndAssert<FieldOfView>(transform);
|
||||
}
|
||||
|
||||
private void Start()
|
||||
@ -75,7 +78,7 @@ namespace BlueWaterProject
|
||||
|
||||
#endregion
|
||||
|
||||
#region Function
|
||||
#region Custom function
|
||||
|
||||
public void SetCurrentHp(float value) => AiStat.currentHp = value;
|
||||
|
||||
|
93
BlueWater/Assets/02.Scripts/Ai/FieldOfView.cs
Normal file
93
BlueWater/Assets/02.Scripts/Ai/FieldOfView.cs
Normal file
@ -0,0 +1,93 @@
|
||||
using System;
|
||||
using UnityEngine;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public class FieldOfView : MonoBehaviour
|
||||
{
|
||||
#region Property and variable
|
||||
|
||||
[Header("타겟 및 시야 설정")]
|
||||
[SerializeField] private bool drawGizmo = true;
|
||||
|
||||
[SerializeField] private LayerMask targetLayer;
|
||||
|
||||
[Tooltip("시야 각도\n상대를 감지하는 0~360도 사이의 시야각")]
|
||||
[Range(0f, 360f)]
|
||||
[SerializeField] private float viewAngle = 360f;
|
||||
|
||||
[Tooltip("시야 길이\n상대를 감지하는 최대 길이, 부채꼴 혹은 원의 반지름 길이")]
|
||||
[Range(0f, 50f)]
|
||||
[SerializeField] private float viewRadius;
|
||||
|
||||
[Header("시야 내 타겟 정보")]
|
||||
[SerializeField] private Collider[] colliderWithinRange = new Collider[TARGET_MAX_SIZE];
|
||||
[SerializeField] private Transform targetTransform;
|
||||
|
||||
private const int TARGET_MAX_SIZE = 20;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Unity built-in Function
|
||||
|
||||
#if UNITY_EDITOR
|
||||
public void OnDrawGizmosSelected()
|
||||
{
|
||||
if (!drawGizmo) return;
|
||||
|
||||
var myPos = transform.position;
|
||||
|
||||
Gizmos.color = Color.green;
|
||||
Gizmos.DrawWireSphere(myPos, viewRadius);
|
||||
|
||||
if (targetTransform == null) return;
|
||||
|
||||
Debug.DrawLine(myPos, targetTransform.position, Color.red);
|
||||
}
|
||||
#endif
|
||||
|
||||
private void LateUpdate()
|
||||
{
|
||||
Array.Clear(colliderWithinRange, 0, TARGET_MAX_SIZE);
|
||||
|
||||
var myPos = transform.position;
|
||||
var maxColliderCount = Physics.OverlapSphereNonAlloc(myPos, viewRadius, colliderWithinRange,
|
||||
targetLayer, QueryTriggerInteraction.Collide);
|
||||
|
||||
if (maxColliderCount <= 0)
|
||||
{
|
||||
targetTransform = null;
|
||||
return;
|
||||
}
|
||||
|
||||
var nearestDistance = Vector3.Distance(colliderWithinRange[0].transform.position, myPos);
|
||||
var nearestTargetTransform = colliderWithinRange[0].transform;
|
||||
|
||||
for (var i = 1; i < maxColliderCount; i++)
|
||||
{
|
||||
var distance = Vector3.Distance(colliderWithinRange[i].transform.position, myPos);
|
||||
|
||||
if (nearestDistance < distance) continue;
|
||||
|
||||
nearestDistance = distance;
|
||||
nearestTargetTransform = colliderWithinRange[i].transform;
|
||||
}
|
||||
|
||||
targetTransform = nearestTargetTransform;
|
||||
|
||||
if (targetTransform == null) return;
|
||||
|
||||
transform.LookAt(targetTransform);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Custom Function
|
||||
|
||||
public int GetTargetLayer() => targetLayer;
|
||||
public Transform GetTargetTransform() => targetTransform;
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
11
BlueWater/Assets/02.Scripts/Ai/FieldOfView.cs.meta
Normal file
11
BlueWater/Assets/02.Scripts/Ai/FieldOfView.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: 0b788620b2cca0844a3b03748ada3423
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -1,22 +1,72 @@
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Pool;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public class Archer : AiController
|
||||
{
|
||||
[Header("화살 발사 시작 시간")]
|
||||
[SerializeField] private float shootArrowTime;
|
||||
#region Property and variable
|
||||
|
||||
protected override void Attack()
|
||||
[Header("화살 오브젝트 관리")]
|
||||
[SerializeField] private GameObject arrowPrefab;
|
||||
|
||||
[Tooltip("화살 오브젝트 풀링할 최대 갯수")]
|
||||
[SerializeField] private int arrowMaxSize;
|
||||
|
||||
[Tooltip("화살 발사 시작 시간")]
|
||||
[SerializeField] private float shootArrowTime;
|
||||
|
||||
private Transform arrowsLocation;
|
||||
private IObjectPool<Arrow> arrowPool;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Unity Built-in Function
|
||||
|
||||
protected override void Awake()
|
||||
{
|
||||
StartCoroutine(ShootArrow());
|
||||
base.Awake();
|
||||
|
||||
arrowsLocation = GameObject.Find("ObjectPoolManager/Arrows").transform;
|
||||
arrowPool = new ObjectPool<Arrow>(CreateArrow, OnGetBullet, OnReleaseBullet, OnDestroyBullet, maxSize:arrowMaxSize);
|
||||
}
|
||||
|
||||
private IEnumerator ShootArrow()
|
||||
#endregion
|
||||
|
||||
#region Custom function
|
||||
|
||||
protected override void Attack()
|
||||
{
|
||||
yield return new WaitForSeconds(shootArrowTime);
|
||||
StartCoroutine(ShootArrowAnimation());
|
||||
}
|
||||
|
||||
private IEnumerator ShootArrowAnimation()
|
||||
{
|
||||
aiAnimator.SetTrigger(AttackHash);
|
||||
yield return new WaitForSeconds(shootArrowTime);
|
||||
|
||||
var arrow = arrowPool.Get();
|
||||
arrow.SetShootingArrow(fieldOfView.GetTargetTransform().position, AiStat, fieldOfView.GetTargetLayer());
|
||||
StartCoroutine(arrow.Shoot());
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ObjectPool Function
|
||||
|
||||
private Arrow CreateArrow()
|
||||
{
|
||||
var arrow = Instantiate(arrowPrefab, Vector3.zero, Quaternion.identity, arrowsLocation).GetComponent<Arrow>();
|
||||
arrow.SetManagedPool(arrowPool);
|
||||
return arrow;
|
||||
}
|
||||
|
||||
private void OnGetBullet(Arrow arrow) => arrow.gameObject.SetActive(true);
|
||||
private void OnReleaseBullet(Arrow arrow) => arrow.gameObject.SetActive(false);
|
||||
private void OnDestroyBullet(Arrow arrow) => Destroy(arrow.gameObject);
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
118
BlueWater/Assets/02.Scripts/Arrow.cs
Normal file
118
BlueWater/Assets/02.Scripts/Arrow.cs
Normal file
@ -0,0 +1,118 @@
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Pool;
|
||||
using Random = UnityEngine.Random;
|
||||
|
||||
// ReSharper disable once CheckNamespace
|
||||
namespace BlueWaterProject
|
||||
{
|
||||
public class Arrow : MonoBehaviour
|
||||
{
|
||||
#region Property and variable
|
||||
|
||||
[Tooltip("화살 발사 시작할 때의 속도")]
|
||||
[SerializeField] private float initialVelocity;
|
||||
|
||||
[Tooltip("화살이 타겟에 도달하는 오차 범위(부정확함)")]
|
||||
[Range(0f, 1f)]
|
||||
[SerializeField] private float inaccuracy;
|
||||
|
||||
[Tooltip("발사 이후 자동으로 사라지는데 까지 걸리는 시간")]
|
||||
[Range(0f, 10f)]
|
||||
[SerializeField] private float autoDestroyTime;
|
||||
|
||||
private Vector3 targetPos;
|
||||
private AiStat attackerStat;
|
||||
private LayerMask targetLayer;
|
||||
private IObjectPool<Arrow> managedArrowPool;
|
||||
private Rigidbody arrowRigidbody;
|
||||
|
||||
#endregion
|
||||
|
||||
#region Unity built-in function
|
||||
|
||||
private void Awake()
|
||||
{
|
||||
arrowRigidbody = Utils.GetComponentAndAssert<Rigidbody>(transform);
|
||||
}
|
||||
|
||||
private void OnTriggerEnter(Collider other)
|
||||
{
|
||||
if (other.gameObject.layer != targetLayer) return;
|
||||
|
||||
var iDamageable = other.GetComponent<IDamageable>();
|
||||
|
||||
iDamageable.TakeDamage(attackerStat, iDamageable.AiStat);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Custom function
|
||||
|
||||
public IEnumerator Shoot()
|
||||
{
|
||||
// TODO : 화살 발사 기능 구현
|
||||
var time = 0f;
|
||||
|
||||
while (time < autoDestroyTime)
|
||||
{
|
||||
time += Time.deltaTime;
|
||||
|
||||
var toTarget = targetPos - transform.position;
|
||||
var angle = CalcLaunchAngle(toTarget);
|
||||
|
||||
angle += Random.Range(-inaccuracy, inaccuracy);
|
||||
|
||||
var velocity = Quaternion.Euler(0, 0, angle) * Vector3.right * initialVelocity;
|
||||
|
||||
arrowRigidbody.velocity = velocity;
|
||||
|
||||
yield return null;
|
||||
}
|
||||
|
||||
DestroyObject();
|
||||
}
|
||||
|
||||
private float CalcLaunchAngle(Vector3 toTarget)
|
||||
{
|
||||
var distance = Vector3.Distance(toTarget, Vector3.zero);
|
||||
var heightDifference = toTarget.y;
|
||||
|
||||
var gravity = Physics.gravity.magnitude;
|
||||
var velocitySqr = initialVelocity * initialVelocity;
|
||||
var underSqrt = (velocitySqr * velocitySqr) - (gravity * ((gravity * distance * distance) + (2 * heightDifference * velocitySqr)));
|
||||
|
||||
if (underSqrt >= 0)
|
||||
{
|
||||
var angle1 = Mathf.Atan((velocitySqr + Mathf.Sqrt(underSqrt)) / (gravity * distance));
|
||||
var angle2 = Mathf.Atan((velocitySqr - Mathf.Sqrt(underSqrt)) / (gravity * distance));
|
||||
|
||||
return Mathf.Min(angle1, angle2) * Mathf.Rad2Deg;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 45f;
|
||||
}
|
||||
}
|
||||
|
||||
public void SetShootingArrow(Vector3 targetPosition, AiStat attacker, int targetLayerMask)
|
||||
{
|
||||
targetPos = targetPosition;
|
||||
attackerStat = attacker;
|
||||
targetLayer = targetLayerMask;
|
||||
}
|
||||
//public void SetAiStat(AiStat attacker) => attackerStat = attacker;
|
||||
//public void SetTargetLayer(int targetLayerMask) => targetLayer = targetLayerMask;
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region ObjectPool function
|
||||
|
||||
private void DestroyObject() => managedArrowPool.Release(this);
|
||||
|
||||
public void SetManagedPool(IObjectPool<Arrow> pool) => managedArrowPool = pool;
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
11
BlueWater/Assets/02.Scripts/Arrow.cs.meta
Normal file
11
BlueWater/Assets/02.Scripts/Arrow.cs.meta
Normal file
@ -0,0 +1,11 @@
|
||||
fileFormatVersion: 2
|
||||
guid: b92a5d3b88920fb49a3f6cbb978d4256
|
||||
MonoImporter:
|
||||
externalObjects: {}
|
||||
serializedVersion: 2
|
||||
defaultReferences: []
|
||||
executionOrder: 0
|
||||
icon: {instanceID: 0}
|
||||
userData:
|
||||
assetBundleName:
|
||||
assetBundleVariant:
|
@ -13,6 +13,7 @@ GameObject:
|
||||
- component: {fileID: 1785029973891203311}
|
||||
- component: {fileID: 353518751665641904}
|
||||
- component: {fileID: 946815694508473086}
|
||||
- component: {fileID: -5311732570981789242}
|
||||
m_Layer: 11
|
||||
m_Name: Arrow_01
|
||||
m_TagString: Untagged
|
||||
@ -133,3 +134,18 @@ BoxCollider:
|
||||
serializedVersion: 3
|
||||
m_Size: {x: 2.5193424, y: 0.1075005, z: 0.19868845}
|
||||
m_Center: {x: -0.4827804, y: 0, z: -0.00000009685755}
|
||||
--- !u!114 &-5311732570981789242
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 3190292116200820221}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: b92a5d3b88920fb49a3f6cbb978d4256, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
initialVelocity: 10
|
||||
inaccuracy: 0.2
|
||||
autoDestroyTime: 5
|
||||
|
@ -8842,6 +8842,7 @@ GameObject:
|
||||
- component: {fileID: 5573013734212559145}
|
||||
- component: {fileID: 7168357575438651213}
|
||||
- component: {fileID: 7791165217067826530}
|
||||
- component: {fileID: -9215612320947280157}
|
||||
- component: {fileID: 7907774551260894579}
|
||||
m_Layer: 10
|
||||
m_Name: Archer_E
|
||||
@ -9013,14 +9014,54 @@ CapsuleCollider:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.3
|
||||
m_Height: 1.6
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0, y: 0.8, z: 0}
|
||||
--- !u!114 &-9215612320947280157
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 155132}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0b788620b2cca0844a3b03748ada3423, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
drawGizmo: 1
|
||||
targetLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 768
|
||||
viewAngle: 360
|
||||
viewRadius: 50
|
||||
colliderWithinRange:
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &7907774551260894579
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -9044,6 +9085,10 @@ MonoBehaviour:
|
||||
shieldPenetrationRate: 25
|
||||
penetrationResistivity: 0
|
||||
avoidanceRate: 20
|
||||
arrowPrefab: {fileID: 3190292116200820221, guid: 09f461c60481dea4b975222675a2682f,
|
||||
type: 3}
|
||||
arrowMaxSize: 100
|
||||
shootArrowTime: 0.2
|
||||
--- !u!1 &156456
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -8842,6 +8842,7 @@ GameObject:
|
||||
- component: {fileID: 1585740381921473437}
|
||||
- component: {fileID: 6873184234425177088}
|
||||
- component: {fileID: 3683547817894632574}
|
||||
- component: {fileID: -3917505405678989428}
|
||||
- component: {fileID: 7182214291447694529}
|
||||
m_Layer: 10
|
||||
m_Name: SpearKight_E
|
||||
@ -9013,14 +9014,54 @@ CapsuleCollider:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.3
|
||||
m_Height: 1.6
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0, y: 0.8, z: 0}
|
||||
--- !u!114 &-3917505405678989428
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 155132}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0b788620b2cca0844a3b03748ada3423, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
drawGizmo: 1
|
||||
targetLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 768
|
||||
viewAngle: 360
|
||||
viewRadius: 50
|
||||
colliderWithinRange:
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &7182214291447694529
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -8842,6 +8842,7 @@ GameObject:
|
||||
- component: {fileID: -5432587835745218081}
|
||||
- component: {fileID: 3624658373763787491}
|
||||
- component: {fileID: 4122610663137176938}
|
||||
- component: {fileID: -8280972574167639194}
|
||||
- component: {fileID: 7704073908654393070}
|
||||
m_Layer: 10
|
||||
m_Name: Spearman_E
|
||||
@ -9013,14 +9014,54 @@ CapsuleCollider:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.3
|
||||
m_Height: 1.6
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0, y: 0.8, z: 0}
|
||||
--- !u!114 &-8280972574167639194
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 155132}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0b788620b2cca0844a3b03748ada3423, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
drawGizmo: 1
|
||||
targetLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 768
|
||||
viewAngle: 360
|
||||
viewRadius: 50
|
||||
colliderWithinRange:
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &7704073908654393070
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -8842,6 +8842,7 @@ GameObject:
|
||||
- component: {fileID: -6969909005288574405}
|
||||
- component: {fileID: 1866651242933062860}
|
||||
- component: {fileID: 1995768815968683845}
|
||||
- component: {fileID: 8188970957291078347}
|
||||
- component: {fileID: 6047348452593534959}
|
||||
m_Layer: 10
|
||||
m_Name: SwordKnight_E
|
||||
@ -9013,14 +9014,54 @@ CapsuleCollider:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.3
|
||||
m_Height: 1.6
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0, y: 0.8, z: 0}
|
||||
--- !u!114 &8188970957291078347
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 155132}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0b788620b2cca0844a3b03748ada3423, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
drawGizmo: 1
|
||||
targetLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 768
|
||||
viewAngle: 360
|
||||
viewRadius: 50
|
||||
colliderWithinRange:
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &6047348452593534959
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -8842,6 +8842,7 @@ GameObject:
|
||||
- component: {fileID: 2465164759345150209}
|
||||
- component: {fileID: 5315314452492636260}
|
||||
- component: {fileID: 4374537182398505653}
|
||||
- component: {fileID: -240874973628863183}
|
||||
- component: {fileID: 1001412064052513076}
|
||||
m_Layer: 10
|
||||
m_Name: Swordman_E
|
||||
@ -9013,14 +9014,54 @@ CapsuleCollider:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.3
|
||||
m_Height: 1.6
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0, y: 0.8, z: 0}
|
||||
--- !u!114 &-240874973628863183
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 155132}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0b788620b2cca0844a3b03748ada3423, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
drawGizmo: 1
|
||||
targetLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 768
|
||||
viewAngle: 360
|
||||
viewRadius: 50
|
||||
colliderWithinRange:
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &1001412064052513076
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -8842,6 +8842,7 @@ GameObject:
|
||||
- component: {fileID: -1452054039192376132}
|
||||
- component: {fileID: 7512442584761959655}
|
||||
- component: {fileID: 1485348745952943168}
|
||||
- component: {fileID: 7637477476578413928}
|
||||
- component: {fileID: 5368244484501432161}
|
||||
m_Layer: 9
|
||||
m_Name: Archer_P
|
||||
@ -9013,14 +9014,54 @@ CapsuleCollider:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.3
|
||||
m_Height: 1.6
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0, y: 0.8, z: 0}
|
||||
--- !u!114 &7637477476578413928
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 155132}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0b788620b2cca0844a3b03748ada3423, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
drawGizmo: 1
|
||||
targetLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 1024
|
||||
viewAngle: 360
|
||||
viewRadius: 50
|
||||
colliderWithinRange:
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &5368244484501432161
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
@ -9044,6 +9085,10 @@ MonoBehaviour:
|
||||
shieldPenetrationRate: 25
|
||||
penetrationResistivity: 0
|
||||
avoidanceRate: 20
|
||||
arrowPrefab: {fileID: 3190292116200820221, guid: 09f461c60481dea4b975222675a2682f,
|
||||
type: 3}
|
||||
arrowMaxSize: 100
|
||||
shootArrowTime: 0.2
|
||||
--- !u!1 &156456
|
||||
GameObject:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -8842,6 +8842,7 @@ GameObject:
|
||||
- component: {fileID: 5092290984078098781}
|
||||
- component: {fileID: 2614437605201190422}
|
||||
- component: {fileID: 2219967035923003510}
|
||||
- component: {fileID: 1879530881354914857}
|
||||
- component: {fileID: 6907943215527842660}
|
||||
m_Layer: 9
|
||||
m_Name: Axeman_P
|
||||
@ -9013,14 +9014,54 @@ CapsuleCollider:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.3
|
||||
m_Height: 1.6
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0, y: 0.8, z: 0}
|
||||
--- !u!114 &1879530881354914857
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 155132}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0b788620b2cca0844a3b03748ada3423, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
drawGizmo: 1
|
||||
targetLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 1024
|
||||
viewAngle: 360
|
||||
viewRadius: 50
|
||||
colliderWithinRange:
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &6907943215527842660
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -8842,6 +8842,7 @@ GameObject:
|
||||
- component: {fileID: 3215129809532427712}
|
||||
- component: {fileID: 8718300241156730733}
|
||||
- component: {fileID: 13124744015303705}
|
||||
- component: {fileID: -836644672241485533}
|
||||
- component: {fileID: 5358608732463309424}
|
||||
m_Layer: 9
|
||||
m_Name: Spearman_P
|
||||
@ -9013,14 +9014,54 @@ CapsuleCollider:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.3
|
||||
m_Height: 1.6
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0, y: 0.8, z: 0}
|
||||
--- !u!114 &-836644672241485533
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 155132}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0b788620b2cca0844a3b03748ada3423, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
drawGizmo: 1
|
||||
targetLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 1024
|
||||
viewAngle: 360
|
||||
viewRadius: 50
|
||||
colliderWithinRange:
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &5358608732463309424
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -8842,6 +8842,7 @@ GameObject:
|
||||
- component: {fileID: 5757796364526883762}
|
||||
- component: {fileID: 4974866494169781262}
|
||||
- component: {fileID: 9121247047284190495}
|
||||
- component: {fileID: -8553620294219021237}
|
||||
- component: {fileID: 577732947051587098}
|
||||
m_Layer: 9
|
||||
m_Name: SwordKnight_P
|
||||
@ -9013,14 +9014,54 @@ CapsuleCollider:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.3
|
||||
m_Height: 1.6
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0, y: 0.8, z: 0}
|
||||
--- !u!114 &-8553620294219021237
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 155132}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0b788620b2cca0844a3b03748ada3423, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
drawGizmo: 1
|
||||
targetLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 1024
|
||||
viewAngle: 360
|
||||
viewRadius: 50
|
||||
colliderWithinRange:
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &577732947051587098
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
@ -8842,6 +8842,7 @@ GameObject:
|
||||
- component: {fileID: -7252639514611643757}
|
||||
- component: {fileID: 4344432134670323988}
|
||||
- component: {fileID: 6882424985411624636}
|
||||
- component: {fileID: -1501104226175991063}
|
||||
- component: {fileID: 1136834195750313725}
|
||||
m_Layer: 9
|
||||
m_Name: Swordman_P
|
||||
@ -9013,14 +9014,54 @@ CapsuleCollider:
|
||||
serializedVersion: 2
|
||||
m_Bits: 0
|
||||
m_LayerOverridePriority: 0
|
||||
m_IsTrigger: 0
|
||||
m_IsTrigger: 1
|
||||
m_ProvidesContacts: 0
|
||||
m_Enabled: 0
|
||||
m_Enabled: 1
|
||||
serializedVersion: 2
|
||||
m_Radius: 0.3
|
||||
m_Height: 1.6
|
||||
m_Direction: 1
|
||||
m_Center: {x: 0, y: 0.8, z: 0}
|
||||
--- !u!114 &-1501104226175991063
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
m_CorrespondingSourceObject: {fileID: 0}
|
||||
m_PrefabInstance: {fileID: 0}
|
||||
m_PrefabAsset: {fileID: 0}
|
||||
m_GameObject: {fileID: 155132}
|
||||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 0b788620b2cca0844a3b03748ada3423, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
drawGizmo: 1
|
||||
targetLayer:
|
||||
serializedVersion: 2
|
||||
m_Bits: 1024
|
||||
viewAngle: 360
|
||||
viewRadius: 50
|
||||
colliderWithinRange:
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
- {fileID: 0}
|
||||
targetTransform: {fileID: 0}
|
||||
--- !u!114 &1136834195750313725
|
||||
MonoBehaviour:
|
||||
m_ObjectHideFlags: 0
|
||||
|
Loading…
Reference in New Issue
Block a user