분류 전체보기 (109) 썸네일형 리스트형 객체지향 프로그래밍 1-1. 위 코드에서 삼각형 Triangle 클래스를 새로 작성한다고 했을 때, AreaCalculator의 코드를 수정하지 않고 AreaCalculator가 삼각형의 넓이를 계산하도록 만들 수 있을까요?인터페이스를 사용하는 방법이 있다.모든 도형 클래스가 동일한 CalculateArea 메서드를 갖게 만들어 AreaCalculator가 도형 객체를 통해 면적을 계산할 수 있다.1-2. 1번 질문 답변을 바탕으로 위 코드가 유지보수 측면이 어려운 부분을 설명해주세요. ⓐ 인터페이스 구현의 강제성모든 새로운 도형 클래스는 IArea 인터페이스를 구현해야 한다.ⓑ 형 변환 및 타입 검사 AreaCalculator 클래스가 다양한 도형의 면적을 계산할 수 있도록 하려면 인터페이스를 통해 접근해야 한다. 이는.. 객체와 한정자 1-1. 위 예제 코드에서 Car는 무엇을 나타내나요? car1과 car2는 무엇을 나타내나요?Car : 클래스로 자동차의 브랜드, 모델, 연식과 같은 속성을 정의한다. 또한 Car 클래스에는 자동차의 정보를 출력하는 DisPlayInfo라는 메서드가 포함되어 있다.car1과 car2는 Car클래스의 인스턴스이다. 이는 Car 클래스의 설계도를 기반으로 생성된 구체적인 객체를 의미한다. 각각car1과 car2는 독립적인 자동차를 의미하며 해당 자동차의 정보를 갖고 있다. 1-2. 위 코드에서 Car클래스에 정의된 메서드를 호출할 때 car1과 car2를 사용해야 하는 이유는 무엇인가요?Car클래스의 DisplayInfo 메서드는 인스턴스 메서드이다. 이는 특정 인스턴스와 연관된 메서드로, 해당 인스턴스의.. Tangreed Tangreed Yoonwoojoo/Tangreed (github.com) GitHub - Yoonwoojoo/TangreedContribute to Yoonwoojoo/Tangreed development by creating an account on GitHub.github.com 🕹️ 플레이 영상 내가 자주 사용하는 LayerMask 가급적이면 접근제한자를 public을 사용하는 것 보다는 private을 선호한다.그러다보니 LayerMask를 필드 초기화하는 과정에서 든 의문이 있다. LayerMask.GetMask("xyz") vs LayerMask.NametoLayer("xyz")LayerMask.GetMask("Player")용도 : 지정된 레이어 이름을 포함하는 레이어 마스크를 반환반환값 : 지정된 레이어 이름을 포함하는 레이어 마스크의 정수 값 (비트 필드) LayerMask.NameToLayer("Player")용도 : 지정된 레이어 이름에 해당하는 레이어 번호를 반환반환값 : 해당 레이어 이름의 정수 값 요약LayerMask.GetMask("Player"): "Player" 레이어를 포함하는 비트마스크를 반환La.. 생동감 있는 몬스터 만들어 보기 게임을 진행하게 되었을 때몬스터가 가만히만 있다가 플레이어를 감지했을 때에만 추적하는 메커니즘이라면 이 것 만큼 단조로운 상황이 존재할 수 있겠는가? FixedUpdate를 사용해서 몬스터가 플레이어를 감지 할때까지 기다리는 방법보다는코루틴을 사용하여 몬스터를 제어함과 동시에 생동감을 넣어주는 방법을 생각해 봤다. Start메서드에서 UltimatedMove라는 IEnumerator를 호출하여 코루틴을 시작한다.알다 시피 코루틴은 여러 프레임에 걸쳐 실행되는 작업을 가능케 한다. ⓐ while (true)무한 루프이다. 코루틴이 중단되지 않는 한 계속 실행되도록 설계한다. ⓑ if (monsterMechanism.isGrounded)몬스터가 지면에 닿아있는지 여부 ⓒ monsterMechanism.IsP.. 그래픽스 - 셰이더 셰이더가 무엇일까? 궁금해서 찾아 봤다 1. 렌더링 파이프라인 이해하기기준점 SpawnPoint (0,0,0)개별의 꼭지점 들을 Vertex이 Vertex들을 이어주는게 VertexShader 과정 및 Scene으로 배치Model : LocalPosition -> WorldPosition View : 카메라위치로 이동Perspective : 원근감2. PBR 렌더링이해하기 렌더링 방식 - 유니티 허브를 켜보면 여러가지 탬플릿이 있다.LWRP -> URP = 가벼운 파이프라인Built in 셰이더가 대세였지만 모바일 성능이 좋아지면서 URP HDRP를 주로사용HDRP는 일반적으로 콘솔게임용PBR Rendering = Physically Based Rendring = 물리 기반 렌더링3. Shader Gra.. 궁수 키우기 [2D 방치형 모바일] 방치형 모바일 게임 -_- (youtube.com) Raising-Archer – FigJam (figma.com) FigmaCreated with FigJamwww.figma.com Abyss-ascent 🌈 Abyss-Ascent 🌈다양한 카메라 시점속에서 맵을 탈출하자 !플레이 영상 Abyss-ascent 맵 테스트 맵 테스트 플레이 두개의 맵 Portal GameObject 및 Portal.cs 생성인터페이스 IInteractable 활용 포탈과 근접할 시 E키를 눌러서 상호 작용첫 번째 포탈의 스폰포인트는 SpawnPont1, 두번째 포탈의 스폰포인트는 SpawnPont2 필드 부여 3D 카메라 타입 별 상호 작용 [ 3 가지 카메라 타입 ] [ 문제점 ] 현재 코드는 3인칭에서만 상호작용하고 있다.횡스크롤과 탑뷰에서도 상호작용하려면 어떤식으로 방향을 잡아야 하는가? [ 해결 방안 ]1. 레이를 생성하는 것을 고수하겠다고 하면, 카메라가 아닌 플레이어에서 레이가 나가는 방식으로 생각해봐야 한다. 그대신 Letter같은 상호작용 하는 물체는 굴러다니거나 하는 것 처럼움직이면 안됀다. 2. 충돌 처리로 상호작용 하는 방법이 있다. 2-1. 플레이어의 자식오브젝트로 게임오브젝트를 생성한다. 2-2. 자식오브젝트의 Renderer을 체크 해제하여 보이지 않게한다. 2-3. 자식오브젝트가 직접적인 충돌이 아닌 간접적인 충돌을 하게 하기위하여 Is Trigger를 체크 인벤토리 토글 해체 분석기 canLook의 자료형은 bool이며 초기값은 true로 할당LateUpdate() 에서 if(canLook)일 경우에 CameraLook()을 실행Tab키를 눌러서 인벤을 켰을 때, ToggleCursor() 메서드가 실행되는 상황 bool toggletoggle의 판단 기준 = 마우스 커서가 숨김상태인지 toggle = true 일 경우마우스 커서 숨김모드를 None으로 하여 커서를 보이게한다.마우스 커서가 보인다는 뜻은 인벤토리를 켰다는 뜻이다. toggle = false 일 경우마우스 커서 숨김모드를 Locked로 하여 커서를 안보이게한다.마우스 커서가 안보인다는 뜻은 인벤토리를 안켰다는 뜻이다. canLook = !toggle;레이트 업데이트에서 canLook이 true일 때에 CameraLo.. 3D 어드벤쳐 만들기 ✈️ 프로젝트 소개 Unity3D의 캐릭터 이동과 물리 처리를 구현게임내의 여러 상태를 UI를 통해 사용자에게 표시다양한 게임 오브젝트와의 상호작용을 객체지향적으로 구현 💭 구현 기능 📓 기술 스택🕹️ 플레이 영상 이전 1 2 3 4 5 ··· 10 다음