기타/기타
[클라이언트 & 서버] 물리엔진 움직임 동기화
💻 작업 내용 유니티 클라이언트의 리지드바디 연산을 다른 클라이언트와 동기화 📑 개선 사항 플레이어가 도중 퇴장할경우 소유권을 해제해야함 플레이어가 도중 입장할경우, Room에 이미 존재하는 플레이어들의 모든 데이터를 받아 적용해야함
[클라이언트 & 서버] 다국어 지원, MySQL 비동기 쿼리
💻 작업 내용 유니티 리소스 다국어지원을 위한 별도의 Tool 제작 이전 버전보다 한 단계 업그레이드 된 형태 다국어 지원을 더욱 매끄럽게 하기 위한 언어 별 TextMesh 폰트 자동 변경 스크립트 [Socket + MySql] 비동기 쿼리 사용 This MySqlConnection is already in use. 클라이언트 서버 DB 관계에서는 비동기 쿼리 호출응답을 사용하여야 하는데, 멀티쓰레드 환경에서 오류가 발생하였고, 이를 해결하여 정리해봤습니다. 📺 오류 This MySqlConnection is already in use. 오 bonnate.tistory.com MySQL 비동기 멀티쓰레드 환경에서 공유변수 동시 사용 문제를 해결
[클라이언트 & 서버] RSA를 이용하여 안전하게 비밀번호 전송
💻 작업 내용 RSA 알고리즘을 이용하여 안전하게 비밀번호를 서버에 전송하여 유효성 검사 "안녕하세요"가 비밀번호일 때 이것을 RSA로 암호화하여 전송 후 서버는 이것을 복호화하여 평문으로 사용하도록 구현
유니티 개발 스타트업 단기 인턴(4주) 후기 (22-07-25 ~ 22-08-22)
대학교에서 공식으로 진행하는 LINC3.0 단기현장실습에서 4주간(22-07-25 ~ 22-08-22) 스타트업 기업에서 인턴을 하며 유니티를 이용하여 콘텐츠 개발을 했습니다. ✅ 편안한 분위기에서 재미있게 개발을 하였고, 추가적인 요구사항에 유연하게 반응하여 구현을 하였고, 최종적으로 좋은 평가를 받아서 자신감을 더 갖게되었고 짧은 인턴 기간은 저에게 매우 좋은 경험이 되었습니다. ❗ 아래에 나오는 내용과 업로드된 콘텐츠(영상 등)는 기업의 허락을 맡고 업로드하였으며 기획에 따라 일부 에셋을 제외하고 직접 개발하였습니다. 1주차 07/25 ‘메타버스 가상 박물관’ 작업 회의, unity HDRP 알아보기, WebGL 구동 여부 체크 07/26 메타버스 세계에 필요한 기능 구현 1인칭 움직임, Ray 기..
에셋제작 , 드로우콜 최적화, Light Script
https://giseung.tistory.com/31 [Unity] 3ds Max로 오브젝트 병합하기 Unity 개발을 하다 보면, 개발자들이 고난을 겪는 작업은 최적화 작업일 것이다. 특히, 모바일 기기는 최적화가 제대로 이루어지지 않으면 흔히 프레임 드롭, 발열과 같은 문제가 발생한다. 최적 giseung.tistory.com
에셋제작, 카메라 움직임 변경
Lerp를 이용하여 카메라의 움직임을 부드럽게 조정 public class CameraController : MonoBehaviour { [SerializeField] private Transform mPlayerTransform; [SerializeField] private Vector3 mCameraDistance; [SerializeField] private float mCameraLerpStrength; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { transform.position = Vector3.Lerp(transform.posit..
에셋 제작, 맵 구성, 플레이어 움직임 개선
에셋 제작 씬1 맵 구성 + 플레이어 Translate 충돌 버벅임 해결 (레이트레이싱 방법으로) private void CheckDirectionAndMove() { if(Input.GetKey(KeyCode.S)) { if(Physics.Raycast(gameObject.transform.position, Vector3.back, out RayTarget, mRayMovementDist)) { return; } mDirection = CharacterDirection.Backward; transform.Translate(Vector3.back * mSpeed * Time.deltaTime); } if(Input.GetKey(KeyCode.D)) { if(Physics.Raycast(gameObject..