일단 골격만 만들었지 아직 손을 봐야 할게 많은 거 같다. 일단 먼저 해결해야 할게 카메라가 클로즈업될 때 공격 방향에 따라 적절한 위치에 카메라가 자리 잡는 것이다. 이 경우 액션 시 카메라를 돌릴 수 있도록 해둔 것을 막을 필요가 있을 듯싶다. 그리고 크리티컬이나 막 타가 아닌 이상 슬로 모션을 굳이 넣을 필요는 없을 듯싶다. 그리고 체력이 다는 것을 구현을 하고 죽은 경우 리스트에서 제하도록 하는 게 필요할 듯싶다. 콜라이더도 제거하고 말이다. 아들고 시체를 어떻게 처리를 해야 하는지도 문제다.
먼가 적당한 위치가 있을듯 싶다. 일단 (0, -0.5, 0)를 집어넣었다. -1을 넣으니까 너무 가운데로 가서 말이다. 그다음으로 알아내야 할게 슬로가 들어갈 때가 있고 아닐 때가 있다는 거다. 그리고 공격 시 체력이 다는 것도 구현해야 할 필요가 있을 듯싶다. 죽는 경우와 죽지 않은 경우에 따라 모션이 바뀌는 것도 구현해야 한다. 거의 근접 공격의 경우에는 적이 방어수단이 없으면 거의 확정 타격이 들어가게 해야 하지 않을까 싶다. 물론 반격이나 방어를 구현해야 할 테고 말이다. 혈흔 이펙트와 공격 이펙트도 구현해야겠다. 그것까지 하면 홍보하러 돌아다녀야 할 듯싶다. 사실상 한고비를 넘긴 셈이니 말이다.
이펙트의 경우에는 어느게 어울릴지 잘 모르겠으니 일단 구매하고 적용하고 테스트하는 과정을 꽤 겪어야 하지 않을까 싶다. 탄약을 충분히 구비해 두어야겠다.
어둡게 한다음에 boom을 넣었다. 그냥 오리지널이 나은가?? 모르겠다.
이펙트 프리펩 같이 일일이 수동으로 등록해야 하는 건 게임 매니저에 넣어 놓으면 편하다.
이펙트 공부중이다.
멋진 기능이 많은 듯싶다.
혈흔은 추가해야 하나 말아야 하나 고민이다. 일단 이것만으로도 충분히 멋져서 말이다.
해보면 알 수 있겠지 말이다.
아직 사운드가 없지만 타격감이 전율이 난다. 물론 나만 그럴 수도 있지만 말이다.
인디 개발하는 사람들이 나보고 특이점이라고 하더라. 일단 혈흔은 차차 해보기로 하고 코드를 좀 정리를 해야겠다. 이게 플레이어 이동에만 맞추어져 있고 스킬을 추가하는 걸 고려하지 않고 만들었더니 버그가 출몰한다.
SFD라는 로그라이크 턴제 전락 게임이 있는데 개 재미있다.
개발자가 4년 동안 명작을 만든 듯싶다...
플레이어가 죽었을 때와 죽지 않았을 때를 구분해야 할 듯싶다. 이를 위해서는 체력시스템과 데미지 시스템을 만들어야 할듯 싶다.
그냥 다 넣을 난다. 아 그리고 죽으면 바닥에 피가 고이는 연출도 필요하다. ITween 스케일 기능으로 만들면 될 듯싶다.
그다음 만들 알고리즘은 자기 전에 생각해둔 거 같은데 까먹어 버렸다. 일단 필요한 게 죽는 경우와 죽지 않는 경우를 만들어야 한다. 그렇다면 애니메이터에 쓰러지지는 않는 애니메이션을 만들어야겠다. 구별을 하기 위해서는 무기의 대미지 시스템을 만들어야 할 듯싶다. 현제 채력을 만들어서 빼면 될 듯싶다. 지금 체력을 4로 해 두었으니 3 또는 4로 랜덤하게 만들어야 할듯 싶다. 그렇게 해서 상황에 따라 다른 애니메이션이 나오고 체력바가 애니가 끝나면 뜨게 설정을 해 두었기 때문에 이걸 바꿔야 할듯 싶다. 체력바는 줄어든 체력이 나오게 해야 할듯 싶다. 그리고 죽은 경우에는 체력바가 뜨지 않게 하면 될듯 싶다. 그리고 커런트 액티브 에너미 리스트에서 지워야 차후에 인공지능을 구현할 때 문제가 생기지 않을 듯싶다.
태그를 활용한다.
var damage = (int) Random.Range (weapon.damageMin, weapon.damageMax+1);
enemy.currentHP=enemy.currentHP-damage;
if (enemy.currentHP<= 0)
{
enemy.animator.SetTrigger ("Die");
print (enemy.currentHP);
}
else
{
enemy.animator.SetTrigger ("Withstand");
print (enemy.currentHP);
}
이제 문제는 체력 바랑 연동을 하는 거다.
publicvoidfill()
{
float value = (float) participant.CurrentHP/ (float) participant.BaseHP;
print (value);
healthBar.fillAmount=value;
}
그 작업을 하면서 알아낸 건데 int와 int를 나누면 int가 나온다. 필이 float로 바꾸어 주어야 한다. 그리고 fillAmount를 쓰고 싶으면 이미지를 첨부해야 한다. 이걸 몰라서 헤맸다.
voidMakeHPBar (Participant paticipant, Color color)
너무 방안에만 있어서 감옥살이하는 거 같아서 태블릿을 샀다. 아이패드 크롬북 서피스중에서 고민을 했다. 아이패드는 유니티를 대체할 수 있는 앱이 없어서 보류하고 크롬 북하고 서비스가 경합을 했는데 가격적인 문제 때문에 크롬북을 골랐다. 400$ ~ 500$ 사이에 동급에서 좀 크기가 있는 프로그램이 무리 없이 돌아가는 건 크롬북 밖에 없다고 하더라... 머랄까 윈도는 모바일 기기에서 쓰려면 고가 라인을 사야 한다고 해야 하나 그렇더라. 결국 문제는 돈이 없다. 문제는 크롬북을 사면 한국에서 일반 사무를 못 본다는 건데 취업을 포기했으니 상관없을 듯싶다.