매 프레임 마다 Y- 방향으로 레이를 쏘거나 충돌 박스 만들어서 바닥에 충돌(땅이 발에 붙어 있으면) 하면 중력가속도 0으로 만들고 충돌이 일어난 땅의 높이만큼 캐릭터의 포지션 값을 위로 올려라
[💬] 2d 플랫포머 만들떄 물리 안써도 되면 쓰지 마셈
Lunatic(211.41)
2021-01-31 19:26:00
추천 1
댓글 13
다른 게시글
-
캐릭터가 오르막길을 못감
[5][💬] 시그.EXE(seigexe) | 21.01.31추천 0 -
마지카복셀 가지고놀기
[💬] 익명(118.127) | 21.01.31추천 0 -
솔직히 3년전까진 아무 방치 키우기 찍어내도 잘팔렷음
[11][💬] 익명(115.136) | 21.01.31추천 0 -
유니티로 개발하는데 게임은 안드로이드에서 돌리고 싶음
[2][💬] 궁금(121.181) | 21.01.31추천 0 -
개발시 중요도 메이저취향>재능>흥미열정>넘사벽>노력
[1][💬] 익명(115.136) | 21.01.31추천 1 -
win32api
[8][🐣질문] 홍표준(180.224) | 21.01.31추천 0 -
InputField.isFocus 질문좀
[1][💬] 질문좀(116.42) | 21.01.31추천 0 -
게임잼 후기
[7][💬] 익명(211.226) | 21.01.31추천 13 -
유니티2d 마우스좌표 반대인 현상(해결됨)
[5][🐣질문] 익명(203.229) | 21.01.31추천 0 -
사실 인겜갤러들은 제대로 된 기획자 만나면 현타 올 수 있음
[1][💬] 익명(222.238) | 21.01.31추천 0
2d 플랫포머면 플레이어 객체가 하나일테니 매 프레임마다 레이 쏴도 별 문제없을듯 ㅇㅇ..
생각해보니 레이는 낭비같다. 네모 충돌 박스 만들어서 triggerENter에 1 exit에 0해서 0이면 게속 떨어지게 만들어라
플랫포머 게임들 보면 캐릭터나 몬스터는 물리 적용 안받고 오브젝트만 물리엔진 받게 하던데
게임마다 다름 예를 들어 천장에 줄 걸어서 진자운동으로 이동하는 경우엔 물리 필요함 그리고 적들도 죽어서 시체 되면 그떄 물리 On 하는 경우만음
그렇게 하는거면 플레이어 외에는 콜라이더를 안주던가 트리거 콜라이더만 하는거임?
ㄴㄴ 너 안올라가는거 고칠려면
1. 캐릭터 발에 충돌박스 넣고 2. 발에 땅이 충돌중일떄 3. 매 프레임 캐릭터 키만큼 포지션 이동으로 올리면됨
ㅇㅋㅇㅋ 이해했음 그럼 충돌박스에 트리거 박는거같은데 닿은게 땅인지는 어떻게 확인함? 태그도 없는데 레이어가 Platform인걸로 확인해야하나?
땅을 어케 만드는지 모르는데 땅을 땅인지 알게끔 해주셈 레이어를 달거나 이름을 바꾸거나, 그리고 매 프레임에선 isLand 상태값만 체크 하면 되고 , OntriggerEnter / Exit 두가지 이벤트로 받아서 상태값 바꿔주면 될듯함. 그리고 캐릭터 크기가 1이면 발은 1 이하로 해야함 안그러면 벽 부딪혔을때 엘리베이터 마냥 올라감
그리고 x축 이동 할때는 이동하기 전에 미리 분신을 보내서 충돌하는지 앞에 아무것도 없는지 확인 하고 이동함
분신 보낸다는건 단순히 매 프레임마다 X축으로 레이어보내서 확인하는거랑 다른거야?
언리얼 방식은 물리없이 캐릭터의 콜리전을 매프레임 발사해서 위치 고정함 + 땅바닥도 레이캐스팅 + 경사면계산 함 또 유니티에서 리지드바디 피직스를 쓰지 않더라도 리지드바디-키네메틱으로 부착시켜놔야함
두트윈 써도 좋음.