- 물리엔진이란?
- 연산 타이밍?
- `FixedUpdate()`
- 강체(Rigidbody) 컴포넌트
- 강체 - 물리에서의 정의와 유니티에서의 정의)
- 물리엔진을 사용해보자
- `rb = GetComponent<RigidBody>()`
- `rb.velocity = new Vector3(0, 1, 0)`
- `rb.AddForce(0, 500, 0)`
- 충돌
- Collider
- Collision / Trigger
- Enter, Stay, Exit
> 숙제: 오늘 배운 `Collider`/`Trigger`/`Collision` 사용한 아무런 유니티 프로젝트 만들기
> 제출: 위의 유니티 프로젝트를 [GitHub](https://github.com/)에 올린 후 링크 여기 톡방에 투척!
###### 제출 방법
1. [GitHub](https://github.com/)에서 새로운 저장소(Repository)를 만든다.
- 저장소의 이름은 자유롭게 설정
- Description해도 되고 안해도 됨 (간략한 저장소 설명)
- Public으로 설정
- Initialize with README는 해도 되고 안해도 됨 (README는 프로젝트를 설명하는 파일임)
- `.gitignore`를 unity로 설정
- Add License해도 되고 안해도 됨 (내 저장소 저작권 설정하는 부분, MIT가 책임질 필요도 없고 무난함)
2. 내 컴퓨터로 `Clone`한다
3. 작업한 유니티 파일을 전부 `Clone`한 저장소로 옮긴다
4. `Stage`에 모두 올린다
5. 적절한 메시지와 함께 `Commit`하기
6. `Push`한다!
7. [GitHub](https://github.com/)에 들오가서 잘올라갔는지 확인한다
8. 링크 톡방에 투척한다
Vim 初心者がVim 超初心者へ送る勉強会資料です。
・対象
- Vim 使ったことないけどちょっと興味ある、というひと
- 必要に迫られたときに基本操作ぐらいはできるようにしておきたいひと
・このスライドを見ると何がわかるか
- Vim の超超基本的な操作方法
- Vim を使えるようになった気持ちがちょっとだけ味わえる Tips
- 물리엔진이란?
- 연산 타이밍?
- `FixedUpdate()`
- 강체(Rigidbody) 컴포넌트
- 강체 - 물리에서의 정의와 유니티에서의 정의)
- 물리엔진을 사용해보자
- `rb = GetComponent<RigidBody>()`
- `rb.velocity = new Vector3(0, 1, 0)`
- `rb.AddForce(0, 500, 0)`
- 충돌
- Collider
- Collision / Trigger
- Enter, Stay, Exit
> 숙제: 오늘 배운 `Collider`/`Trigger`/`Collision` 사용한 아무런 유니티 프로젝트 만들기
> 제출: 위의 유니티 프로젝트를 [GitHub](https://github.com/)에 올린 후 링크 여기 톡방에 투척!
###### 제출 방법
1. [GitHub](https://github.com/)에서 새로운 저장소(Repository)를 만든다.
- 저장소의 이름은 자유롭게 설정
- Description해도 되고 안해도 됨 (간략한 저장소 설명)
- Public으로 설정
- Initialize with README는 해도 되고 안해도 됨 (README는 프로젝트를 설명하는 파일임)
- `.gitignore`를 unity로 설정
- Add License해도 되고 안해도 됨 (내 저장소 저작권 설정하는 부분, MIT가 책임질 필요도 없고 무난함)
2. 내 컴퓨터로 `Clone`한다
3. 작업한 유니티 파일을 전부 `Clone`한 저장소로 옮긴다
4. `Stage`에 모두 올린다
5. 적절한 메시지와 함께 `Commit`하기
6. `Push`한다!
7. [GitHub](https://github.com/)에 들오가서 잘올라갔는지 확인한다
8. 링크 톡방에 투척한다
Vim 初心者がVim 超初心者へ送る勉強会資料です。
・対象
- Vim 使ったことないけどちょっと興味ある、というひと
- 必要に迫られたときに基本操作ぐらいはできるようにしておきたいひと
・このスライドを見ると何がわかるか
- Vim の超超基本的な操作方法
- Vim を使えるようになった気持ちがちょっとだけ味わえる Tips
Convex Hull Approximation of Nearly Optimal Lasso SolutionsSatoshi Hara
Satoshi Hara, Takanori Maehara. Convex Hull Approximation of Nearly Optimal Lasso Solutions. In Proceedings of 16th Pacific Rim International Conference on Artificial Intelligence, Part II, pages 350--363, 2019.
Jaimini astrology argala in predictive astrologyanthony writer
Sanjay Rath states: Argalā means planetary/sign intervention.
- Every planet has the influence to control the affairs of every other planet or house.
- Primary argala : planets, signs and upagraha etc. placed in the second, fourth and eleventh house from any planet/sign have PRIMARY ARGALĀ (direct intervention) in its affairs.
- planets, signs and Upagraha etc.) placed in the twelfth, tenth and third houses cause VIRODHA ARGALĀ (Obstruction to Argalā) on the bodies (planets/signs) in the second, fourth and eleventh house respectively.
- B V Raman includes the 5th also as Primiary Argala and 9th as Virodh Argala.
FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)Gerke Max Preussner
Overview on creating code projects and plug-ins, and introduction on how to add new asset types to UE4 and customize their look & feel via asset actions and custom asset editors. The corresponding source code is available at https://headcrash.industries/vault/presentations/fmx/
유니티의 UI란?
- UI를 위한 개념들
- 화면 해상도
- Canvas
- Anchor
- Render Mode (Overlay, Camera, World)
- 텍스트
- 버튼
- 이미지
- Fill을 이용한 다양한 활용법
- 이미지 버튼
- World 게임오브젝트의 마우스 감지
- 씬(Scene) 이동
- 점수창 만들기
Convex Hull Approximation of Nearly Optimal Lasso SolutionsSatoshi Hara
Satoshi Hara, Takanori Maehara. Convex Hull Approximation of Nearly Optimal Lasso Solutions. In Proceedings of 16th Pacific Rim International Conference on Artificial Intelligence, Part II, pages 350--363, 2019.
Jaimini astrology argala in predictive astrologyanthony writer
Sanjay Rath states: Argalā means planetary/sign intervention.
- Every planet has the influence to control the affairs of every other planet or house.
- Primary argala : planets, signs and upagraha etc. placed in the second, fourth and eleventh house from any planet/sign have PRIMARY ARGALĀ (direct intervention) in its affairs.
- planets, signs and Upagraha etc.) placed in the twelfth, tenth and third houses cause VIRODHA ARGALĀ (Obstruction to Argalā) on the bodies (planets/signs) in the second, fourth and eleventh house respectively.
- B V Raman includes the 5th also as Primiary Argala and 9th as Virodh Argala.
FMX 2017: Extending Unreal Engine 4 with Plug-ins (Master Class)Gerke Max Preussner
Overview on creating code projects and plug-ins, and introduction on how to add new asset types to UE4 and customize their look & feel via asset actions and custom asset editors. The corresponding source code is available at https://headcrash.industries/vault/presentations/fmx/
유니티의 UI란?
- UI를 위한 개념들
- 화면 해상도
- Canvas
- Anchor
- Render Mode (Overlay, Camera, World)
- 텍스트
- 버튼
- 이미지
- Fill을 이용한 다양한 활용법
- 이미지 버튼
- World 게임오브젝트의 마우스 감지
- 씬(Scene) 이동
- 점수창 만들기
스마트벤처 창업학교(대구)에서 스타트업 창업자분들을 대상으로 발표한 유니티 개발 자료입니다.
새로운 내용은 아니고..
기존에 발표 했던 유니티 관련 자료들을 하나로 모은, 총합편입니다.
ps. Unity 2D 소개와 PlayMaker 소개에는 동영상이 포함되어 있는데, 아마 슬라이드셰어에서 재생은 되지 않을듯 합니다. 다운로드 받으시면, 동영상도 보실수 있습니다.
1. 유니티 소개
2. 개발과 출시, 경험에 대한 이야기 (서형석)
3. Unity 2D 살펴 보기
4. 유니티가 당신에게 알려주지 않는 진실 (이득우) - 링크
5. 유니티와 PlayMaker를 이용한 쉽고 빠른 게임 개발
### 유니티 적응하기
- 유니티 소개
- 유니티 설치
- 화면 구성
- 조작 방법
- 책상 만들기
### 유니티 개념들
#### 씬(Scene)
#### 게임 오브젝트(GameObject)
- Hierarchy 창
- 기본 게임 오브젝트
- Empty Gameobject
- 부모 자식
- Rotating
#### 컴포넌트(Component)
- 돌 굴리기
#### 스크립트(Script)
- Start()
- Update()
- Drag and Drop으로 초기화
- Debug.Log("메시지")
- 큐브를 화살표 키로 이동시키기
- Frame과 Time.deltaTime
* PPT에서 사용한 Icon 출처: Icons made by Pixel perfect, iconixar, Freepik, Nhor Phai, photo3idea_studio from www.flaticon.com
안녕하세요 주니어 게임 개발자 노대영입니다.
유니티 개발자를 위한 언리얼 페이지를 공부해서 정리했습니다.
자세한 내용은 아래 공식 홈페이지를 확인하세요!
http://api.unrealengine.com/KOR/GettingStarted/FromUnity/index.html
<마비노기 영웅전>의 사례에 기반하여 다음의 내용을 설명합니다.
1. 국내 및 해외에서 라이브 서비스 중에 발생하는 작업장 이슈에 대응하기 위해서 실시간 로그 수집 프로세스를 구축하면서 고민하였던 내용과
2. 수집한 로그 데이터를 활용하여 온라인 액션 게임에서 캐릭터 애니메이션 패턴간의 유사도(TF-IDF, Cosine Similarity)를 분석하여 현업 실무의 어뷰징 탐지에 활용한 사례를 공유합니다.
라이브 서비스 환경에서 국내 및 해외의 실시간 로그 수집에 대해서 고민하시는 개발자나 온라인 게임에서의 봇탐지에 관심있는 분석가들에게 유용한 사례를 소개해드릴 수 있을 것으로 생각합니다.
### 큐브 이동시키기
- Transform
- Rigidbody-Velocity
- 2가지 방법으로 큐브 이동
- Find 함수
- tag란?
- 게임 오브젝트들 구분하기
- Find한 오브젝트로 이동하기
### 총알 구현하기
#### 총알 생성하기
- 대충 총알 만들기
- Velocity를 줘보자
- 총알을 prefab화하기
- Instantiate
- Time.deltaTime을 이용해서 Timer 만들기
- 3초마다 총알 발사!
#### 총알이 충돌했을 때
- OnTriggerEnter(Collider) : 물리적인 충돌하기
- OnColliderEnter(Collision) : 물리적인 탄성 충돌
- GetComponent<컴포넌트>() : 해당 게임오브젝트의 원하는 컴포넌트 추출
#### 총알 구분하기
- CompareTag("Target 태그명")
#### 총알 구현을 위해 필요한 추가적인 함수들
- Destroy 함수
- Destroy 나중에 하려면?
- OnBecameInvisible
### 적 만들기
- 적 자동 사격
- Player 사망 구현
- 총알을 쏘면서 목표지점까지 가기
### 2D 프로젝트로도 해보기
- 시간 없으면 과제로
* PPT에서 사용한 Icon 출처: Icons made by Pixel perfect, iconixar, Freepik, Nhor Phai, photo3idea_studio from www.flaticon.com
- 스크립트 개념
- Start()
- Update()
- 이벤트 함수들의 실행 순서
- Quiz. Class vs Instance
- public인 변수들
- Debug.Log()
- 입력 처리
- Input.GetKey(키코드)
- Key, KeyDown, KeyUp
- Input.GetMouseButton(0) // 0: 좌클릭, 1: 우클릭, 2: 중간(휠) 클릭
- 입력 받아서 플레이어 움직이기
- Vector3
- 내적(dot)/외적(cross)
- 사칙연산
- struct 주의점
- Quiz. struct vs class, 복사할 때 value type과 reference type의 동작 방식
- `transform.position.x = 2.3f;`가 사실은 `transform.GetPosition().x = 2.3f;`였다! 그래서 미리 컴파일러가 막아준다
- Translate - self vs global
- 처음보는 함수 ➡ [유니티 매뉴얼](https://docs.unity3d.com/kr/current/Manual/index.html)
- Frame과 deltaTime
- Framerate Independent하게 만들자!
- `Update() { "오른쪽으로 한칸 움직여라" }`는 컴퓨터 성능과 비례한다
- 모든 물체를 시간과 비례하도록 움직이게 해야한다
- 물체의 이동과 회전
- 에셋스토어
> 숙제: Flappy Bird의 새의 점프 구현하기
- 계속 점프가 가능해야 함
- 컴퓨터 성능과 무관해야 함
- `transform.position`만 이용해서 점프 구현
#### Flappy Bird Jump 예시: CustomJump.cs
결과: [https://iamgroooooot.github.io/cien-unity-2020/jump-using-position/](https://iamgroooooot.github.io/cien-unity-2020/jump-using-position/)
Source Tree로 버전 관리하는 법
- Git이 필요한 이유
- Stage(=Index에 기록)하기
- Commit하기
- Remote 추가하기
- Origin Remote로 GitHub 사용
- Push하기
- Clone하기
- Reset (Soft, Hard, Mixed)
- Revert
- Checkout, Detached HEAD
- 이전 Commit 수정하기
- Pull / Fetch&Merge하기
- Branch 만들기
- Fast Forward Merge하기
- 3-Way Merge하기
- 3-Way Merge에서 발생할 수 있는 Conflict 해결하기
- Visual Studio로 Conflict 해결하는 법
- Stash로 다양한 문제 해결해보기
- 오래된 저장소에서 Pull하기
- 다른 브랜치로 Commit 옮기기
- .gitignore 파일 설정하기
18. 씬 뷰
• 세트장을 구성하는 곳
• 세상을 편집하기 위한 뷰
• 자유롭게 날아다니면서 오브젝트를 잡고 조정할 수 있는 곳
19. 게임 뷰
• 세트장을 촬영했을 때의 화면이 나오는 곳
• 내가 원하는 화면이 나왔는지 확인 가능
실제 게임의 모습을 확인
• 입력을 받는 뷰 클릭을 하는 곳
내가 앱을 만들면서 버튼을 눌러서 동작이 되는지 확인을 해야 한다
게임 뷰에서 클릭
20. 계층 뷰
• 세트장에 있는 모든 것들의 목록을 표시하는 뷰
씬뷰에 있으면 계층뷰에도 있음
• 게임을 만들다 보면 이 엄청 많아진다
이것을 관리하기 위한 기준이 필요하다
이름 폴더
계층 구조 폴더 구조 로 관리해서 계층뷰
21. 프로젝트 뷰
• 세트장의 창고
• 게임을 구성하는 다양한 에셋을 관리하는 뷰
• 여기에 있는 에셋들을 유니티 월드에 배치 함
• 유일하게 하드 디스크와 연결된 부분
어떤 파일을 추가하면 여기에서 찾을 수 있음
22. 인스펙터 뷰
• 에셋의 설정을 바꾸는 편집 창
선택한 에셋 또는 게임오브젝트의 내용을 보면서 편집할 수 있음
• 조명을 조절하고 싶다
조명 기능이 달린 게임오브젝트를 선택하고 여기서 조정함
• 코드 수정 없이 인스펙터뷰에서 값들을 수정해서 테스트를 할 수 있음
23. 인스펙터 뷰 예시
• 에셋마다 필요한 설정이 다르다
• 다른 종류의 에셋 다른 인스펙터 뷰