목록전체 글 (116)
skyf의 게임 개발기
*특징 1. UNET의 한계점으로, 스폰된 네트워크 오브젝트의 자식 오브젝트의 애니메이션을 동기화할 수 있는 기능이 따로 제공되지 않는다는 점이다. 그래서 따로 처리해주기로 했다. 2. Network Identity 컴포넌트는 NetworkServer.Spawn을 통해 스폰이 된 오브젝트일때 정상 작동하는것 같다. 스폰을 시키기 위해서는 네트워크 매니저에 등록시켜주어야 하는것 같다. *이슈 1. 플레이어 모델을 남/여 정보에 따라 남자모델, 여자모델로 스폰 시켜 주어야하는데, 이 부분 처리에서 '자식 오브젝트' 애니메이터 동기화 문제 때문에, 하이어라키를 공유를 한 형태(스폰오브젝트 하위에 모델이 있고 모델 하위에 남/여 메시들이 한꺼번에 다 있는 형태)로 해야하나 했는데, SyncVar를 이용해서 애니..
https://www.youtube.com/watch?v=6D45deBsoPk https://www.youtube.com/watch?v=HkLhKyoh3sI https://www.youtube.com/watch?v=vFK5XLcULjM
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=yoohee2018&logNo=220725031239
https://sgpassion.tistory.com/499
https://blog.naver.com/raveneer/221060485305 유니티 도큐먼트 (6) - 네트워크 고레벨 API (HLAPI)는 Unity 게임을 멀티플레이 할 수 있도록 구축하기 위한 시스템입니다. 이 A... blog.naver.com https://docs.unity3d.com/kr/current/Manual/UNetManagerHUDLanMode.html LAN 모드의 Network Manager HUD - Unity 매뉴얼 LAN 호스트(LAN Host) 버튼을 클릭하여 로컬 네트워크에서 호스트로 게임을 시작하십시오. 이 클라이언트는 게임에서 호스트 겸 플레이어입니다. 인스펙터의 네트워크 정보(Network Info) 섹션에 있는 docs.unity3d.com https://w..

컨트롤러로 손을 조작할때 손목 바로 위의 ForeArm(팔목 부분)이 자연스럽게 함께 돌아가게끔 해야하는 작업이였다. 에디터상에서 보이는 수치로 봤을때와 transform.localEulerAngles의 수치가 달라서 혼동이 됐다. transform.localEulerAngles에서는 양수로 표현이 된다. case ArmType.Left: { limit_palmDown_handZ = -90; limit_palmUp_handZ = 90; float angle_handZ = targetHand.transform.localEulerAngles.z; float deltaZ = Mathf.DeltaAngle(0,angle_handZ); if(Mathf.Abs(deltaZ)

1. Player 하위에 OVRCameraRig와 모델들을 자식으로 둔다. 2. 각 모델에 VRIK 컴포넌트를 추가한다. 3. 해당 모델에 설정할 Tracking 타겟을 OVRCameraRig 하위에 있는 CenterEyeAnchor , LeftHandAnchor, RightHandAnchor 각각에 자식으로 만들어줘야 한다.(순서대로 머리, 왼손 손목, 오른손 손목이 위치할 타겟) 4. 타겟으로 지정할 오브젝트를 만들었으면 IK Target Setter를 컴포넌트로 추가한 뒤 하나하나 설정해준다. (모델타입, 본타입, 타겟 모델, 타겟 본, 위치 등등) Is Set By Editor는 타겟을 설정해주고 위치 같은 정보를 다듬었을 경우 체크해준다.(체크가 안되있는건 스크립트상에서 해준다. 5. 해당 모델..

VRIK를 이용해 모델의 손을 컨트롤러의 위치에 시키고 회전 시켜주는 기능을 구현 중에 난관이 있었지만 해결 되었다. 원인은 모델마다 팔을 벌린 정도도 다르다 보니 기존 T포즈 형태의 모델 기준에서 했던 방식이 안통했던 것이다. 그래서 위와 같이 핸드의 월드Rotation을 0,0,0으로 돌린 뒤에(위 사진 처럼) 그 기준에서 왼손 오른손이 돌아가야할 방향을 코드상에서 직접 돌려주었다. case IKBoneType.LeftHand: { if(modelType == ModelType.Mixamo) transform.localRotation = (Quaternion.Euler(offset_handWrist_vertical, offset_handWrist_horizontal, 0)) * (Quaternion...