반응형
SMALL
- 전반적인 UI의 크기 개선 및 소팅 오더 개선
- 카메라의 시야각이 넓어졌고 버튼의 크기가 기존보다 커짐
- 아이템이 인벤토리에 가득 찼을때 인벤토리가 가득찼다는 메시지 팝업 생성
코드
private void MakeFieldFullText(Transform playerTrans)
{
if (!this.isFullField)
{
this.txtFullField.gameObject.SetActive(true);
this.isFullField = true;
var playerPos = playerTrans.position;
var fieldPos = Camera.main.WorldToScreenPoint(playerPos);
var finalPos = new Vector3(fieldPos.x, fieldPos.y + 50, fieldPos.z);
this.txtFullField.rectTransform.position = finalPos;
this.txtFullField.DOFade(1, 0.1f).SetEase(Ease.OutCubic);
this.txtFullField.rectTransform.DOMoveY(this.txtFullField.rectTransform.position.y+50f, 0.2f).SetEase(Ease.OutCubic).OnComplete(() =>
{
this.txtFullField.rectTransform.DOShakePosition(0.2f, new Vector3(10f, -10f, 0f), 20, 90f, false, true).SetEase(Ease.OutCubic).OnComplete(() => {
DOTween.Sequence()
.AppendInterval(0.5f)
.Append(this.txtFullField.DOFade(0, 0.2f).SetEase(Ease.InCubic))
.Join(this.txtFullField.rectTransform.DOMoveY(this.txtFullField.rectTransform.position.y + 50f, 0.3f).SetEase(Ease.InCubic))
.AppendInterval(0.5f)
.OnComplete(() =>
{
this.isFullField = false;
this.txtFullField.color = this.defaultFieldColor;
this.txtFullField.gameObject.SetActive(false);
});
});
});
}
}
private void OnDisable()
{
this.txtFullField.DOKill();
this.txtFullPopup.DOKill();
}
- 상점에서 아이템이 가득찰시 안내 멘트 추가
코드
private void MakeFullPopupText()
{
this.txtFullPopup.gameObject.SetActive(true);
DOTween.Kill(this.txtFullPopup);
this.txtFullPopup.color = this.defaultPopupColor;
this.txtFullPopup.transform.DOShakePosition(0.3f,10).OnComplete(() => {
DOTween.Sequence()
.AppendInterval(0.5f).OnComplete(() =>{
this.txtFullPopup.DOFade(0, 0.5f).SetEase(Ease.InElastic).OnComplete(() => {
this.txtFullPopup.gameObject.SetActive(false);
});
});
});
}
- 이전 피격시 번쩍이는 효과가 부담스럽다는 의견을 수렴, 화면 중앙이 아닌 화면 비율에 따라 화면의 테두리에 피격이펙트가 생성되도록 수정
카메라의 비율에 따른 화면의 외곽 포지션을 잡아주는 코드
//Vector3 rightCenter = GetCameraBoundsCenter(new Vector3(1f, 0.5f));
//Vector3 leftCenter = GetCameraBoundsCenter(new Vector3(0f, 0.5f));
//Vector3 topCenter = GetCameraBoundsCenter(new Vector3(0.5f, 1f));
//Vector3 bottomCenter = GetCameraBoundsCenter(new Vector3(0.5f, 0f));
private Vector3 GetCameraBoundsCenter(Vector3 viewportPoint)
{
viewportPoint.z = Camera.main.nearClipPlane;
Vector3 worldPoint = Camera.main.ViewportToWorldPoint(viewportPoint);
return worldPoint;
}
아직 이펙트를 어떤식으로 연출시켜야 할지 고민이 있어 일단 구현 만 잡아두고 전체적인 연출은 좀더 고려할 예정이다.
(때문에 에셋을 고르는데 상당히 시간을 써버렸다 흑)
어찌됐든 이러한 이유로 유혈등이 게임에 나오게 되면 상당히 귀찮아 진다는 애기있기에 우리 게임에서 붉은 색으로 뭔가를 표현할때 잔인하거나 징그러우면 안된다는 점을 고려, 또 이전에 피드백에서 처럼 유저의 눈에 피로감을 주지 않는 방향으로 연출을 해볼 예정이다.
점점 퀄업 쪽으로 무게가 쏠리고 있으니 오히려 좋아!
반응형
LIST
'프로젝트 > 건즈앤 레이첼스' 카테고리의 다른 글
[유니티 프로젝트] 미니맵 기능 추가 및 필드 재화 & 에테르 재화 연출 및 획득 연출 & 인벤토리 아이템 획득 연출 (0) | 2023.05.21 |
---|---|
[유니티 프로젝트]2023.05.17 플레이어 hit 연출, 아이템 획득 연출 추가, UniRX 및 DoTween 사용 (0) | 2023.05.18 |
[유니티 프로젝트] 오디오 매니저 제작 (0) | 2023.05.16 |
[유니티 프로젝트] 2023.05.14 개발 현황 (0) | 2023.05.14 |
[유니티 프로젝트] 2023.0.5.14 개발 현황 (0) | 2023.05.14 |