본문 바로가기

전체 글75

절대강좌! 유니티 책 완독 후기( 강추 ) 기존에 유니티 학원에서 6개월 정도 공부하고이후 1년의 텀 동안 개인적인 일 때문에 유니티 공부를 놓고 지내게 되었다. 난이도는 있지만 자세한 설명다시 복습할 겸 읽게 된 책이였는데 난이도는 꽤 있었지만다른 책들에서 볼 수 없는 꿀팁과 유니티 Docs 에 적혀 있는 내용을 상세하게 녹여냈다. 초심자보다는 중급자들에게 추천초심자들에게는 추천하고 싶지않고유튜브로 초보 유니티 강의를 보고 어느정도 개발을 할 수 있는 단계가 됐다면 무조건 추천하고 싶은 책이다. 7시간씩 일주일정도 공부하면 완독 가능 하루에 7시간씩 공부하며 2주 정도 블로그에 글을 작성했는데블로그 글 쓰지 않는다고 생각하고 공부하면 하루에 7시간씩 7일~ 10일 안에 마스터 할 수 있을 만큼 친절하고 알찬 내용이 들어있다. 늦게 읽게 된 내 .. 2024. 7. 6.
[ Free Asset / 무료 에셋]Sweet Cakes Icon Pack Sweet Cakes Icon Pack 기간~24.07.11 코드RICIMI 입력방법 링크Sweet Cakes Icon Pack | 2D Icons | Unity Asset Store Sweet Cakes Icon Pack | 2D 아이콘 | Unity Asset StoreElevate your workflow with the Sweet Cakes Icon Pack asset from ricimi. Browse more 2D GUI on the Unity Asset Store.assetstore.unity.com 2024. 7. 6.
[Unity Course 2] 15. 포톤 클라우드를 활용한 네트워크 게임 5 위키북스 출판사 이재현 저자님 의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다.배틀 필드 세부기능 구현접속 정보 및 룸 나가기 기능 구현해당 룸의 룸 이름과 접속자 수를 표시하고 룸 나가기 버튼을 구현해보기 BattleField 씬으로 전환해서 UI를 다음과 같이 구성하기 GameManager.cs 스크립트 수정하기더보기using UnityEngine;using Photon.Pun;using Photon.Realtime;using TMPro;using UnityEngine.UI;using UnityEngine.SceneManagement;public class GameManager : MonoBehaviourPunCallbacks{ public TMP_Text roomName; pub.. 2024. 7. 4.
[Unity Course 2] 15. 포톤 클라우드를 활용한 네트워크 게임 4 위키북스 출판사 이재현 저자님 의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다.로비 제작로비는 네트워크에 접속한 모든 플레이어가 대기하는 장소방을 생성하거나 다른 방에 입장할 수 있는 기능을 제공해야됨포톤 클라우드에서 로비에 접속해야만 현재 생성된 룸의 정보를 서버로부터 받아올 수 있음  로비 씬 제작기존에 만들던 SampleScene 은 BattleField 로 변경한 후 복제하고 복제한 씬의 이름은 Lobby로 바꿨다. 포톤 클라우드에 접속하는 과정은 Lobby씬에서 처리하기 위해 BattleField 안에 있는 PhotonManager 오브젝트는 삭제 Lobby 씬에 Animator와 CharacterController 컴폰너트만 연결되어 있는 Player 프리팹을 넣고 Main Camer.. 2024. 7. 4.
[Unity Course 2] 15. 포톤 클라우드를 활용한 네트워크 게임 3 위키북스 출판사 이재현 저자님 의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다.주인공 캐릭터의 네트워크 기능 구현Player 오브젝트에 Photon View 컴포넌트 추가 PhotonView 컴포넌트네트워크상에 접속한 플레이어 간의 데이터를 송수신하는 통신 모듈동일한 룸에 입장한 다른 플레이어에게 자신의 위치와 회전 정보를 동기화시키고 특정 데이터를 송수신 하기위한 컴포넌트 Synchronization 은 동기화 방식을 의미 속성설명None동기화 처리를 하지 않는다. RPC 호출만을 위한 PhotonView에 적합Reliable Delta Compress마지막 데이터가 변경되지 않았을 대 데이터를 송신하지 않음Unreliable송신한 패킷의 수신 여부를 확인하지 않음Unreliable On Ch.. 2024. 7. 1.
[Unity Course 2] 15. 포톤 클라우드를 활용한 네트워크 게임 2 위키북스 출판사 이재현 저자님 의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다.주인공 캐릭터 설정프리팹인 Player를 하이러키뷰로 가져오고 Transform을 다음과 같이 설정한다. Scripts 폴더를 새로 만들고 Movement 이름인 스크립트를 생성한다.using System.Collections;using System.Collections.Generic;using UnityEngine;public class Movement : MonoBehaviour{ // 컴포넌트 캐시 처리를 위한 변수 private CharacterController controller; private new Transform transform; private Animator animator;.. 2024. 7. 1.
깃허브 - Desktop 다운 받는 방법, 링크 1. 계정 생성가장 먼저 깃허브를 사용하기전 계정을 생성한다.GitHub GitHub: Let’s build from hereGitHub is where over 100 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and fea...github.com2. Desktop 다운받기Desktop을 다운받아줘야 한다.GitHub Desktop | Simple collaboration from your desktop 다운받은 exe 파일을 실행하면 됩니다. 2024. 7. 1.
[Unity Course 2] 15. 포톤 클라우드를 활용한 네트워크 게임 1 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. 네트워크 게임을 개발하기 위해서는 물리적인 서버(하드웨어)와 네트워크 게임 엔진(소프트웨어)이 필요하다네트워크 게임 엔진을 자체적으로 개발하기 위해서는 실력있는 개발자가 투입되어야하는데 쉽지 않을 일이기에 이미 검증된 네트워크 게임 엔진을 도입하는 것도 좋은 방법 그 중에서 많이 검증된 Photon 네트워크 게임 엔진을 사용할 예정이다.20명까지는 동접 사용자 까지는 무료로 사용할 수 있다. 포톤 제품은 클라우드 서비스를 활용하거나 독자 서버를 구축 및 운영할 수 있는 데디케이티드 서버 모드로 사용할 수 있음 포톤 리얼타임 vs. 포톤 클라우드포톤 리얼타임 다양한 개발 플랫폼에 맞춰진 포톤의 핵심 코어 엔진포톤 클라우.. 2024. 6. 29.
[Unity Course 2] 14. Input System - Player Input 컴포넌트 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. Player Input 컴포넌트: Input Actions 에서 정의한 액션이 발생했을 때 코드와 연결해 해당 로직을 실행시킬 수 있는 기능을 처리주인공 캐릭터를 선택하고 Player Input 컴포넌트를 추가한다. Action 속성미리 만들어 놓은 MainActions Actions 를 연결한다.Actions 속성에 Input Actions 에셋을 연결하면 바로 밑에 Default Scheme과 Default Map 항목이 표시 됨 Behavior 속성: Input Actions 에셋에 정의한 액션이 발생했을 때 코드의 함수를 어떻게 실행시킬 것인지를 결정하는 속성Behavior 옵션설명Send MessagePlay.. 2024. 6. 29.
[ Free Asset / 무료 에셋]Omni Animation - Core Locomotion Pack Omni Animation - Core Locomotion Pack기간 ~ 2024.07.06  코드OPSIVE2024 입력 방법  링크 LinkOmni Animation - Core Locomotion Pack | 3D Animations | Unity Asset Store Omni Animation - Core Locomotion Pack | 3D 애니메이션 | Unity Asset StoreElevate your workflow with the Omni Animation - Core Locomotion Pack asset from Opsive. Find this & other 애니메이션 options on the Unity Asset Store.assetstore.unity.com  에셋 소개🏃O.. 2024. 6. 29.
[Unity Course 2] 14. Input System - 새로운 Input System의 특징 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. 기존 입력 시스템인 Input Manager는 다양한 플랫폼을 지원하기 이전에 설계됐기 때문에 확장성과 편의 문제로 Input System이라는 새로운 입력 시스템을 제공하고 있다. 레거시 Input 클래스기존 유니티에서 제공했던 Input System 클래스의 역할은 키보드, 마우스, 터치, 게임패드와 같은 외부 입력장치의 입력값을 미리 정의해두고 코드에서 직접 해당 디바이스로부터 입력값이 있는지를 확인하는 방식으로 동작 Update 함수에서 매프레임마다 입력값을 확인하여 이동과 점프와 같은 로직을 수행public float moveSpeed = 10.0f;void Update(){ float h = Input.. 2024. 6. 29.
[Unity Course 2] 13. 오클루전 컬링 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. 오클루전(Occlusion) : 한 물체가 다른 물체를 가리는 것컬링(Culling) : 도태시킨다 오클루전 컬링은 렌더링 부하를 줄여주는 기법 중 하나로 3D 게임 및 콘텐츠 개발에 필수적인 요소 **무엇인가에 가려진 물체는 제거한다는 의미, 렌더링 관점에서 본다면 카메라에 보이지 않는 객체는 렌더링 하지 않음 불필요한 요소를 렌더링에서 제외함으로 써 렌더링 부하를 줄이고 속도를 향상시킴 컬링 방식3D 그래픽스의 렌더링 영역에서 컬링하는 방식을 알아보자프러스텀 컬링한글로는 절두체 컬링이라고도 불림: 카메라의 시야 범위에 들어와 있는 물체만을 렌더링 하고 시야 범위 밖의 물체는 렌더링 하지 않음프러스텀 영역 안에 포함.. 2024. 6. 29.
[Unity Course 2] 12. 씬 관리 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. 지금까지 진행한 씬을 분리할 예정! 씬을 분리하는 이유는 협업 시 분야별로 분리하여 개발을 진행한 후 합치기 때문 UI 개발자, 레벨 디자이너, 메인 개발자 세명이 함께 분야별로 개발을 진행하고 구동하기 전에는 합쳐서 실행함 Scene 분리STAGE 안에 SpawnPointGroup 오브젝트를 하위로 넣기 그리고 Ctrl + S "저장하기" Play 씬을 복제하고 이름은 Play_backup으로 변경 하나 더 복제하여 이름은 Level_01 으로 변경 Play 씬에서 STAGE 오브젝트는 삭제하기이렇게 되면 씬에는 플레이어와 UI만 남게 되는데 이게 게임 로직 부분이 됨Level_01 씬에서는 STAGE 오브젝트만 남.. 2024. 6. 28.
[Unity Course 2] 11. 라이트매핑 및 라이트 프로브 2 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다.라이트 프로브라이트매핑을 사용하여 실감 나는 조명을 표현해도 동적인 물체에는 조명 효과를 적용할 수 없음라이트매핑은 정적인 객체에만 영향을 미치기 때문 주인공을 보면 검은색으로 보임 이유는 주인공이 라이트매핑 대상이 아니기 때문culling Mask를 사용하여 주인공에게만 조명효과를 부여할 수 있지만 부자연스러움 이를 개선하기 위해 라이트 프로브 기능 사용스테이지 조명이 있는 곳 주변에 라이트 프로브를 배치하고 라이트맵을 베이킹할 때 해당 라이트 프로브에 주변부의 광원 데이터를 미리 저장라이트 프로브에 저장된 광원 데이터는 실행 시 근처를 지나치는 동적 객체에 광원 데이터를 전달하여 해당 객체의 색상과 보간시켜 실시간 .. 2024. 6. 28.
[Unity Course 2] 11. 라이트매핑 및 라이트 프로브 위키북스 출판사 이재현 저자님의 '절대강좌! 유니티' 책을 참고하여 필기한 내용입니다. 전역 조명: 3D 지오메트리에서 직접 광원(Direct Light)과 다른 물체에 반사된 간접 광원(Indirect Light) 및 그림자를 렌더링해 좀 더 사실적인 조명을 구현하는 것전역 조명 연산처리는 많은 부하를 주기 때문에 대상 하드웨어의 성능에 따라 실시간 연산이 거의 불가능  조명 모드Realtime 모드실시간 조명으로 설정하는 것, 씬에 직접 광을 적용하며 매 프레임 조명 연산을 해서 화면을 업데이트 (그만큼 연산 부하가 큼)실시간 조명은 직접 광원만 적용하고 간접광원과는 관계없음다른 조명과 연관 없이 단독으로 적용되어 반사광 효과 없어서 실시간 그림자는 검은색으로 표현됨사용하기 위해서는 라이팅 뷰의 Re.. 2024. 6. 26.
반응형