본문 바로가기

전체 글304

유니티 버그 관련 이슈 유니티 씬을 플레이할 때 ArgumentException에러가 나오면서 스크립트가 실행되지만 플레이가 멈추는 버그가 생겼다. 이게 2022.3.5f 버전에서 생기는 에러인데, 스크립트가 달려있는 오브젝트를 플레이 전 클릭하고 플레이하면 에러가 나는 것 같았다. (게임매니저 들어있는 데이터 확인하려고 클릭한 상태로 플레이해서 그런가 계속 에러가 났다..) 그래서 플레이 전 하이어라키에서 아무것도 선택하지 않고 플레이하면 에러가 해결된다. 그리고 그 외에는 유니티를 껐다 키니 해결되었는데..버전 에러라 확신이 없다 (원인을 좀 더 찾아봐야 할 것 같다..) 2023. 8. 10.
timeScale 관련 이슈 유니티에서 해당 씬을 일시정지하고 리로드하는 부분에서 timeScale을 사용했더니 게임 전체가 멈춰버리는 오류가 생겼었다. 그래서 처음에 해당 버튼에 timeScale을 1로 설정하는 코드를 넣었더니 해당 버튼을 눌렀을 때 인식하지 못했었다.. (timeScale이 유니티의 라이프사이클을 멈춰서 해당 UI버튼까지 멈춰버린 것 같은데, 그렇다기엔 SceneManager은 작동한다. timeScale보다 SceneManager이 더 우선도를 갖고 있는 걸까?) 그래서 이 때는 update가 scaleTime에 관계없이 계속 프레임당 정보를 업데이트하는 걸로 알고 있어서 아래와 같이 작성했다. void Update() { time += Time.deltaTime; timeTxt.text = time.ToSt.. 2023. 8. 9.
push_back vs emplace_back c++ 코딩스터디를 하다가 컨테이너에 값을 넣을 때 push_back이 아니라 emplace_back을 사용하셔서 정리해놓게 되었다. 1. 정의 - 컨테이너에 키가 있는 요소가 없는 경우 지정된 인수로 구성된 컨테이너에 새 요소 삽입. - 생성에 필요한 인자를 받아 내부에서 객체를 추가하고, push_back처럼 값을 디카피해서 만드는 것이 아니라 해당 값을 그대로 가져와서 효율적이다.(물론 상황에 따라 다르다) - 생성자, 소멸자를 한 번만 호출한다. - 반복자 및 참조화가 무효화되지 않는다. - push_back: 원소를 넣을 뿐 용량을 늘리지 않는 삽입 작업 -> 그 위치를 지나가는 요소를 가리키는 반복자 및 iterator을 무효화한다. (iterator로 시작 원소 가리키게 하고, 해당 iter.. 2023. 8. 8.
OpenGL ES 3.0 스터디 3주차 공부자료 3강 (궁금했던 점: *로 표시. 해결된 부분: --로 *옆에 중첩해서 표시.) (()) : 스터디시 질문에 대한 답변. EGL에 대한 이야기. 2강처럼 자체함수를 사용하면 개념 이해에는 용이할 수 있지만, 실제 opengl es 3.0으로 작업하기에는 어려울 수 있으므로 EGL을 사용해서 하나의 기능 구현하는 걸 예시로 보여줘서 EGL에 대해서 알아볼 것. 플랫폼별 다른 방식으로 opengl 윈도우 관리하지 않고 통합적으로 관리하기 위해 만들어진 것. EGL : 장치의 native windowing system과 통신. 사용가능한 drawing surfaces의 유형을 및 구성 보여줌. drawing surfaces 만들어서 그래픽스 컨텍스트 연결. OpenGL ES 3.0과 같은 기타 그래픽 렌더링 .. 2023. 8. 7.