회전 베기
This commit is contained in:
parent
72e17af2bf
commit
ef0181395d
File diff suppressed because one or more lines are too long
Binary file not shown.
|
|
@ -0,0 +1,139 @@
|
||||||
|
%YAML 1.1
|
||||||
|
%TAG !u! tag:unity3d.com,2011:
|
||||||
|
--- !u!1 &1350445096495842306
|
||||||
|
GameObject:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
serializedVersion: 6
|
||||||
|
m_Component:
|
||||||
|
- component: {fileID: 1350445096495842305}
|
||||||
|
- component: {fileID: 2691850233177647995}
|
||||||
|
m_Layer: 0
|
||||||
|
m_Name: Effect_Hit_Skill_SpinSlash
|
||||||
|
m_TagString: Untagged
|
||||||
|
m_Icon: {fileID: 0}
|
||||||
|
m_NavMeshLayer: 0
|
||||||
|
m_StaticEditorFlags: 0
|
||||||
|
m_IsActive: 1
|
||||||
|
--- !u!4 &1350445096495842305
|
||||||
|
Transform:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1350445096495842306}
|
||||||
|
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: 6634425797090940437}
|
||||||
|
m_Father: {fileID: 0}
|
||||||
|
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
|
||||||
|
--- !u!114 &2691850233177647995
|
||||||
|
MonoBehaviour:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
m_CorrespondingSourceObject: {fileID: 0}
|
||||||
|
m_PrefabInstance: {fileID: 0}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
m_GameObject: {fileID: 1350445096495842306}
|
||||||
|
m_Enabled: 1
|
||||||
|
m_EditorHideFlags: 0
|
||||||
|
m_Script: {fileID: 11500000, guid: 456d2bd1c5c2e5e4b8b948836c4975a4, type: 3}
|
||||||
|
m_Name:
|
||||||
|
m_EditorClassIdentifier:
|
||||||
|
NoUseParticleTime: 1
|
||||||
|
OffTime: 0.5
|
||||||
|
e_EffectLocation: 0
|
||||||
|
--- !u!1001 &4075250217066410284
|
||||||
|
PrefabInstance:
|
||||||
|
m_ObjectHideFlags: 0
|
||||||
|
serializedVersion: 2
|
||||||
|
m_Modification:
|
||||||
|
serializedVersion: 3
|
||||||
|
m_TransformParent: {fileID: 1350445096495842305}
|
||||||
|
m_Modifications:
|
||||||
|
- target: {fileID: 7249675442437269305, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.x
|
||||||
|
value: 0.25
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7249675442437269305, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.y
|
||||||
|
value: 0.25
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7249675442437269305, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalScale.z
|
||||||
|
value: 0.25
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7249675442437269305, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7249675442437269305, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7249675442437269305, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalPosition.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7249675442437269305, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.w
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7249675442437269305, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7249675442437269305, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7249675442437269305, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalRotation.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7249675442437269305, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.x
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7249675442437269305, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.y
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7249675442437269305, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 7249675442437269310, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_Name
|
||||||
|
value: FX_Shoot_02_hit
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
m_RemovedComponents: []
|
||||||
|
m_RemovedGameObjects: []
|
||||||
|
m_AddedGameObjects: []
|
||||||
|
m_AddedComponents: []
|
||||||
|
m_SourcePrefab: {fileID: 100100000, guid: dd2b1ac4a32ca184683f15984f30d88f, type: 3}
|
||||||
|
--- !u!4 &6634425797090940437 stripped
|
||||||
|
Transform:
|
||||||
|
m_CorrespondingSourceObject: {fileID: 7249675442437269305, guid: dd2b1ac4a32ca184683f15984f30d88f,
|
||||||
|
type: 3}
|
||||||
|
m_PrefabInstance: {fileID: 4075250217066410284}
|
||||||
|
m_PrefabAsset: {fileID: 0}
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
fileFormatVersion: 2
|
||||||
|
guid: c1805a501e37d1a469c05f08c4ce3792
|
||||||
|
PrefabImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
|
|
@ -46,14 +46,17 @@ MonoBehaviour:
|
||||||
m_Script: {fileID: 11500000, guid: 8086c809b8d173d45be2ca40560a681a, type: 3}
|
m_Script: {fileID: 11500000, guid: 8086c809b8d173d45be2ca40560a681a, type: 3}
|
||||||
m_Name:
|
m_Name:
|
||||||
m_EditorClassIdentifier:
|
m_EditorClassIdentifier:
|
||||||
m_Pierce: 0
|
ColliderLayer: Actor
|
||||||
str_HitEffect:
|
m_Pierce: 1
|
||||||
m_ShowTimeOverEffect: 1
|
str_HitEffect: Effect_Hit_Skill_SpinSlash
|
||||||
|
m_ShowTimeOverEffect: 0
|
||||||
m_Collider: {fileID: 0}
|
m_Collider: {fileID: 0}
|
||||||
Loop: 15
|
LoopTime: 3
|
||||||
DelayTime: 0.25
|
Loop: 0
|
||||||
|
DelayTime: 0.1
|
||||||
ColliderActiveFrame: 1
|
ColliderActiveFrame: 1
|
||||||
m_speed: 4
|
m_firstspeed: 10
|
||||||
|
m_speed: 2
|
||||||
--- !u!65 &646577785751406902
|
--- !u!65 &646577785751406902
|
||||||
BoxCollider:
|
BoxCollider:
|
||||||
m_ObjectHideFlags: 0
|
m_ObjectHideFlags: 0
|
||||||
|
|
@ -148,11 +151,26 @@ PrefabInstance:
|
||||||
propertyPath: m_LocalEulerAnglesHint.z
|
propertyPath: m_LocalEulerAnglesHint.z
|
||||||
value: 0
|
value: 0
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3795761376887037933, guid: 01d7f969ea087264999d466695415a99,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_IsActive
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 3966090300889708928, guid: 01d7f969ea087264999d466695415a99,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_IsActive
|
||||||
|
value: 0
|
||||||
|
objectReference: {fileID: 0}
|
||||||
- target: {fileID: 4297842659697493505, guid: 01d7f969ea087264999d466695415a99,
|
- target: {fileID: 4297842659697493505, guid: 01d7f969ea087264999d466695415a99,
|
||||||
type: 3}
|
type: 3}
|
||||||
propertyPath: m_Name
|
propertyPath: m_Name
|
||||||
value: FX_Whirling Sword
|
value: FX_Whirling Sword
|
||||||
objectReference: {fileID: 0}
|
objectReference: {fileID: 0}
|
||||||
|
- target: {fileID: 4963428307614964137, guid: 01d7f969ea087264999d466695415a99,
|
||||||
|
type: 3}
|
||||||
|
propertyPath: m_IsActive
|
||||||
|
value: 1
|
||||||
|
objectReference: {fileID: 0}
|
||||||
m_RemovedComponents: []
|
m_RemovedComponents: []
|
||||||
m_RemovedGameObjects: []
|
m_RemovedGameObjects: []
|
||||||
m_AddedGameObjects: []
|
m_AddedGameObjects: []
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,9 @@ using UnityEngine;
|
||||||
public class Projectile_StopAndColliderControl : ProjectileBase
|
public class Projectile_StopAndColliderControl : ProjectileBase
|
||||||
{
|
{
|
||||||
public Collider m_Collider;
|
public Collider m_Collider;
|
||||||
[Header("다단히트 갯수")]
|
[Header("다단히트 시간(0 이상일 때 우선 적용")]
|
||||||
|
public float LoopTime = 0f;
|
||||||
|
[Header("다단히트 갯수(시간이 0이하일 때 적용)")]
|
||||||
public int Loop = 1;
|
public int Loop = 1;
|
||||||
[Header("충돌박스가 꺼졌다 켜지는 시간(0 == 1프레임)")]
|
[Header("충돌박스가 꺼졌다 켜지는 시간(0 == 1프레임)")]
|
||||||
public float DelayTime = 1f;
|
public float DelayTime = 1f;
|
||||||
|
|
@ -26,14 +28,25 @@ public class Projectile_StopAndColliderControl : ProjectileBase
|
||||||
|
|
||||||
protected IEnumerator Co_Collider()
|
protected IEnumerator Co_Collider()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < Loop; i++)
|
int loopCount = Loop;
|
||||||
|
|
||||||
|
if (LoopTime > 0f)
|
||||||
|
{
|
||||||
|
float oneCycleTime = Mathf.Max(DelayTime, Time.deltaTime) + (ColliderActiveFrame / 60f);
|
||||||
|
loopCount = Mathf.FloorToInt(LoopTime / oneCycleTime);
|
||||||
|
loopCount = Mathf.Max(loopCount, 1); // 최소 1회는 보장
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = 0; i < loopCount; i++)
|
||||||
{
|
{
|
||||||
m_Collider.enabled = false;
|
m_Collider.enabled = false;
|
||||||
yield return new WaitForSeconds(DelayTime > 0f ? DelayTime : Time.deltaTime);
|
yield return new WaitForSeconds(DelayTime > 0f ? DelayTime : Time.deltaTime);
|
||||||
m_Collider.enabled = true;
|
m_Collider.enabled = true;
|
||||||
|
|
||||||
for (int j = 0; j < ColliderActiveFrame; j++)
|
for (int j = 0; j < ColliderActiveFrame; j++)
|
||||||
yield return null;
|
yield return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_Collider.enabled = false;
|
m_Collider.enabled = false;
|
||||||
act_End?.Invoke();
|
act_End?.Invoke();
|
||||||
act_End = null;
|
act_End = null;
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,22 @@ using UnityEngine;
|
||||||
|
|
||||||
public class Skill_SpinSlash : Projectile_StopAndColliderControl
|
public class Skill_SpinSlash : Projectile_StopAndColliderControl
|
||||||
{
|
{
|
||||||
|
[Header("처음 이동 속도")]
|
||||||
|
public float m_firstspeed = 4f;
|
||||||
[Header("이동 속도")]
|
[Header("이동 속도")]
|
||||||
public float m_speed = 2f;
|
public float m_speed = 2f;
|
||||||
|
|
||||||
|
bool hitStart;
|
||||||
|
|
||||||
public override void Set(ProjectileData _data)
|
public override void Set(ProjectileData _data)
|
||||||
{
|
{
|
||||||
|
hitStart = false;
|
||||||
_data.eStartPos = eProjectileStartPos.ShooterCenter;
|
_data.eStartPos = eProjectileStartPos.ShooterCenter;
|
||||||
|
_data.Action_OnHit = hitter =>
|
||||||
|
{
|
||||||
|
hitStart = true;
|
||||||
|
hitter.Attract(transform.position);
|
||||||
|
};
|
||||||
base.Set(_data);
|
base.Set(_data);
|
||||||
LookAt_ShooterFoward();
|
LookAt_ShooterFoward();
|
||||||
StartCoroutine(Co_Update());
|
StartCoroutine(Co_Update());
|
||||||
|
|
@ -17,14 +27,22 @@ public class Skill_SpinSlash : Projectile_StopAndColliderControl
|
||||||
|
|
||||||
IEnumerator Co_Update()
|
IEnumerator Co_Update()
|
||||||
{
|
{
|
||||||
yield return new WaitForSeconds(0.5f);
|
while (!hitStart)
|
||||||
|
{
|
||||||
|
yield return null;
|
||||||
|
|
||||||
|
if (DSUtil.CheckNull(m_ProjecTileData.target)) break;
|
||||||
|
transform.position = Vector3.MoveTowards(transform.position, m_ProjecTileData.target.Get_position(),
|
||||||
|
m_firstspeed * Time.deltaTime);
|
||||||
|
}
|
||||||
|
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
|
yield return null;
|
||||||
|
|
||||||
if (DSUtil.CheckNull(m_ProjecTileData.target)) break;
|
if (DSUtil.CheckNull(m_ProjecTileData.target)) break;
|
||||||
transform.position = Vector3.MoveTowards(transform.position, m_ProjecTileData.target.Get_position(),
|
transform.position = Vector3.MoveTowards(transform.position, m_ProjecTileData.target.Get_position(),
|
||||||
m_speed * Time.deltaTime);
|
m_speed * Time.deltaTime);
|
||||||
yield return null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue