
In this video (objectives)…
We introduce the ways that you can get help, support and contribute to the community.
In this video (objectives)…
Welcome to this Unity 3D course. The course starts off gentle and builds in difficulty. First section is set up and exploring, then we get into our first code, then more detailed game projects.
In this video (objectives)…
Prefabs are an important part of Unity so its useful to understand how they work.
In this video (objectives)…
Its important to test that our environment works and that we can use code to drive our game. We print out a simple statement to the console to test that everything works fine.
In this video (objectives)…
First look at this section's project - a simple sandbox where we make obstacles for the player to avoid and in the process learn C# and some basic Unity.
In this video (objectives)…
This game might seem simple but there are many small elements that will make it a fun sandbox experience for players.
In this video (objectives)…
We start the process of making our player move by using transform.Translate() to move on the x axis. We illustrate the difference between Start() and Update().
In this video (objectives)…
We discuss the concept of variables and look at the structure of creating a new variable.
In this video (objectives)…
SerializeField allows us to modify variables in the inspector. We add SerializeField to our variables in this lecture. We also create some new materials so we can change the colour of our player and ground plane.
In this video (objectives)…
We use Input.GetAxis to create a basic movement system for our player.
In this video (objectives)…
We use Time.deltaTime to make our player framerate independent. We also create a member variable to control the speed of our player.
In this video (objectives)…
We need a way to see our player as it moves around and Unity's Cinemachine is the perfect way to do so.
In this video (objectives)…
Collision is a fundamental aspect of most games. We look at box colliders and add a RigidBody to our player object.
In this video (objectives)…
Methods are how we make our code do specific things. This lecture looks at the concepts that are important for methods such as how to declare, how to call, syntax, what does return mean and what are parameters.
In this video (objectives)…
We create a new method and call it to print instructions to the console. We also refactor our movement code and create a new method for it.
In this video (objectives)…
We implement OnCollisionEnter() to print out information to the console when the player bumps into a wall.
In this video (objectives)…
We use GetComponent to access the wall's material and change the color when we bump into the wall with the player.
In this video (objectives)…
When we bump into a wall we want to penalise the player by increasing their score. We do this by creating a hits variable and using hits++ to increment the score.
In this video (objectives)…
For our new mechanic of dropping an object from the sky we need a timer. For this we are going to use Time.time.
In this video (objectives)…
To add a delay for our object falling we want to tell it to only fall if a certain amount of time has passed. For this we'll implement an if statement.
In this video (objectives)…
Caching is an important process to start practicing. In this lecture we cache the rigidbody and meshrenderer components.
In this video (objectives)…
Tags help us create more useful conditional statements. In this lecture we use tags to limit when behaviour will occur such as obstacles turning another colour upon collision.
In this video (objectives)…
Let's create some additional obstacles which spin using transform.Rotate().
In this video (objectives)…
Its time to get everything organised so that we're ready to make our level. We will organise our folders, add some extra obstacles and prefab everything that we can.
In this video (objectives)…
We bring it all together and use our obstacles to build an obstacle course level.
In this video (objectives)…
We've covered a lot in this section. Please do share your creation with the community
In this video (objectives)…
Project Boost is one of our community's favourite projects. We'll be increasing our C# and Unity knowledge and building a fun, highly customisable rocket game.
In this video (objectives)…
We lay out our gameplay screen and talk about the player experience for this project.
In this video (objectives)…
Onion Design is a great technique to use in order to prioritise our development.
In this video (objectives)…
We start our project and discuss our units of measurement.
In this video (objectives)…
Classes are an important organisational tool in C# programming. We talk about classes that we make ourselves and classes that Unity has already made for us.
In this video (objectives)…
We use the Input class to bind a key press to a log printed to the console.
In this video (objectives)…
Its time to make our rocket move. We're going to do this by adding force using the AddRelativeForce() method.
In this video (objectives)…
We need a way to run our rocket thrust that doesn't require fiddling with the mass of the rocket. To do this we add a tuning variable. And while we're at it, we may as well make our rocket thrust framerate independent, right?
In this video (objectives)…
To fly our rocket we need a way to rotate it, and to do that we'll use transform.Rotate().
In this video (objectives)…
We play with the rigidbody of our rocket, modifying the drag and gravity. We also fix some movement bugs that come from a conflict between our manual controls and Unity's physics.
In this video (objectives)…
We talk about what source control is and why use it. We also look at how you can access the repo used in this course so you can check your progress against what you see in the lecture, or clone the entire project.
In this video (objectives)…
We introduce how audio works in Unity. We also look at places where you can get or make sound effects and add our first sound effect (SFX) for our rocket.
In this video (objectives)…
We control our audio through code, allowing us to play the rocket boost when we push thrust and to stop it when we stop thrusting.
In this video (objectives)…
Switch Statements are a different sort of conditional and in this lecture we'll be using a switch statement to log out different messages based upon what the player has collided with.
In this video (objectives)…
When we crash our rocket we want to restart our journey. To do this we reload the Unity scene that is currently loaded using SceneManager.LoadScene().
In this video (objectives)…
In order to progress to the next level we'll need to be able to load the next level.
In this video (objectives)…
We want a slight time delay after we crash or make it to the end of our level. To do this we use Invoke(). We are also going to take away control from the player after the collision event has happened.
In this video (objectives)…
Our previous implementation of playing audio SFX was quite simple and not overly flexible. Now we'll trigger different audio clips to play from code based upon what event has taken place.
In this video (objectives)…
We need to stop our collision code from working during the time between colliding with something and loading the new level.
In this video (objectives)…
In this lecture we make our rocket look more interesting and learn a bit more about prefabs in the process.
In this video (objectives)…
When we bump into something in the world we want to give the players some feedback and a great way to do that is with particle effects.
In this video (objectives)…
In this lecture we link particles systems to our rocket booster.
In this video (objectives)…
In this lecture we clean up our code by using the extract method approach and make our Movement.cs script more readable.
In this video (objectives)…
It helps to be able to play your game quickly and easily. In this lecture we create debug keys for loading levels and stopping collision events.
In this video (objectives)…
Our level is pretty empty, let's add some geometry to give it some personality.
In this video (objectives)…
Lighting helps make our game world look more interesting, so in this lecture we add point lights, spotlights and alter our directional light to create a more interesting look.
In this video (objectives)…
We start the process of moving an obstacle back and forth. This will become an interesting tool for us to create challenges for the player.
In this video (objectives)…
Using the Mathf.Sin() function allows us to create a nice smooth animation for our moving objects. We can then tune the speed and vector that it travels back and forth.
In this video (objectives)…
We have a "not a number" error when we attempt to set period to 0 so in this lecture we will protect against that.
In this video (objectives)…
In this lecture we create a handful of levels and use the "moments" technique to come up with ideas.
In this video (objectives)…
When we play a build of our game we need a way to exit the game gracefully and we do that with Application.Quit().
In this video (objectives)…
To publish our game online or share it with a friend we fist need to build it. In this lecture we build a standalone build and a WebGL build and publish the WebGL build to sharemygame.com.
In this video (objectives)…
We've learned a lot in this section, culminating in building and publishing our game.
Unity 6으로 업데이트된 베스트셀링 게임 개발 강의!
이 강의는 Unity 6으로 업데이트 되었지만, 이전 버전의 Unity와도 호환됩니다.
실제 3D 게임 속 주요 기능을 직접 구현해보면서 C#과 Unity의 실무적 활용법 완벽 마스터
개발 학습 경험이 전혀 없는 사람들을 위한 기초 문법 및 좋은 코딩 습관 가이드
게임 개발의 핵심 기능 요소들을 학습하여 초심자도 나만의 게임을 제작해볼 수 있도록 도와주는 커리큘럼
<Unity로 배우는 게임 개발>
이 강의는 가장 인기 있는 온라인 강의 중 하나인 Complete Unity Developer의 오랫동안 기다려온 후속편입니다! 완전히 처음부터 다시 제작되었으며, 새로운 프로젝트와 최신 교육 기법을 적용하였습니다. 저희는 이미 200만 명 이상의 학생들에게 프로그래밍과 게임 개발을 가르쳤으며, 그중 많은 학생들이 상업용 게임을 출시하였습니다.
Unity는 비디오 게임, 건축, 의료 영상 제작 등에 사용되는 놀라운 3D 패키지입니다. 하지만 규모가 크고 복잡하여, 특히 프로그래밍과 게임 개발을 처음 접하는 초보자들에게는 어려울 수 있습니다. 저희는 흥미로운 게임을 단계별로 만들어 가며, 프로그래밍을 쉽고 재미있게 배울 수 있도록 도와드립니다.
저희의 Facebook 그룹(약 2만 명)과 자체 Teaching Assistant 커뮤니티, 학생용 Discord 채널 등 다양한 커뮤니티에 참여하세요.
이 글을 읽고 있다면, 이미 학습을 시작하기 위한 모든 준비(인터넷 액세스)가 갖춰져 있을 가능성이 높습니다. Unity는 무료로 다운로드할 수 있습니다. 또한 인터넷 액세스만 있다면, 활발한 커뮤니티 활동도 가능합니다. 프로그래밍이나 3D 패키지에 대한 경험이 전혀 없어도 걱정하지 마세요. 저희가 기초 개념부터 차근차근 안내하며, 점진적으로 배운 내용을 쌓아가면서 Unity에 대한 탄탄한 실무 지식을 갖출 수 있도록 도와드립니다.
여러분은 총 5개의 재미있는 게임을 만들며, 게임 개발에 필요한 핵심 기술을 익히게 됩니다. 변수와 충돌 감지 같은 기본 개념부터, 절차적 생성(Procedural Generation)과 AI 같은 고급 개념까지 마스터하게 될 것입니다. 장애물을 피하고 외계인을 무찌르며 배워보세요!
<프로젝트 소개>
1. Obstacle Dodge
플레이어 입력, 충돌 감지, 변수, 조건문(if statements)을 배우며 Unity를 처음 접하는 데 적합한 프로젝트입니다.
2. Rocket Boost
물리 기반 게임을 만들며 포스(Forces), 네임 스페이스(Namespaces), 클래스(Classes)를 실험해 봅니다. 로켓을 날리면서 여러분의 실력도 함께 성장시켜 보세요!
3. Galaxy Strike
클래식한 레일 슈팅 게임을 제작합니다. Unity의 지형(Terrain)과 타임라인(Timeline) 도구를 마스터하며, 배열(Arrays), for 반복문, 코루틴(Coroutines)을 학습할 수 있습니다. 아케이드 스타일의 재미를 현대적인 방식으로 즐겨보세요!
4. Royal Run
절차적 생성(Procedural Generation)을 활용한 끝없는 러너 게임을 제작합니다. 리스트(Lists), 픽업 아이템(Pickups), 애니메이션, 후처리 효과(Post-processing) 등을 다룹니다.
5. Sharp Shooter
1인칭 슈팅(FPS) 게임을 제작합니다. 네비게이션 메시(Nav Mesh Agents), 적 AI, 무기 전환, 레이캐스팅(Raycasting), ProBuilder를 활용한 레벨 프로토타이핑을 다룹니다. FPS를 만들고 싶다면, 이 프로젝트를 놓치지 마세요!
저희의 수강생들이 직접 작성한 놀라운 강의 후기를 확인해 보세요. 우리는 수천 명의 사람들에게 가치 있는 새로운 기술을 가르치며, 그들의 삶을 변화시키고 있다는 점을 자랑스럽게 생각합니다. 여러분도 그중 한 명이 될 수 있습니다.
이 강의는 프로젝트 기반 학습 방식으로 진행됩니다. 단순히 프로그래밍 개념을 배우는 것이 아니라, 실제 인디 게임을 만들며 즉시 적용할 수 있습니다. 모든 프로젝트 파일과 추가 참고 자료 및 리소스가 제공되므로, 막힐 일이 없습니다. "토킹 헤드" 스타일의 강의, 강력한 다이어그램, 고품질 스크린캐스트 등 다양한 학습 자료도 포함되어 있습니다.
각 데모 게임을 만들 때, 다음과 같은 프로세스를 따르게 됩니다:
전체 게임을 직접 만들어보는 도전 과제
단계별 제작 과정 안내
배운 내용을 반복적으로 적용하고 응용하기
2D에 집중하고 싶으신가요? 저희의 【한글자막】 C# Unity 게임 개발자 2D 강의를 확인해 보세요.
좀 더 고급 과정을 원하시나요? 저희의 【한글자막】 RPG 코어 컴뱃 크리에이터: 중급 Unity C# 코딩 마스터하기! 강의를 확인해보세요.
자격증 취득, 취업, 환경 아트를 배우고 싶으시다구요? 저희의 품질 보증된 녹색 나뭇잎 로고만 찾으세요!
한번 결제로 강의를 평생 이용할 수 있습니다. 강사는 자격을 갖춘 숙련된 코더이자 열성적인 게이머이므로 복잡한 개념을 명확하게 설명할 수 있을 뿐만 아니라 그 과정에서 재미도 선사합니다.
<이 강의에서 다루지 않는 내용>
다음과 같은 내용은 이 강의에서 상세히 다루지 않습니다:
아트 에셋 제작 (에셋이 제공되지만, 제작 과정은 강의에 포함되지 않음)
고급 성능 최적화
에디터 플러그인 개발 또는 수정
물리적 엔진 수정
<게임 개발을 배우고 싶은 누구나 환영합니다!>
Unity 3D는 다양한 플랫폼에서 프로덕션급 게임을 제작할 수 있는 강력한 엔진입니다.
단일 소스에서 Windows, MacOS, iOS, Android, 웹용으로 제작할 수 있습니다!
지금 바로 강의를 시작하세요. 절대 실망하지 않을 것입니다!
[130만 수강생의 게임개발 학습을 도운 Ben & Rick 강사의 한 마디]
안녕하세요! 저희는 GameDev tv Team의 Ben, Rick 입니다.
저희의 [C#과 Unity로 3D 게임 개발하기] 강의에 오신 것을 환영합니다!
이 강의는 인터넷에서 가장 인기있는 3D 게임 개발 코스입니다. 이미 70만 명 이상의 학생들에게 프로그래밍과 게임 개발, 많은 상용 게임을 가르쳐오며 많은 노하우를 쌓아왔기 때문에, 여러분들은 그런 점에서 큰 혜택을 얻게 될 것입니다.
강사들은 자격을 갖춘 경험 많은 프로그래머이고 열렬한 게이머들이라서 학습 과정에서 여러분을 즐겁게 해줄 뿐만 아니라 복잡한 개념을 명확하게 설명해 줄 수 있습니다. 또, 단 한번의 구매로 평생 이용도 가능합니다.
강의를 들으시고 강의와 관련하여 궁금하신 점은 무엇이든 Q&A에 남기실 수 있지만, 꼭 영어로 남겨주세요. 그래야 답변을 드릴 수 있습니다. :)
게임 제작법을배우고 싶은 여러분! 지금 바로 시작해 보세요! 실망하지 않을 겁니다!
그럼, 강의에서 만나요,
- Ben & Rick 드림