inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part3: 유니티 엔진

Camera #3

플레이어 포지션 변경 하기 위해 코드 추가

175

lover123e

작성한 질문수 6

0

플레이어 포지션이 발이기 때문에 카메라가 계속 발을 찍고 있다고 해서 , 플레이어 포지션 값을 좀 올려보려고
float _playerhight = 1.0f; // 캐릭터 원하는 높이

Vector3 playerPosition = player.transform.position + Vector3.up * playerhight;
이 부분을 추가했는데 작동은 되는데 별로 차이가 없는것 같더라구요.. 제대로 한게 맞을까요?

 

void LateUpdate()
{
    
    float _playerhight = 1.0f; // 캐릭터 원하는 높이
    Vector3 playerPosition = _player.transform.position + Vector3.up * _playerhight;

    if (_mode == Define.CameraMode.QuarterView)
    {
        RaycastHit hit;
        if(Physics.Raycast(_player.transform.position, _delta, out hit, _delta.magnitude, LayerMask.GetMask("Wall")))
        {
            // dist : 거리
            float dist = (hit.point - _player.transform.position).magnitude * 1.0f;
            transform.position = _player.transform.position + _delta.normalized * dist;
        }
        else
        {
            transform.position = _player.transform.position + _delta;
            transform.LookAt(_player.transform);
        }
    }
}

 

C# unity

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

lover123e님, 플레이어의 포지션을 조절하는 코드에 대해서 질문해주셨군요. 코드를 보았을 때, _playerhight 값을 이용하여 플레이어의 위치를 조금 높이는 부분은 올바르게 작성하셨습니다. 하지만 플레이어의 높이를 조정한 뒤 카메라의 시점을 플레이어의 조정된 위치에 맞춰야 하는데, 이 부분에서 실제로 카메라가 플레이어를 바라보는 로직(transform.LookAt(_player.transform);)이 플레이어의 원래 위치를 그대로 바라보고 있습니다. 따라서, 카메라가 플레이어의 조정된 높이를 올바르게 반영하여 바라볼 수 있도록 transform.LookAt 메소드에 넘겨주는 인자를 조정된 플레이어 위치(playerPosition)로 바꿔보세요. 예를 들어, 아래와 같이 코드를 수정해볼 수 있습니다:

transform.LookAt(playerPosition);

이렇게 수정한다면 카메라가 플레이어의 상대적으로 높아진 위치를 바라보게 되어, 플레이어의 포지션 변경이 더 명확하게 느껴질 것입니다.

UI 기능 관련 질문이 있습니다!

0

38

2

픽셀 좌표 스크린 좌표

0

33

0

전체적으로 코드 읽는게 굉장히 오래 걸리네요...

0

76

2

카메라 #2 수업 캐릭터 쓰러짐 해결

0

85

1

플레이어 움직임이 끝날때, 기울어짐 현상

0

84

1

Input 적용과 관련하여 질문 있습니다.

0

75

1

디버그 불가.. Unity에 연결 불가

0

83

1

달리기 애니메이션 에러

0

89

2

오랜만에 게임을 만들다가 사운드 관련해서 뭔가 궁금한게 있어서 봤습니다

0

66

1

GetKey 오류

0

112

2

에셋을 어디에 올려두신지 알 수 있나요?

0

108

1

재귀호출? 오류나는데 왜 이래요 ?

0

169

6

Animation blending 파라미터 계산

0

69

1

newPos와 to지점이 겹쳐져야 하는거 아닌가요?

0

97

3

오브젝트 복제하니까 자꾸 이런게 뜨면서 꺼집니다

0

88

2

질문있습니다

0

143

2

아 이거 소스코드 같은거 없나요?

0

142

3

질문 드립니다. string.IsNullOrEmpty(name)

0

87

2

@Managers 가 씬에 배치되어 있어도 문제가 되지 않나요?

0

136

2

유니티6 NavMesh 안되는분들

1

176

1

Unity6 Unity-Chan Material 마젠타 문제 해결법

7

530

1

GetComponent<Poolable> 질문드립니다.

0

103

2

UI 불러오지 못함

0

119

2

UI 자동화 #1 - Util.cs의 FindChild함수에서 component.name에 컴포넌트 이름이 뜹니다.

0

155

2