일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- unity git
- 오브젝트 깜빡임
- 유니티 해상도
- networkobject
- m585 수리
- 유니티 합치기
- 유니티 해상도 변경
- Github DeskTop Merge
- stateauthority
- 유니티
- 유니티 브랜치 merge
- unity merge
- nav오브젝트사이거리
- NavMesh
- githubdesktopmerge
- 깃허브 데스크탑 병합
- networkobject.networkid
- networkbehaviourid
- nav거리
- unity 병합
- m585
- 유니티 머지
- navigation
- 깃허브 데스크탑 합치기
- Unity
- m590 수리
- 몬스터
- M590
- 유니티 해상도 설정
- Today
- Total
목록제작 (16)
집게사장의 꿈
아이템 표시주요 아이템 사용을 위해 플레이어에게 해당 아이템을 식별 할 수 있어야 됩니다.그렇기에 아이템에 눈에 띌 수 있도록 RimShader를 적용합니다.Rim Shader?오브젝트 바깥쪽에서 안쪽으로 색의 농도를 약하게 면서 Alpha값을 0~1값으로 일정 시간마다 깜빡거리도록 만든 것입니다.쉐이더 코드오브젝트에서 카메라를 바라보는 Normal을 기준으로 Dot을 구해서 적용합니다.half face = saturate(dot(i.WorldSpaceViewDirection, i.normal));face 값으로 각 frag에서 카메라를 바라보는 각과 같은 경우 1이 나온다.half rim = 1.0 - ( pow(face, _RimPower));루트 곡선 형태의 증가률VertexOutput vert(V..
씬 불러오기씬을 로드하는 과정에서 중간 씬을 거치지 않고 바로 로드하니 메모리 사용 초과로 모바일에서 강제 종료되는 현상이 발생했습니다.그렇기에, 중간씬을 추가하여 로드하였습니다. SceneLoader씬을 불러올 때, static 함수를 사용하여 로딩 씬을 불러온 후 다음 씬에서 실행할 동작을 지정받습니다.로딩씬에서 Start()를 통해 지정된 다음씬을 로드합니다.//씬에 대한 정보를 가지고 있는다.public class SceneInformation{ public string SceneName = null; //로딩할 씬의 이름 public Action SceneEndAction = null; //씬 로딩 후 실행 할 것 public bool SceneLoadin..
사운드 추격몬스터는 기본적으로 사운드를 추격합니다.사운드의 거리에 따라 추격 여부를 결정할 수 있어야 됩니다.단, 사운드는 지역 사운드와 전역 사운드가 존재하며 몬스터의 우선 순위는 전역 사운드가 우선입니다.기본 구조사운드가 발생한 위치를 판단하기 위해 EventManger에서 필터링 후 몬스터에서 불러와 사용한다.지역 사운드 발생 시기존 사운드를 제거하고 새로운 사운드를 등록한다.public bool EventSound(Transform _target, float _distance){ //글로벌 사운드가 존재할 경우 실행하지 않음. if (GlobalSoundTarget != null) return false; //기존 로컬 사운드 존재 시 실행하지 않음. //if (LocalS..
플레이어 위치 판단게임의 구역은 2가지로 나누어져 있습니다.1. OutSide 바깥쪽 [저택 외부]2. Inside 안쪽 [저택 내부]플레이어의 위치에 따라 몬스터의 위치를 랜덤하게 지정 하는데,그렇기에 플레이어가 어느 "지역"에 있는지 알 수 있어야 됩니다. 컬라이더를 사용한 플레이어 지역 찾기컬라이더의 Boundary를 이용해 플레이어의 위치를 계산합니다. 각 구역에 해당하는 BoxCollider가 위치한 위치값과 크기를 고려하여 Boundary값을 저장해 놓고 활용합니다.public class Location{ public string Name; public Transform[] LocalLocation; //플레이어의 위치값을 확인하기 위한 경계값 public BoxCol..
기본적인 구조모든 아이템은 InteractionObjects 클래스의 파생클래스를 상속 받고InteractionObjects로부터 파생된 클래스는 각 아이템 종류[Interactiontype] 별로 필요한 함수를 정의한다. 아이템의 종류public enum InteractionType{ Throwing = 0, //단순히 던지는 오브젝트 Get, //획득하는 오브젝트 Self, //스스로 상호작용이 가능함. // musicBox Expand, //다른 오브젝트들과 상호작용 가능 //잡을 수 없습니다. Continues, //지속적인 상호작용을 해야 되는 오브젝트 EquipAu..
추구하는 디자인깔끔함 하단퍼즐의 Container에서 등록된 Dictionary로 사용상단토글 : EventManager를 통한 Observer 패턴을 통해 어두운 페이지와 밝은 페이지를 구분샘플 이미지 보기 : 게임 시작 시 Capture를 통해 생성된 이미지를 보여주는 형식카메라 정렬 : 현재 퍼즐의 배경이 되는 이미지 크기에 맞추어 화면의 크기를 적용
문제점퍼즐 조각 중 Scale,Sprite값이 동일한 경우 같은 퍼즐 조각으로 서로 다른 위치에 있어도 같음을 판단할 수 있어야 됨하지만, 각 퍼즐 조각에 대한 "복사"를 통한 퍼즐 배치가 아닌, 직접적인 "참조"를 통해 퍼즐을 배치한다. 해결퍼즐 조각에 대한 공유를 통한 퍼즐을 가져오기 위한 방법을 사용이에 대해 적용한 패턴은 FlyWeight 패턴을 적용해 보았음 중복을 없애려고 했지만, 중복을 허용해야지만 각 퍼즐 조각에 대한 개수를 표시할 수 있다고 생각했음 FlyWeighy 는 대량의 데이터를 생성 및 공유하는 개념으로 관리를 하지만, 여기서는 이미 생성이 되어 있는 퍼즐 조각 데이터를 등록하고, 공유하도록 만들어보았다.하지만, 아직 많이 미흡하다고 생각한다. Pices 공유하는 클래스 Pice..
한 일이동이동은 InputManager를 통해 처리하고, InputData만 가져와 비교하여 사용하였다.LeftBottom, RightTop 값을 Clamp하여 이동을 제한하였다.줌인 아웃PC : 휠모바일 : 두 손가락 드래그모바일과의 구분전처리 지시문을 사용하여 구분카메라를 그림 크기에 맞추게임 시작 시 현재 그림의 배경에 해당하는 Spite를 읽어와 화면 비율에 따른 OrthographicSize를 지정하였다. 결과 Movement 입력 처리 클릭 한 곳에 UI가 위치하면 카메라가 움직이면 안되기에, Canvas UI의 존재를 먼저 판단하고 입력을 처리했다. 문제점카메라가 이동 후 이동된 좌표에서 ScreenToWorldPoint를 통한 좌표를 생성한 것이 input.S2WTouchPosit..
문제퍼즐을 클라이언트가 지정하고 진행을 위한 각 퍼즐 조각들을 정렬할 필요가 있었음 그에 대한 방법으로 Scene에서 Z 축을 기준으로 퍼즐 조각들이 될 오브젝트를 배치하고, 배치된 오브젝트의 Sort를 스크립트를 통해 정합니다. 규칙 Sorting 정렬0~ -N의 범위에서 오브젝트의 Sort를 지정배경배경이 되는 기본 틀이 되는 오브젝트는 맨 뒤에 위치함 퍼즐 배치의 예시 정렬 자식 오브젝트 중 PuzzleSortData를 찾아서 Z 축을 기준으로 정렬을 실시하여 순서를 지정한다.using UnityEngine;using System.Linq;/// /// 퍼즐 정렬을 위한 중간 데이터/// public class PuzzleSortContainer : MonoBehaviour{ [Se..