일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 배열
- BGM
- inputsystem
- 프로그래머스
- 람다식
- c#
- skybox
- 직렬화
- 코루틴
- FSM
- InputManager
- 메서드
- 장애물달리기
- 스택
- 인터페이스
- invokec#events
- 스파르타내일배움캠프
- 비선형자료구조
- 자료구조
- unity
- delegate
- ObjectPool
- Generic
- 유한상태머신
- script
- LINQ
- UI
- 효과음
- 유니티
- soundmanager
- Today
- Total
목록Unity 개발 (35)
Unity 개발일지
우선 UI를 이용해 Image와 Button UI로 LoginScene을 하나 만들어주었다.참고로 UI는 Canvas에서 위에있는 쪽이 먼저 생성되어 아래쪽에 깔리게된다.플레이어 이름을 입력하는 칸은 InputField(TMP)이다. InputField를 만들게 되면 InputField와 자식오브젝트로 TextArea에 Placeholder, Text가 생성된다.InputField에는 OnEndEdit(String)부분만 나중에 Script작성 후 손봐줄 예정이고,Placeholder는 아무것도 입력하지 않았을 시 Default Message를 입력할 수 있다.Text는 플레이어의 입력을 받아 출력해준다. Button을 이용할 것이기 때문에 SrartBtn 스크립트를 만들어주었고,TMP_InputFi..
카메라를 플레이어의 자식으로 종속시키면 추후 문제발생 시 수정사항이 많기 때문에카메라에 스크립트를 하나 붙여서 플레이어를 따라다니도록 만들었다. player의 Transform을 가져왔고,추후 사용할 Lerp함수에서 카메라가 쫒아오는 속도를 조절할 변수 smooth를 정의했다.(낮을수록 천천히 따라옴) player의 Transform은gameManager가 생성 될 때 초기화 할 예정 (mainCamera.player = player.transform;) 플레이어 위치가 변경된 후 카메라 위치를 변경되게 하기 위해 Update가 아닌 FixedUpdate로 호출하였다. Vector3 targetPos에 player의 position을 넣어주었고선형보간(Linear Interpolation)을 수행하는 L..
유니티로 플레이어의 이동을 구현하는 방법은 다양하다.오늘은 그중에서도 New InputManager로 구현을 해보았다. New InputManager란 무엇인가?우선 기존의 InputManager (구 InputManager)로 플레이어의 이동을 구현해보았다.[SerializeField] 는 private로 선언된 변수를 Inspector창에서 접근할 수 있게 해주는 함수이다.Inspector 창의 InputManager 스크립트에서 접근자가 private속성인 speed를 설정할 수 있다. 기존 Update문에서 GetComponent를 사용하여 Rigidbody2D에 접근을 하였는데 매 프레임마다 가져올 필요가 없이Start문에서 Rigidbody2D에서 접근하여 코드를 변경하였다. 매번 달라져야..
팀원들과 열심히 깃 컨벤션과 코드 컨벤션을 정하고 Read.me에 작성했는데 이게 웬걸?글자가 깨졋다...파일 - 다른 이름으로 READE.md 저장을 누른다. 저장 오른쪽의 화살표를 클릭한 후 인코딩하여 저장을 누른다. 유니코드(서명 있는 UTF-8) - 코드 페이지 65001 로 바꾼 후 확인을 누르면 더이상 파일이 깨지지 않는다.물론 이 방법으로 해주면 새로운 Read.me 파일을 바꿀 때 마다 인코딩을 해줘야 한다. 매번 인코딩을 하지 않는 방법에 대해 찾아봤지만 아직 확실한 답변은 받지 못했고 한 사이트에서 이러한 답변을 봤다. 해보고 되면 나중에 또 포스팅 하도록 하겠다. 출처 VS.NET IDE: 74. Visual Studio의 '새 파일'을 UTF-8 인코딩으로 지정하는 방법VS.NE..
1. UI Text 생성TimeTxt: 시간이 임박하면 타이머가 흔들리는 UI TextPlusTxt: 정답을 맞추면 +3.0초를 더해주는 UI Text / MinusTxt도 있으며 Prefab화 해주었다. 2. Script에서 코드작성 [1] 시계가 흔들리는 코드게임을 재시작하면 false상태가 되므로 isMove false를 Update보다는 Start나 Awake에 구현해준다.color를 바꿔주는 코드는 앞에서 공부했으므로 넘어가자 참고로 Color.red로 해도 동일하다. [2] 시간을 더하고 빼주는 에니메이션 기존 Hierachy창에 있는 오브젝트가 아닌 프리펩이 생성될때는 GameObject 변수를 새로 정의해준다. Instantiate( GameObject original, Vector3 po..
1. 게임종료 시 EndTxt를 활성화 시키기타임이 0보다 작아지면 endTxt의 체크박스를 체크하고 timeScale을 0으로 만든다 2. 시간이 10초보다 작아질 때 타이머가 붉게 변하고 타이머가 흔들리게 만들기Animator에 isMove를 설정했고 이를 스크립트에서 이용하기 위해 public Animator anim() 정의isMove를 10초 이하일때만 SetBool로 활성화 시켜준다.Update문의 과부하를 고려 Start문에 비활성화 코드를 작성해준다. 색깔 바꾸기변수이름.color = new Color( @ / 255f, @ / 255f, @ / 255f, @ / 255f ); 변주 timeTxt를 UI인 TXET로 선언해서 .color로 접근가능하다 * Button, Text, Trans..
1. Resources 폴더를 만든 후 Image 파일들을 이동 2. Script 에서 idx 정의, 초기화Resources.Load($"파일이름{idx}"); 위의 Script는 Card 스크립트에 작성한 함수이고, 아래는 Board Script에 적용한 모습
1. Hierarchy에 AudioManager 오브젝트 만들기 - Audio Source 컴포넌트, Audio Manager 스크립트 추가 2. AudioManager 스크립트 작성변수작성 audioSource = GetComponent();AudioSource로부터 Component를 가져올 수 있게 해주는 명령어써주지 않으면 음악이 재생되지 않는다. audioSource.clip = this.clip;재생 시 Unity Engine에서 넣어준 음악을 적용해준다. audioSource.Play();말그대로 음악을 재생해준다. 3. Scene 이동 시에도 듣던 음악을 이어서 재생시켜주기AudioManager를 싱글톤 시켜준다.if ( instance == null ) { instance = this..