오늘로 사전캠프가 종료되고 9월9일(월)부터 본 캠프가 시작된다.

유튜브 <골드메탈> 영상 시청 및 따라 만들기 - 3D 쿼터뷰 액션게임


추가 및 수정한 스크립트

Player.cs :: 총을 추가해서 해당 마우스 방향으로 총을 발사시 캐릭터가 돌아가게 하는 기능 추가

  private void Turn()
  {
      //지정된 벡터를 향해서 회전시켜주는 함수 - 3D기능
      //현재 플레이어 위치에 방향벡터를 더해서 우리가 나아가는 쪽으로 오브젝트를 회전한다는 뜻
      //#1.키보드에 의한 회전
      transform.LookAt(transform.position + moveVec);

      //#2.마우스에 의한 회전
      if (fDown)
      {
          //스크린 -> 월드로 Ray를 쏘는 함수
          Ray ray = followCamera.ScreenPointToRay(Input.mousePosition);
          RaycastHit rayHit;
          if (Physics.Raycast(ray, out rayHit, 100))
          {
              Vector3 nextVec = rayHit.point - transform.position;
              nextVec.y = 0; //마스크가 없기에 부피가 있는 콜라이더 물체를 클릭시 캐릭터가 빙빙 도는 현상을 막기위해 y =0 추가
              transform.LookAt(transform.position + nextVec);
          }
      }
  }

followCamera는 현재 화면을 비추는 mainCamera를 가지고있다.

스키린화면(우리가 보는 화면)에서 월드(3D 월드스페이스를 말함)로 레이저를 쏘는데 그방향이 '마우스 위치'로 레이저를 쏜다.

RaycastHit는 레이저가 발사해서 맞은 곳의 data를 가져온다. 

마우스의 위치가 저 상태면 바닥의 Floor 오브젝트의 정보를 가져온다.

즉, 캐릭터가 향하는 방향 nextVec를 벡터의 뺼셈을 이용하여 방향벡터를 구하고 

현재 캐릭터의 위치에 방향벡터를 더하여 방향을 수정해준다. 

 


https://www.youtube.com/watch?v=07q9RUTRq4M   

: 원거리 무기 로직 구현 및 총알 오브젝트 및 탄피 생성 방법 

'내일배움캠프_Unity_6기 > TIL(Today I Learend)' 카테고리의 다른 글

TIL : 2024-09-09(월) :: GitHub 기초  (0) 2024.09.09
TIL : 2024-09-07(토)  (0) 2024.09.07
TIL : 2024-09-05(목)  (0) 2024.09.05
TIL : 2024-09-04(수)  (0) 2024.09.04
TIL : 2024-09-03(화)  (0) 2024.09.03

+ Recent posts