반응형 개발878 게임개발) 퍼즐만들기 Image Mask 퍼즐만들기 Image Mask Unity로 Image Mask를 테스트해보았다. Unity 2D에서 Image Mask를 해서 퍼즐을 만들 예정이다. Mask 하는 방법은 다음과 같다. Hierarchy에서는 Image(Mask) 하위에 Image(마스킹되어야 할 이미지)의 형태로 하위에 들어가야 하고 Mask 컴포넌트가 추가되어야 한다. 1차적으로 테스트한 결과는 다음과 같다. 간단히 퍼즐을 (100 *100)의 사이즈로 조각을 만들고 현재 마스크 할 최대 사이즈를 계산한다. 일정 카운트 이후에 마스크 된 조각들을 랜덤 한 영역으로 흩뿌린다. 작업된 영상은 다음과 같다. ★★★☆☆ 2020. 4. 26. 디자인패턴)전략 패턴 (Strategy Pattern) 전략 패턴 (Strategy Pattern) 전략 패턴은 문제를 해결하기 위한 특정 알고리즘이 구현된다. 그 알고리즘을 구현한 부분을 치환하면으로 다른 전략과 정책 작전으로 교체가 가능한 패턴이다. 가위바위보를 하는 프로그램인데 '이기면 다음에도 같은 것을 낸다'(Wining Strategy)와 다른 하나는 '직전에 냈던 손에서 다른 것을 계산한다(Prob Strategy)의 전략이다. 보통 프로그래밍에서 내부에 메인 코드에 있는 경우가 종종 있다. 그러나 Strategy 패턴에서는 알고리즘의 기능이 분리되어 있고 인터페이스로 분리한다. 느슨한 연결으로 내부의 전략을 용이하게 수정할 수 있다. ★★☆☆☆ 2020. 4. 25. 디자인패턴) 브릿지패턴 (Bridge Pattern) 브릿지 패턴 (Bridge Pattern) 브릿지 패턴의 역할은 '기능 계층과 구현 계층을 분리하기 '이다. 기능 계층과 구현 계층을 분리한다는 것은 의존성이 낮아진다는 것을 의미하고 쉽게 수정과 추가가 가능하다는 것을 말한다. 새로운 기능을 추가하고 싶은 경우는 다음과 같다. -상위 클래스는 기본적인 기능을 가지고 있다. -하위 클래스에서는 상위 클래스를 상속하고 새로운 기능을 추가한다. 새로운 구현을 추가하고 싶은 경우 -상위 클래스는 추상 메소드에 의해 인터페이스를 정의한다. -하위 클래스는 구상 메소드에 의해 그 인터페이스를 구현한다. ★★☆☆☆ 2020. 4. 25. 문제해결) Android 빌드 시 에러 UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors Android 빌드 시 에러 UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors UnityEditor.BuildPlayerWindow+BuildMethodException: 2 errors at UnityEditor.BuildPlayerWindow+DefaultBuildMethods.BuildPlayer (UnityEditor.BuildPlayerOptions options) [0x00242] in /Users/builduser/buildslave/unity/build/Editor/Mono/BuildPlayerWindowBuildMethods.cs:194 at UnityEditor.BuildPlayerWindow.CallBuildMethods (S.. 2020. 4. 22. Unity)Unity Hierarchy 순서 변경 Unity Hierarchy 순서 변경 Unity에서는 기본적으로 Canvas를 기준으로 Hierarchy의 순서(위에서 밑으로) 계층으로 Draw 된다. 그렇기 때문에 Hierarchy의 순서를 변경해야하는 경우가 종종 있다. 스크립트로 처리할 경우는 다음과 같다. Index to 0 m_IndexNumber = 0; //Set the Sibling Index transform.SetSiblingIndex(m_IndexNumber); //Output the Sibling Index to the console Debug.Log("Sibling Index : " + transform.GetSiblingIndex()); } void OnGUI() { //Press this Button to increase .. 2020. 4. 20. 알고리즘) A* Algorithm A* Algorithm 가장 대표적인 길찾기 알고리즘이다. 가중치를 기준으로 길을 찾는다. 알고리즘의 원리는 다음과 같다. 찾을 영역(Grid)를 만든다. 현재 경로에 대한 8방향(주위) 경로에 대한 가중치(비용)을 계산한다. 이때 경로를 계산하는 비용은 (F = G + H) 로 가정한다. G = 시작점 으로부터 종료점까지 이동하는데 소요되는 비용 H = 현재 사각형에서 종료점까지의 예상 이동비용(이때는 방해물에 대한 계산을 처리하지 않고 가로세로만 계산한다.) F = 현재까지 이동한 총 비용 ( G + H ) 이동은 가로세로만 가능한것을 기준으로 설명한다. 현재 위치를 기준으로 가중치에 대한 처리를 한다. 시작점을 기준으로 오른쪽의 사각영역에 대한 계산을 하면 다음과 같다. F = 40 ( 총합) G .. 2020. 4. 19. 개인생각) 투표하고왔습니다. (21대 국회의원 선거)- 28년만에 66.2% 투표하고왔습니다. (21대 국회의원 선거) 오늘은 21대 국회의원 선거날입니다. 근처에 있는 투표소에 가서 아내와 같이 투표하고 왔습니다. 날씨도 화창하고 오전에 다녀왔습니다. 투표하러 가니 '사회적 거리두기'로 인해서 다들 거리 두고 있는 모습이 인상적이었습니다~ 아참 다들 투표하러 가실 때 '신분증' 지참하고 가셔야 합니다~ 아직 투표 안 하신 분들 소중한 한표 투표하시길 바랍니다! 코로나로 인해서 손장갑과 손세정제 그리고 온도 체크를 하고 난 이후에 투표용지를 받고 투표했습니다. 총선 투표율이 28년 만에 '66.2%' 되었다고 속보가 나왔습니다. 코로나로 사회적 거리두기 및 사회활동을 많이 하지 않는 지금 이 시국에도 투표해주신 국민들이 자랑스럽습니다.! URL : https://news.sbs... 2020. 4. 15. Unity) Rigidboy(Script)로 (Freeze)프리즈 처리하기 Rigidboy(Script)로 (Freeze)프리즈 처리하기 Rigidboy는 물리에 대한 처리를 하기 위한 기본 컴포넌트이다. Rigidboy를 사용하다보면 특정 순간에는 Freeze 기능을 수정해야 하는 경우가 생길 때 위와 같이 처리하면 된다. +) X와 Z의 포지션을 프리즈 하기 rigidbody.constraints=RigidbodyConstraints.FreezePositionX | RigidbodyConstraints.FreezePositionZ; +) 모두 프리즈 하기 rigidbody.constraints = RigidbodyConstraints.FreezeAll; Unity Rigidbody : [링크] 리지드바디 - Unity 매뉴얼 Rigidbody 는 GameObject 가 물리.. 2020. 4. 14. 개인적인생각) 비요뜨가 먹고 싶어요. 앱에 대한 생각 + 고상혁에게 스위치 사주기 비요뜨가 먹고 싶어요. 앱에 대한 생각 구글 플레이를 보다 보니 이런 앱이 올라가져 있었다.. 제목부터 심상치가 안았기 때문에 호기심에 '어떤 어플일까? '라는 생각으로 아무 생각 없이 들어가 봤는데.. 정직한 제목이었다.. 개발자가 비요뜨를 먹고 싶다고 해서.. 유료로 1300원(유료 앱)을 올려놓은 것이었다. +추가로 고상혁에게 스위치사주기 앱도 있었다. 이걸.. 다운 받을까 했었는데.. 113명.. 현재 기준으로.. 다운을 받았다. 고상혁에게 스위치 사주기는 1명 이 결제를 해줬다. 리뷰는 다음과 같았다. 요즘은 다들 앱을 쉽게 만들수있어서 진입장벽이 낮아서 많은 사람들이 도전하는 것 같다. 뭔가 부업이나 취미로 개발하는 사람들도 꽤나 많긴한것 같다. 나도 나중에 은퇴하고는 아마 따로 인디 개발자 .. 2020. 4. 13. Unity) NavMesh 만들기 NavMesh 만들기 유니티에서는 AI -Navigation을 지원한다. Unity 3D 프로젝트를 생성하고 메뉴의 [Window- AI - Navigation]을 선택하면 설정창이 나온다. Navigation 항목에는 4가지 서브 메뉴가 있다. Agents - 길을 찾을 봇의 설정이고 Areas - 길을 찾는 영역 (우선순위)를 설정할수 있다. Bake - Navmesh를 만들 설정이다. Object - Navmesh를 만들기위한 Object를 설정하기 위함이다(이동 부락, 이동 가능, 점프 등등) 오브젝트 설정 Navmesh를 만들 오브젝트들을 선택하고 Walkable을 선택하고 Bake를 하면 다음과 같이 NavMesh가 생성된 것을 확인할 수 있다. Navmesh는 Scene당 한 개만 만들어지고.. 2020. 4. 12. Unity)다중 Scene 로드 및 처리(Scene Additive) 다중 Scene 로드 및 처리(Scene Additive) Unity에서는 기본적으로 Single Scene의 형태이다. 하지만 작업하다 보면 Scene을 여러 개 중복해서 사용해야 하는 경우가 생긴다. 본인의 경우에서는 NavMesh를 사용하는 상황인데 NavMesh는 Scene당 1개(Only One) 이기 때문에 여러 가지 NavMesh를 사용하기 위해서는 결국 맵 신을 Attach 해서 NavMesh를 교체하는 방법을 사용하고 있다. 그 외 여러 가지 기타 상황에 의거해서 Scene을 여러 개 사용하는 경우도 있다. (인게임/아웃 게임 구분)하는 CDN으로 맵을 분리하는 경우 등등.. using UnityScene = UnityEngine.SceneManagement; UnityEngine의 Sc.. 2020. 4. 9. 개인생각) 개발자로 살아가면서 신입때 권하고 싶은 것들 개발자로 살아가면서 신입 때 권하고 싶은 것들 이제 6년 정도 개발하고 있는 프로그래밍 개발자로 살아가면서 느꼈던 것들과 웹 서핑을 하던데 중 이런 글들을 쓰면 좋겠다는 생각이 들어서 이런 과거를 회상하면서 글을 쓰게 되었습니다. 개발자로 살아가면서 신입 때 잘 몰라서 못했거나 지나고 나면 아쉬웠던 것들은 꽤나 많았습니다. 초심을 잃지 말자 자기 계발에 투자하자 트렌드를 파악하자 얻은 정보를 공유하자 자신이 했던 노하우를 정리하자 초심을 잃지 말자 주위의 많은 개발자 분들과 이야기를 해보면 다들 개발자에 대한 환상과 하게 된 계기들이 있는데 3가지 부류 정도로 나눌 수 있는데 (게임을 좋아해서, 전문적 인일 + 사무적인 일을 찾다 보니, 주위에 개발자가 있어서) 대략 이런 케이스들인데 다른 직종과는 특이.. 2020. 4. 9. 디자인패턴) 빌더 패턴 (Builder Pattern) 빌더 패턴 (Builder Pattern) Builder 패턴은 건축물을 올라가듯이 구조를 가지고 있는 것을 Build라고 하는데 지반을 다지고 골격을 세우고 조금씩 쌓아갑니다. 우선 전체를 구성하고 있는 각 부분을 단계적으로 만들고 조립하는 형태로 취한다. 실제 구성의 Builder 클래스에서는 추상 클래스로 하위 크래스에서 실제 기능을 구현합니다. ★★☆☆☆ 2020. 4. 6. 디자인패턴) 프로토타입 패턴(ProtoType Pattern) 프로토타입 패턴(ProtoType Pattern) 프로토타입 패턴은 기본 베이스를 가지고 새로운 인스턴스를 만드는 과정에서 너무 많은 타입이 나와 정리가 되지 않는 경우 주로 사용한다. 클래스에서 인스턴스를 만들지 앟고 프로토타입 패턴을 쓰는 이유는 종류가 너무 많아서 클래스로 정리가 힘든 경우에 프로토타입 패턴을 사용해서 재사용성이 늘어날 수 있다. 그냥 클래스로 정의를 해서 구현하게 되면 기능당 클래스가 한 개가 되기 때문에 기하급수적으로 늘어난다. framework와 인스턴스를 분리하고 싶은 경우와 클래스로부터 인스턴스 생성이 어려운 경우에도 사용하면 좋다. 내부에 이용할 클래스의 이름이 잇으면 그 클래스와 분리해서 재이용할 수 없기 때문에 재사용성을 늘리기 위해서 프로토타입 패턴을 사용한다. 개인.. 2020. 4. 5. 디자인패턴) 싱글톤 (Singleton Pattern) 싱글톤 (Singleton Pattern) 프로그램을 실행할 때 대부분 많은 인스턴스들이 생성됩니다. 그러나 클래스의 인스턴스가 단 한 개이어야 한 경우가 있습니다. 데이터를 참조해서 사용하는 경우 나절대로 1개밖에 존재하지 않는 것을 보증하고 싶을 때 사용하는 디자인 패턴이다. 인스턴스가 유일무이하게 단 한개만 존재하는 패턴을 Singleton 패턴이라고 한다. 싱글톤 클래스는 static 메소드로 인스턴스를 내부에 포함하고 있다. 싱글톤은 동일한 인스턴스를 반환한다. 대부분은 매니져 클래스에서 싱글톤을 많이 사용한다. 다양한 Singleton 방식에 대해서는 다음을 참고하면 된다: [링크] Singleton pattern - Wikipedia In software engineering, the sin.. 2020. 4. 4. 이전 1 ··· 49 50 51 52 53 54 55 ··· 59 다음 반응형