유니티 심화 86

HeroShooter - 가까운 거리 몬스터 선 그리기

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Stage1SceneMain : MonoBehaviour { //플레이어 [SerializeField] private PlayerController playerController; //몬스터 [SerializeField] private GameObject monsterGo; //조이스틱 [SerializeField] private CJoystick joystick; //왼쪽 문 [SerializeField] private DoorController leftDoorController; //오른쪽 문 [Se..

유니티 심화 2023.08.24

절대강좌 유니티 - 혈흔효과, 몬스터 공격효과, 델리게이트, 죽으면 강남스타일, 본 구조, 충돌감지, 몬스터 사망

정리 -> 코드 -> 생각 -> 정답 1. 정리하면서 사용할 api 찾아보고 2. 코드 작성해보고 3. 모르면 생각해보고 4. 그래도 모르면 정답을 본다 MonsterController 몬스터 공격효과 PlayerController 몬스터의 사망처리 1. Animator.StringToHash를 이용해 파라미터 해시값 추출한다 2. 몬스터에게 생명 변수를 추가한다. 3. 몬스터 상태가 DIE일 때 코루틴 종료 yield break 4. 사망상태일 때 사망 애니메이션과 추적 정지 SetTrigger 5. 총 맞으면 몬스터의 피 차감시킴 6. 몬스터의 콜리더도 해제시킴 using System.Collections; using System.Collections.Generic; using UnityEngine;..

유니티 심화 2023.08.24

[복습] HeroShooter - Main 만들기 + AngleAxis, Mathf.Atan2, Mathf.Rad2Deg

잘 모르겠어서 다시한번 알아본 3가지들 1. Mathf.Atan2(float y, floay x); , Mathf.Rad2Deg Quaternion을 사용해야할 때, 즉 회전이 필요할 때 사용한다. 유니티에서 제공하고 있는 아크탄젠트 함수는 반환값이 라디안값이라서 Mathf.Atan2를 해준 후에 Mathf.Rad2Deg를 곱해주면 우리가 알고있는 몇'도'로 라디안값에서 변하게 된다. 2. Quaternion.AngleAxis(float angle, Vector3 axis); Mathf.Atan2와 MathfRad2Deg로 구한 '도'를 이용해서 z축으로 축을 회전시켜준다. 지금까지 HeroShooter를 하면서 Main을 만들지 않고 했었는데 만들어온 함수들을 보니.. PlayerController에만..

HeroShooter - FadeIn, FloatingJoystick, 닭이미지, 텍스트, Ray

PlayerController using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.SceneManagement; using UnityEngine.UI; public class PlayerController : MonoBehaviour { private enum eAnimState { Idle, RunF } [SerializeField] private CJoystick joystick; //조이스틱 가져오기 [SerializeField] private GameObject portalGo; [SerializeField] private DoorController leftDoorControl..

유니티 심화 2023.08.23

절대강좌 유니티 - 애니메이션, 몬스터 [피격, 공격, 추적, 정지]

MonsterController using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.AI; public class MonsterController : MonoBehaviour { public enum eState { Idle, Trace, Attack, Die } [SerializeField] private NavMeshAgent agent; private Transform playerTrans; [SerializeField] private float attackRange = 2f; //공격사거리 [SerializeField] private float traceRange = 10f; ..

유니티 심화 2023.08.23