본문 바로가기

fps게임제작

(42)
팁. Visual studio 2015 단축키 (C# 개발자 모드) F9 : Break Point 추가 / 제거F10 : Line breakF10 + CTRL : 모두 Break.F11 : method 안으로 들어감. CTRL + K + K : Bookmark 추가 / 제거CTRL + N : 다음 Bookmark로 이동CTRL + L : Bookmark 초기화 CTRL + K + F : 들여쓰기 맞추기. F7 (Form에서) : Form의 cs로 이동. F12 : 해당 코드의 구현부로 이동. CTRL + R + E : Create porperty (매우 더럽게 생성됨. WPF처럼 DataBinding에 사용할게 아니라면 개인적으로 쓰진 않음.)CTRL + R + M : Extract MethodCTRL + R + O : Modify Signature (순서, 삭제 가능)
15. 유니티 교육 (Sebastian Lague 강의-3DShooter #2) 1. Damage System 플레이어, 적, 총, 총알등을 만들었다.총으로 총알을 쏘았고, 그 총알이 적들과 충돌체크를 하기도 했다.그럼 그다음은 무엇일까?그렇다 바로 피해 즉 데이지 시스템을 적용해보도록 하자. 베토벤의 재능을 시기한 살리에르의 기분처럼 세바스찬의 강의를 들으면 한없이 작아지는 스스로를 느낄수 있다.RPG겜도 액션겜도 만들어 보았는데, 역시나 인디이고 혼자만들어서 그런지, 만드는데만 급급했고, 답답함을 느꼈는데, 세바스찬의 강의를 들으면서 뭔가 뻥뚤린 기분을 느낄수 있었다. 적이나 플레이어는 무생물이기 보다는 생물에 가깝다. 게임이라는 세계에서는!예전에 DB설계했을대 배웠던게 많이 생각난다. 비슷한 속성을 가진 이들을 묶는것이 어쩌면 객체지향의 기본이라고 할수 있을것이다.프로그래밍적으..
14. 유니티 교육 (Sebastian Lague 강의-3DShooter #1) 1. 총쌈겜 만들기 시작 지난번에 2D로 단순한 피하기 게임을 만들었다.이번에는 3D를 이용한 총싸움 게임을 만들어 보자.다음 이미지와 같은 식으로~~ 2. 플레이어 우리의 주인공을 만들어 보자.어떻게 보면 이겜은 좀비박멸겜과 같을수 있을것이다.다만 메트리얼이나 모델링이 없어서 단순해 보일수도 있지만.. 플레이어는 간단히 캡슐로 만들어 놓는다.그리고 플레이어에 관한 스크립트 2개를 만들어 보자. Player.csusing UnityEngine;using System.Collections; //이 스립트를 오브젝트에 붙이면 playerController스립트도 같이 가서 붙는다.//이 스크립트가 지우지 않는한 playerController는 지울수 없다.[RequireComponent (typeof(Pla..
13. 유니티 교육 (Sebastian Lague 강의3) 1. 벽돌피하기 게임 스크립트 위주로 설명하겠다.우선 5개의 스크립트가 필요하다. playercontroller: 플레이어를 컨트롤하기 위한 스크립트fallingBlock: 블럭제어를 위한 스크립트spawner: 블럭을 생성을 제어하는 스크립트difficulty: 난이도 조절을 위한 스크립트gameOver: 게임오버와 재시작을 위한 스크립트 설명과 팁은 스크립트 아래를 참조 playercontroller.cs using UnityEngine;using System.Collections;using System; public class PlayerController : MonoBehaviour { public float speed = 7; //하드코딩하는건 정말 좋지 않다. float screenHalfWi..
12. 유니티 교육 (Sebastian Lague 강의2) 1. Prefab, Instantiate 항상 느끼는 거지만, 잘하는것과 잘 가르키는것은 다른거 같다.아무리 많은 것을 알고 있어도, 가르치는것이 서툰 이가 있는가 하면, 자신이 아는 것보다도 더 잘 가르치는 이가 있기도 하다. 결국 누군가를 가르치는 것은 높은 수준의 커뮤니케이션 스킬이라고 할수 있지 않을까?쩝..왜 이런말을 하냐면, 이전 지미 강의가 끝나고 세바스찬 강의를 듣고 있는데, 어쩜 이렇게 귀에 쏙쏙 들어오게 잘 가르치는게 너무 이뻐죽겠다. 강의 하나만 들어도 정말 궁금하던것들이 싹다 풀리는 느낌이다.우리 세바스찬 최고! 오늘은 유니티의 가장 중요한 포인트라고 할수 있는Prefab이다. 몇년전부터 유니티에 관심이 있었을때, 유니티책이나 강의을 좀 보면 맨날 prefab...prefab하곤 했..
11. 유니티 교육 (Sebastian Lague 강의1) 1. 벡터 벡터를 모르고 게임을 만든다고 하면, 그건 거짓말이라고 할수 있다.물론 단순한 게임은 만들수 있겠지만, 아직가지 세계를 구성하는 힘이 무엇인지는 정확히 알수 없지만,게임에서 벡터란 모든 힘의 근원이다. 결국 이걸 모르면 안것도 안되는것이다.무생물을 생물로 바꿔줄수 있는 마법과 같은 힘! 바로 벡터이다. 학교때 배운 백터는 단순히 x와 y좌표를 가지고 있는거 처럼 보였다.하지만 단순히 좌표만을 의미하지 않는다.위치와 힘을 가질수 있다. 밑에 그림을 보면플레이어와 적의 위치를 표현했다. 게임에서 당연히 구현되는것이 적이 플레이어를 향해서 공격하는 것이다.그럼 과연 적은 플레이어가 어디에 있는지 알고, 어느 방향으로 쏴야 하는지 알수 있을까? 결국 벡터를 이용하면 된다.플레이어의 위치에서 적의 위치..
10. 유니티 교육 (유니티 기본5, Jimmy Vegas 끝) 1. Bloom과 SunShafts 지난번에시작퀘스트 완료까지 해보았다.이젠 기본적인것은 다 한거 같고, 게임을 더욱 멋지게 만들어주는 effect에 대해서 알아보자.애셋에서 Import Package->Effects를 클릭하면 유니티의 기본 이펙트를 받을수 있다.여기에서 Bloom을 검색해보면 여러개의 파일이 나오는데,단순히 bloom이라는 c#스크립트를 캐릭터에다가 드레그하면!바로 뽀샤시효과를 구현할수있다.inspector에보면 여러가지 조절할수 있으니까 만저보면된다.참 쉽게 된다..ㅠㅠ 그리고 이 bloom과 같이 하면 더 멋진 연출을 할수 있는 효과가 있다.그것은 바로 SunShafts로, 영어뜻 그대로 햇살효과를 준다.bloom으로 뽀샤시해지고, 그위로 해살이 반작반짝 비추게하면 참 따뜻한 느낌..
9. 유니티 교육 (유니티 기본4) 1. C#은 힘들어. 지난번 가지 퀘스트 시작과 활성 그리고 완료 까지 해보았는데, 문제는 퀘스트를 성공했을때 성공 메세지가 나와야 하는데 나오지 않았다.그이유는 WaitForSeconds였다.자바스크립트에서는 그냥 같다쓰면 바로 되는것이 C#에서는 따로 함수를 만들어서 해줘야했기때문이다.즉, 자바랑 c랑 문법이 달랐다는 이야기인데,문제는 유니티공홈에 있는 대로 따로 함수를 만들어서 해도 되지 않는것이 문제였다.아무리 해도 안되고, 구글링을 해도 결국 공홈이랑 똑같이 이야기만 하고...그러던 중 결국 구글링해서 답을 발견할수 있었다.C#에서 WaitForSeconds를 하기 위해서는 메소드를 따로 만들고, 그 메소드를 coroutine으로 호출해야 한다. 여기서 coroutine은 다중쓰레드를 이야기하는..