제가 지금 포탈클릭시 문앞에 포인트로 이동후 문뒤로 이동하라고 명령하고싶은데
현재지점 -> A(문앞)지점을바라보면서 동시에 A로이동 -> A이동완료후 B(문뒤)를 바라보면서 B로이동
이런식으로 짜고싶은데 이동하면서 바라보는걸 어떻게하죠??
A이동까지 2초내에 가야하지만 A를 바라보는데 걸리는 시간은 0.5초 이런식으로 설정하고싶습니다.
IEnumerator EnterToPortal(List<UnitInfo> unit)
{
int i = 0;
while (i < PlayerManagerForTouchScreen.Instance.partyCount)
{
unit[i].agentNavMesh.navState = NavState.Uncontrol;
unit[i].animator.SetFloat(AnimationName.VelocityZ.ToString(), 4);
unit[i].nav.enabled = false;
unit[i].obj.transform.LookAt(enterPos.position + Vector3.up * 0.5f);
Sequence mySequence = DOTween.Sequence();
mySequence.Append(unit[i].obj.transform.DOMove(enterPos.position, 2))
.Append(unit[i].obj.transform.DOLookAt(outPos.position,0)).
Append(unit[i].obj.transform.DOMove(outPos.position, 2));
i++;
yield return new WaitForSeconds(1);
}
yield return null;
}
이건 현재 코드입니다 케릭은 총 4명이고 동시에 출발이 아닌 1초간격을 두고 출발해야해서 코루틴을 썼는데 저놈에 바라보면서 이동하는게 안되네요
0초로 만드니깐 엄청 부자연스럽습니다..
코루틴안써도 걍 dotween 으로 다해결가능할텐데?
https://blog.naver.com/hana100494/221320177107
이사람 블로그 dotween관련글 쭉 정독하고 다시 배워보셈. 시퀀스 짜서 중간 중간 딜레이 넣을수도있고, dotween 한줄에 람다식 섞어서 싹마 말아넣을수있음.
코드짠거보면 글작성자 아마 람다식 이해못하고 있을껄?
AppendInterval
mySequence.Append(unit[i].obj.transform.DOMove(enterPos.position, 2)) .PrependInterval(0) .Insert(0, unit[i].obj.transform.DOLookAt(enterPos.position + Vector3.up * 0.5f, 0.5F)) .Append(unit[i].obj.transform.DOMove(outPos.position, 2)) .PrependInterval(0) .Insert(2, unit[i].obj.transform.DOLookAt(outPos.position + Vector3.up * 0.5f, 0.5F));
이렇게 하니 작동은 잘되네요 감사합니다 근데 람다식 배우긴했는데 익숙치가 않아서 ... 위경우에는 어떤식으로 사용해야할까요??
해당 댓글은 삭제되었습니다.
람다 배우긴했는데 익숙치가않아서.. 여기선 어떻게 써야하나요
제가 쓴 새글에 바라보면서 이동은 해결했습니다.
근데 여기서 캐릭이 총 4명인데 그걸 1초단위로 간격주고 이동하게 하는건데 이걸 람다식으로 쓸수 있다고하더라고요
https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=68947&page=1
답변 감사합니다 ㅠ.ㅠ
근데 저는 appendinterval 써서 아예 시작부터 2초뒤에 B지점을 바라보라고 명령했는데 Join같은건 어떻게 쓰이는건가요??
아 Join이 그전명령과 같이한다는 의미군요 한번 사용해보겠습니다 감사합니다.
아 Join 더 깔끔하고 편하네요 감사합니다