아래 세 가지로 인해 따라하는데 4시간이 넘게 걸렸네요 ㅠㅠ 다음 장도 열심히 따라해보겠습니다! 정말 좋은 강의 감사합니다;) 1. Script 파일을 만들고 그 안에 C++를 만들어 적용시키려하면 적용이 안됌 -> Script를 잘못 썼음 ( 오류로 인한 문제 ex. 중괄호 {}를 빼먹었다던가, 코드 자체를 잘못 썼다던가, 들어가보면 빨간색 ~표시되어있음) 2. Add Component로 Script를 찾으면 없음 ->Script 오류로 파일이 안뜨는 것. (1번 문제와 동일) ->정 찾아도 없으면 적용시킬 Script를 드래그하여 Hierachy 칸의 Main Character로 끌어다 놓을 것 ->그러나 Script 자체의 오류로 적용불가 메세지가 뜰꺼임 3. or조건문을 사용하기 위해 쓴 작대기 두 개는 어떻게 쓰는가? -> ||는 키보드 키 { } 옆에 있다. ******따라하면서 들었던 생각*************** speed 자체를 낮춰서 느리게 가는 것 보다 walkcount와 canmove로 타일식 이동+이동 순간의 짧은 waiting을 준는 것이 더 부드러울까? -> 답은 그렇다. speed를 2.4로 둘 때는 큰 차이가 없지만, speed가 올라가면 올라갈 수록 후자의 방식이 훨씬 부드러운 모션을 줄 수 있다.
좋은 강좌네요!. 몇부분 아쉬운점이 있어 남깁니다. 1. 달리기를 할때 count를 2씩 증가시켜 준다는 것은 기본 이동과 달리기가 2배 차이난다는 가정하에 작성된 로직이다. 때문에 달리기 이동속도가 바뀌면 42px(?) 씩 움직이지 않고 더 가거나 덜 갈것이다. 2. 이동에 관여하는 변수가 너무 많다. speed와 count, 그리고 코루틴 대기시간까지. => 어차피 translate를 사용하니까 translate함수에는 ~초동안 이동. 이라는 기능을 가진 인자가 있습니다. 이걸 이용해서 구현하면 훨씬더 깔끔한 코드가 나올것 같네요.
심용보 맞는 말씀이십니다. 본 강좌는 rpg maker MV를 베이스로 하고 있기 때문에 2배로 달리기 속도를 지정했는데, 제가 public으로 선언했었군요, 이후 이동 관련 강좌를 또 다룰 때 그 문제를 고치기 위해서 protected로 바꿔야 겠습니다! 그리고나서 runSpeed = speed로 값을 대입시켜야 겠네요 ㅎ. 지적 감사합니당. 2. speed나 walkCount등의 변수는 이후 계속해서 활용되다보니 본 강좌에서 필요한 인수랍니다. boxcollider의 offset 이동시 필요한 변수기도 하고 multiflySpeed, jump 등등... 전부 speed와 walkCount로 그리드를 맞추다보니...!
05:00 기본적인 움직임 설정 10:25 캐릭터 / 카메라 크기 조정 11:29 Shift로 속도 증가/하락( public float runSpeed/private float applyRunSpeed) 13:55 픽셀 단위 이동(walkCount / currentWalkCount) 16:25 48픽셀 이동되지만, 과정이 안 보여질 때(MoveCoroutine) 19:05 MoveCoroutine 반복 실행 차단하기(canMove) 21:00 48픽셀외에도 2.4픽셀 이동 보이게 하기(MoveCoroutine_ yield return new WaitForSeconds(0.01f)) 22:10 쉬프트 누르면 2칸씩 이동하는 문제(applyRungFlag)
인프런에 쯔꾸르 풍 만들기 무료강좌가 있어서 신청했다가 오늘 없어져서 당황했었어요 ㅠㅠ 그런데 유투브에 이렇게나 많은 좋은 컨텐츠가 있어서 정말 다행이다 싶네요 ㅎㅎ 이제 막 유니티 배우기 시작했는데 초심자를 상대로 상세하고 많은 강좌 올려주셔서 정말 감사합니다. 구독과 알림 신청하고 갑니다. 강좌 영상 대박 감사합니다!!!
- 리소스 링크 수정했습니다. Not Found 해결되었습니당. ※ Rpg maker MV 툴을 베이스로 잡고 만들었기 때문에 어떤면에서 비효율적일수도 있습니다. ※ 첫 강좌라서 말투가 어색할 수 있습니다. (파트 10, 20과 비교하면 알 수 있음ㅋ) ※ ll 문자는 엔터 옆에 있는 특수문자입니다. 영어 알파벳 I 아닙니다! ex) 달리기 속도는 무조건 걷기 속도의 2배
A meta data file (.meta) exists but ints asset '파일 위치/Katholic - C - 5.png' can't be found. When moving or deleting files outside of Unity. Plase ensure that the corresponding.meta file is moved or deleted along with it 라는 내용의 에러가 케이디님의 리소스파일을 다운하고 asset 으로 옮긴 후 Unity창을 실행했을때 발생하는데 어디서 문제인건가요? Katholic - C - 5.png 가 없다는 내용인가요? 감사합니다😀
안녕하세요! 쉬운 설명에 잘 따라하고 있습니다 감사해요! 그런데 10:00 쯤에 제 캐릭터는 앞을 보고 있는데 선생님의 캐릭터는 뒤를 보고 있더라구요. 그리고 add Component에 moving object도 없구요. 혹시 괜찮으시다면 왜 이러한 문제가 있는지 알 수 있을까요?
위 영상을 보고 게임을 만들어 보려고 하는데 위 코드를 복사해서 붙여넣기하고 디버깅 하는데 이렇게 뜹니다. 어떻게 하면 해결할수 있을까요?심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 오류 CS2001 'C:\Users\USER\Documents\도트 움직임 만들어보기\Assets\NewBehaviourScript.cs' 소스 파일을 찾을 수 없습니다. E01F45D5-80E7-44C8-9F11-00B57BECB743 C:\Users\USER\Documents\도트 움직임 만들어보기\CSC 1 활성
18:51 까지 작성하고 컴파일을 했는데, Assets\Script\MovingObject.cs(48,22): error CS1002: ; expected 라는 에러가 뜨더군요. 무엇에 문제가 있나요? 작성한 스크립트 보여드립니다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class MovingObject : MonoBehaviour { public float speed; private Vector3 vector; public float runSpeed; private float applyRunSpeed; public int walkCount; private int currentWalkCount; // Start is called before the first frame update void Start() {
monobehaviour가 작동을 안하네요 ....... 똑같이 using System.Collections; using System.Collections.Generic; using UnityEngine; public class NewBehaviourScript : MonoBehaviour { public float speed; private Vector3 vector; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { if (Input.GetAxisRaw("Horizontal") != 0 || Input.GetAxisRaw("Vertical") != 0) { vector.Set(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"), transform)
안녕하세요 어제 봤었는데 문법부터 하나하나 설명해 주셔서 저같은 초보는 정말 좋게 보고 있습니다. 이런 강의자료 만들어 주셔서 감사합니다. 그런데 다름이 아니라 Resource파일을 풀어놓은것을 Asset파일에 드래그해서 놓았습니다. 그리고 Character1을 #Scene에 넣었는데 create New Animation 이렇게 파일을 만드는 창이 띄어졌습니다. 자르는것 부터 하고 싶은데 어떻게 해결 하시는지 아시나요??
아아, 그 이유가 이미 해당 이미지의 스프라이트 모드가 multi로 되어있기 때문일 겁니다. 해당 이미지를 클릭하면 나오는 인스펙터 창에서 Multi로 되어있는 걸 확인 후, Sprite Editor를 눌른 후 적당한 셀 사이즈나 셀 개수로 나눠 잘라주면 되겠습니다. 씬 안에 넣지 않고 바로 가능합니다.
코루틴은 단점보다는 장점이 많아서 자주 사용하게 됩니다 단점은 병렬처리(쓰레드개념은 아님)라서 제어하기가 좀 더 까다롭지만 장점은 소스가 단순해집니다. 대기한다는 명령을 직관적으로 알 수 있기 때문이죠. 게다가 미세하지만 Update문대신 코루틴을 쓰면 때에 따라서 자원 절약도 할 수 있고요. 주석은 이럴때 쓰라고 있는 거죠 ㅎ
케이디님 안녕하세요, 영상 올리신지 거의 1년이 다되어가지만 정말 감사드리고 여쭤보고 싶은 것도 있어서 댓글 남깁니다. 제가 현재 게임 기획자 학원 다닌지 2주일 됬는데, 거기 학생들이 Unity 스터디를 하자고 권유를 하더라구요 그런데 스터디라는게... 솔직히 처음에는 열정적이겠지만 나중에 가면 한 두명씩 빠지고 그럴까봐 일부로 안들어가고 영상과 같이 쯔꾸르 라던지 1인개발로 게임을 만들어서 포트폴리오로 회사에 제출도 하고 싶거든요 6~7개월 지나면 회사 원서 제출하는 기간이라 5개월 정도 잡고 수입 목적 없이 그냥 가볍게 만들어서 App Store 같은곳에 한번 올려서 출시했다는 증거를 남기면 좋을 것 같아서요 충분히 만들 수 있을까요..? 뭐 ... 외주나 그런건 불가능하고 Unity 에서 무료 Asset 받아서 2D 형식으로 이 영상과 같은 소소한 재미로 즐길 수 있는 게임 좀 만들고 싶어요 ㅠㅠ 조언 부탁드리겠습니다. (현재 C# 기초 8번째 보고있는데 쯔꾸르도 좀 같이 병행하면서 공부해보려고 해요.)
단순 포트폴리오 목적이라면 개인이 후딱 개발하고 올리는 편이 낫습니다. 이미 에셋스토어에 그래픽은 전부 준비되어있고 당장 프로그래밍만 하면 되는데 시중에는 그 강좌나 기본적인 코딩방식도 나와있기 때문에 수개월이 아닌 1달이면 그럴싸한 포트폴리오용 게임이 나오기 때문이죠. 단순 포트폴리오용이 아니라 진짜 상업목적이라면 얘기는 달라지지만요 ㅎ
올려주신 리소스에 강의 처음에 나오는 캐릭터 12가지 모습 나오는 파일부터 없어요 ㅠㅠ애니메이션으로 정리된 파일만 있어요 그거말고도 에셋폴더에 리소스가져오면 몇개파일 찾을수 없다고 떠요 이 교육과정 너무 따라하고싶은데 누락된파일 어떻게된건지 알려주실 수 있을까요 ㅠㅠ (파일명 정확히 말씀드리면 강의에 나오는 character 1, character 2, character 3 없고 $Main_character 1, 2, 3만 있습니다ㅠ 그 외에 리소스파일 임폴트 했을때 katholik- A, B, C png파일 누락됐다고 콘솔창에 뜹니다 ㅜㅜ)
안녕하세요 케이디님 좋은 강좌 잘 보고 갑니다. 하나 궁금한게 있습니다. 코루틴 new WaitForSeconds(0.01f)를 했는데 방향키를 누르고 있으면 한 픽셀씩 대기시간도 예상 시간만큼 대기했다가 움직이는데, 움직임이 멈췄을때 키를 다시 입력하면 대기시간이 예상보다 오래걸린 후 움직입니다. 이유가 있을까요?
도트 찍는 법은 제 실력으로 올리기엔 아직 부족하네요 ㅜㅜ 나중에 기회되면 올려보도록 할게요 ㅎ 쯔꾸르는 알피지 만들기 툴 (알만툴)을 이용해서 코딩없이 제작할 수 있습니다. 다만 이미 만들어진 기능을 이용하는 거라서 한계가 있지요. 만일 유니티로 쯔꾸르같은 게임을 만들 거라면 기본적인 c문법은 알아야 합니당.
코루틴 안에 있는 while문 안에다가 if(applyRunFlag) 부분부터 yield return new waitforSecond부분까지 (총 4라인) 을 잘라내어 넣어주세요. while문 안에 yield return 이 없고, currentWalkCount를 증가시키지 않고 있기 때문에 무한루프에 빠져 멈춤현상이 일어난 거에요. 무한루핑에 빠져서 버그에 걸린 겁니다.
선생님 질문있습니다. 3d 유니티 개발을 먼저 조금 공부를 했었는데요 , C# 스크립트에서 움직이는 방식을 여러가지로 만들 수 있다고 하셨는데 , Translate , Transform , Rigidbody 의 차이가 뭔가요 ? 어느 상황때 저 세개를 사용하는것이 좋나요 ?
물리적인 움직임을 원하신다면 rigidbody, 객체의 좌표를 변경하는 식으로 움직이는 걸 원하신다면 transform을 이용하면 됩니다. rigidbody는 물리적인 움직임이다보니 속도라는 개념이 있어서 움직일때 공기 저항등으로 감속될 테고, 그로인해 멈추게 될 겁니다.
완전 똑같이 따라했는데 않되요 경고2가지가 떠요 1. The referenced script (MovingObject) on this Behaviour is missing! 2. The referenced script on this Behaviour (Game Object '캐릭터') is missing! 라고 경고뜨네요 C# 잘못된거 있나요? using System.Collections; using System.Collections.Generic; using UnityEngine; public class Movingobject : MonoBehaviour { public float speed; private Vector3 vector; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { if (Input.GetAxisRaw("Horizontal") != 0 || Input.GetAxisRaw("vertica") != 0) { vector.Set(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("vertica"), transform.position.z); if (vector.x != 0) { transform.Translate(vector.x * speed, 0, 0); } else if (vector.y != 0) { transform.Translate(0, vector.y * speed, 0); } } } }
질문있어서 남겨봅니다. 캐릭터가 처음좌표 (0,0)에서 우측으로 이동하기 위해서 반복문을 돌리는데 정확히 (0,1)이 나오는것이 아니라 (0,1.0001)처럼 소수값이 나오더라구요, 영상에도 보니 소수점 단위로 나오던데 이동거리가 처음좌표랑 가깝다면 상관이 없지만 멀어지면 결국 정수단위의 오차값이 생길텐데 해결하는 방법이 있을까요>?
NullReferenceException: Object reference not set to an instance of an object MovingObject+c__Iterator0.MoveNext () (at Assets/Scripts/MovingObject.cs:61) UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17) UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator) MovingObject:Update() (at Assets/Scripts/MovingObject.cs:93) 오류가 계속 떠서 소스파일그대로 복붙했는데 왜이럴까요..
최시우 최대한 자세히 설명해 드리니까 유니티 입문자분들도 쉽게 따라하실 수 있을 겁니다! 그 파일 에러는 무시하셔도 상관없습니다 ㅎ 그냥 제가 쓰던 파일 중에 일부를 제거하고 첨부했던 거라, 몇 가지 파일을 못찾았다고 에러가 뜨는 겁니다. 무시하시면 그냥 그대로 진행될 거에요 ㅎ
이상우 쯔꾸르는 유료툴 rpg maker mv , rpg maker vx ace 등등 rpg maker 시리즈가 만들기 편합니다. 왜냐면 프로그래밍 언어를 몰라도 되기 때문입니다. 그래서 프로그래밍 언어에 대해 지식이 전무한 상황이라면 유니티는 조금 힘들 수도 있습니다. 물론 위 강좌를 그대로 따라해도 제작할 수 있긴 하지만 이해하지 못한채로 그냥 따라하기만 하면 자신의 것으로 흡수하지 못할 것 같네요 ㅜ
심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 오류 CS0103 'MoveCoroutine' 이름이 현재 컨텍스트에 없습니다. 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 경고 CS8321 로컬 함수 'MoveCoroutine'이(가) 선언되었지만 사용되지 않았습니다. 라는 오류가 나오는데 해결 방법이 있나요??
PPU가 48인 이유는 타일맵이 48 픽셀 기준으로 제작해서 그렇습니다. 각각의 그리드, 가로 세로 사이즈가 48 픽셀이에요. 이러면 해당 이미지는 유니티에서 1의 길이를 가지게 됩니다. 그러면 타일 사이즈 관련 계산이 편해지겠죠. max Size는 폰 해상도에 따라 이미지의 크기도 조절되는데, 그 한계를 정해주는 겁니다. Max Size가 클수록 높은 해상도에서 깔끔하게 나오겠지만, 그만큼 이미지 용량이 커지는 단점이 있으니 적절하게 해주면 되겠습니다
안녕하세요! 타일(?) 단위로 움직임 설정 중 문제가 생겨 댓글 남깁니다! 가로 길이가 105px인 캐릭터의 speed와 walk count를 각 5.25, 20으로 했을때 움직임이 너무 빨라 임의로 0.2와 1로 설정해둔 상태 입니다. 이 경우에는 어떻게 수치를 설정해야 할까요?
처음에 매인캐릭터 (빨간옷 여자아이) 를 넣어서 자르기 할때, 이동시켜서 씬 안에 넣으면 9분할된 사진이 들어가는 것이 아니라자꾸 애니메이션 파일을 추가할 거냐고 물어봅니다. Multiple 을 Single 로 바꿔도 같은 오류가 나옵니다. 어떻게 해결해야 할까요? ㅠㅠ
speed 항목이 왜 안뜨는지 모르겠네요 밑에 코드있습니다 using System.Collections; using System.Collections.Generic; using UnityEngine; public class MovingObject : MonoBehaviour{ public float speed; private Vector3 vector; // Start is called before the first frame update void Start() {
c# 책으로 배우고 잇는사람입니다! 강좌 잘보고 있습니다. 캐릭터사진 규칙적으로 12개로 나누도록 png 사진 만드는건 포토샵인가여??? 캐릭터는 또 어느 프로그램에서 만들엇나여 그외 3d게임만들때 캐릭더 모습 그리는건 어떤식으로 이루어지고 어떤 프로그램으로 짜여지는지 알고싶습니다!
말씀 감사합니다ㅎ 질문에 답해드리자면 먼저 1. 비주얼 스튜디오 상단의 메뉴 -> 보기 -> 오류 보고를 누르면 해당 창이 뜰겁니다. 2. 제 경우에는 포토샵으로 작업했습니다. Aseprite라는 프로그램이나 클립스튜디오, 그림판 등등 여러가지 가능한 그림툴이 있습니다. 3. 3D 게임은 3D 오브젝트가 필요합니다. 3D 오브젝트를 만드는 툴은 블렌더, 마야 등등이 있습니다. 만드는 방법은 글로 설명하기 애매하나, 버택스(점)가 2개 있을 경우 선이 되고, 3개 이상일 경우 면이 되는 점을 이용하면서 만들어야 합니다. 버택스를 계속해서 늘려가면서 면과 선을 만들고, 그런 식으로 원하는 오브젝트를 만들 수 있습니다. 이른바 '모델링'이라는 거죠. 모델링이 끝나면 메테리얼과 텍스쳐를 입히는 과정이 이뤄지고, 그 다음에는 리깅 작업을 해야 합니다. '본'이라는 것을 이용해서 전체적인 뼈대를 만들고, 그 뼈대에 오브젝트의 버택스를 할당해주면, 뼈를 움직일 때 그 뼈에 해당되는 오브젝트 부분도 함꼐 움직이게 됩니다. 리깅 작업이 끝나면, 리깅 애니메이션이라고 해서, 오브젝트의 움직임을 타임라인에 기록하는 작업을 해야합니다. 그것이 끝나고 난 뒤에, 유니티나 언리얼같은 게임 엔진에서 해당 파일을 Import해서 적용시킬 수 있습니다. (리깅 작업은 애니메이션이 필요한 오브젝트만 해주면 되고, 단순한 사물일 경우에는 그 작업을 생략해도 됩니다. 물론 메테리얼이나 텍스쳐도 대충 떼우고 싶다면 꼭 필요한 과정은 아닙니다)
8분48초 부분에 똑같이 입력했는데 왜 if 문장에서만 에러가 뜨는지 원인을 모르겠네요. 아시는분 가르쳐 주세요 ㅠㅠ using System.Collections; using System.Collections.Generic; using UnityEngine; public class MovingOject : MonoBehaviour { public float speed; private Vector3 vector; // Start is called before the first frame update void Start() {
} // Update is called once per frame void Update() {
using System.Collections; using System.Collections.Generic; using UnityEngine; public class MovingObject : MonoBehaviour { public float speed; private Vector3 vector; // Use this for initialization void Start () {
}
// Update is called once per frame void Update () {
@@돌명-g9v using System.Collections; using System.Collections.Generic; using UnityEngine; public class MovingObject : MonoBehaviour { public float speed; private Vector3 vector;
// Use this for initialization void Start () {
}
// Update is called once per frame void Update () {
제 경우엔 유니티 설치할 때 자동으로 비주얼 스튜디오도 깔려서 연동할 것도 없이 자동으로 설정되어 있었습니다. ㅜㅜ 비주얼 스튜디오를 키면 맨 우측 상단에 로그인할 수 있게 나와있으니 거기서 로그인 하신 후 업데이트를 진행하신 다음 유니티와 연동해보시는 건 어떨지 조심스럽게 예측해봅니당. ㅜ
혹시 유니티 회색배경에 바둑판 줄무늬는 어떻게 넣나요? 처음써봐서 잘 모르겠네요.. 그리고 C#스크립트만드는거있자나요 님이랑 똑같이했는데 비주얼 스튜디오 들어가면 내용이 다른데(님은 MovingObject로 적혀있는곳이 저는 NewBehaviourScripts 로 표시되있고 이 외에도 다른점이 많아요) 뭐가 잘못된걸까요? 분명 똑같이 따라했는데 말이죠ㅠ
개발 공부하는 학생입니다. 멋진 강의 올려주셔서 너무 감사합니다. 열심히 배우겠습니다! 존경합니다~♡
입문자 분들께 아주 좋은 영상일 것 같습니다
그밀 저도 아직 초보자지만 그래도 입문자 분들을 위한 강좌를 준비해보았습니다 ㅎ 저 입문자일 때를 생각하면서...! 그러다보니 미숙한 부분이 많을지도 몰라요 ㅠ
우와~ 씨, 얼마나 발음을 잘하면 자막 자동 생성까지 완벽하게 될 수가 있어요!! 짝짝짝ㅉ짝짜짝짝짝짝짝ㅉㅉ짜짝짝짝짝짝짝짣짝
일주일동안 플레이어 애니메이션 가지고 엄청 고민해서 오늘 겨우 해결했는데 shuft 키도 생각햐줘야하고 제가 생각한거랑 차원이 다르네요. 천재신것 같아요!!
유니티 1도 모르고 책만보고 뛰어들었는데 너무 감사해요
도움이 되었다니 다행입니다 ㅎ
해당 강좌에선 쯔꾸르의 거의 모든 기능을 다뤄 볼 예정입니다! (턴제 전투 제외)
물론 세이브 기능도 포함되어 있슴닷.
턴제 전투가 없다니 아쉽네요ㅠㅠ
고양이아저씨 본 강좌 내용에는 턴제 전투가 계획되어있지 않지만, 추가적인 시스템을 다뤄보는 마지막 목차편에서 다뤄볼 수도 있습니닷.
항상 좋은 강좌 감사합니다. 매번 여러번식 반복해서 챙겨보는데 너무 좋고 쉽게 잘 설명 해주시는것 같습니다. 초보인 저한테 많은 도움이 되였습니다.
좋은 평가 감사합니다.
더 노력해야겠네요 ㅎ
독학 파이팅입니다...!
아래 세 가지로 인해 따라하는데 4시간이 넘게 걸렸네요 ㅠㅠ
다음 장도 열심히 따라해보겠습니다!
정말 좋은 강의 감사합니다;)
1. Script 파일을 만들고 그 안에 C++를 만들어 적용시키려하면 적용이 안됌
-> Script를 잘못 썼음 ( 오류로 인한 문제 ex. 중괄호 {}를 빼먹었다던가, 코드 자체를 잘못 썼다던가, 들어가보면 빨간색 ~표시되어있음)
2. Add Component로 Script를 찾으면 없음
->Script 오류로 파일이 안뜨는 것. (1번 문제와 동일)
->정 찾아도 없으면 적용시킬 Script를 드래그하여 Hierachy 칸의 Main Character로 끌어다 놓을 것 ->그러나 Script 자체의 오류로 적용불가 메세지가 뜰꺼임
3. or조건문을 사용하기 위해 쓴 작대기 두 개는 어떻게 쓰는가?
-> ||는 키보드 키 { } 옆에 있다.
******따라하면서 들었던 생각***************
speed 자체를 낮춰서 느리게 가는 것 보다 walkcount와 canmove로 타일식 이동+이동 순간의 짧은 waiting을 준는 것이 더 부드러울까?
-> 답은 그렇다.
speed를 2.4로 둘 때는 큰 차이가 없지만, speed가 올라가면 올라갈 수록 후자의 방식이 훨씬 부드러운 모션을 줄 수 있다.
작대기 뭔가 했더니 그거 였구나... 감사합니다ㅠㅠ
설명도 꼼꼼 하시고 좋은 영상감사합니다ㅠㅠ
목소리 너무 좋으시네요~ 아직 유니티에 대해서 초보지만 열심히 배워보겠습니다 감사합니다~
오늘까지 나온 강좌들 보고있는데 진짜 도움되네요 감사합니다!!
WooHyun Kim 감사합니다 ㅎㅎ
본강좌 시리즈는 2D Rpg 쯔꾸르 풍의 게임 완벽 재현을 목표로 하고있슴다. 관심있으시다면 40편 완결까지 같이 달려봐요 ㅎ
혹시 코드들 소스로 올려주실수있나요? 따라하다가 버그걸릴때가 종종 있어서 그거 찾느라 시간이 너무오래걸려서요ㅠㅠ
WooHyun Kim 넵 소스코드도 같이 올려드릴게요ㅎ
좋은 강좌네요!.
몇부분 아쉬운점이 있어 남깁니다.
1. 달리기를 할때 count를 2씩 증가시켜 준다는 것은 기본 이동과 달리기가 2배 차이난다는 가정하에 작성된 로직이다. 때문에 달리기 이동속도가 바뀌면 42px(?) 씩 움직이지 않고 더 가거나 덜 갈것이다.
2. 이동에 관여하는 변수가 너무 많다. speed와 count, 그리고 코루틴 대기시간까지.
=> 어차피 translate를 사용하니까 translate함수에는 ~초동안 이동. 이라는 기능을 가진 인자가 있습니다. 이걸 이용해서 구현하면 훨씬더 깔끔한 코드가 나올것 같네요.
심용보 맞는 말씀이십니다. 본 강좌는 rpg maker MV를 베이스로 하고 있기 때문에 2배로 달리기 속도를 지정했는데, 제가 public으로 선언했었군요, 이후 이동 관련 강좌를 또 다룰 때
그 문제를 고치기 위해서 protected로 바꿔야 겠습니다! 그리고나서 runSpeed = speed로 값을 대입시켜야 겠네요 ㅎ. 지적 감사합니당.
2. speed나 walkCount등의 변수는 이후 계속해서 활용되다보니 본 강좌에서 필요한 인수랍니다. boxcollider의 offset 이동시 필요한 변수기도 하고 multiflySpeed, jump 등등... 전부 speed와 walkCount로 그리드를 맞추다보니...!
05:00 기본적인 움직임 설정
10:25 캐릭터 / 카메라 크기 조정
11:29 Shift로 속도 증가/하락( public float runSpeed/private float applyRunSpeed)
13:55 픽셀 단위 이동(walkCount / currentWalkCount)
16:25 48픽셀 이동되지만, 과정이 안 보여질 때(MoveCoroutine)
19:05 MoveCoroutine 반복 실행 차단하기(canMove)
21:00 48픽셀외에도 2.4픽셀 이동 보이게 하기(MoveCoroutine_ yield return new WaitForSeconds(0.01f))
22:10 쉬프트 누르면 2칸씩 이동하는 문제(applyRungFlag)
구독했습니다 좋은정보 감사합니다
아뉘.. 이렇게 좋은 강의를 이제야 알았네요.
우와 이런 고오급진 강좌 감사합니다!
윤빈 고급이라녀 ㅠ 2D 게임이라 3D에 비하면 ㅜ 여튼 좋은 평가 감사합니다 ㅎ
이런 귀한강의를 무료로 볼수있게 해주셔서 정말 감사합니다
1장 5일 정도 걸려서 다 익혔네요 상하좌우 입력이 이렇게 어려울줄이야... 40장까지 한번 따라가보겠습니다 감사합니다
감사합니다. 정말 좋은 강의인 것 같아요.
인프런에 쯔꾸르 풍 만들기 무료강좌가 있어서 신청했다가 오늘 없어져서 당황했었어요 ㅠㅠ 그런데 유투브에 이렇게나 많은 좋은 컨텐츠가 있어서 정말 다행이다 싶네요 ㅎㅎ 이제 막 유니티 배우기 시작했는데 초심자를 상대로 상세하고 많은 강좌 올려주셔서 정말 감사합니다. 구독과 알림 신청하고 갑니다. 강좌 영상 대박 감사합니다!!!
아아 사실 링크가 하나 깨져있어서 수정 중이라 사라졌던 걸겁니다 ㅎ
즐가운 유니티 제작되세요~
@@케이디 아~ 그랬던거군요 ㅎㅎ 다행이네요 암튼 그 덕분에 케이디님 영상채널 구독도 하고 더 많은 강좌 알게되서 좋아요!! ㅎ
- 리소스 링크 수정했습니다. Not Found 해결되었습니당.
※ Rpg maker MV 툴을 베이스로 잡고 만들었기 때문에 어떤면에서 비효율적일수도 있습니다.
※ 첫 강좌라서 말투가 어색할 수 있습니다. (파트 10, 20과 비교하면 알 수 있음ㅋ)
※ ll 문자는 엔터 옆에 있는 특수문자입니다. 영어 알파벳 I 아닙니다!
ex) 달리기 속도는 무조건 걷기 속도의 2배
좋은 강의 감사합니다!
최소한에 c# 키워드나 함수 ,알고리즘을 공부하시고 보시는게 좋을거란 공부중인 학생이 말합니다.
영상보면서 공부 잘하고있습니다
A meta data file (.meta) exists but ints asset '파일 위치/Katholic - C - 5.png' can't be found. When moving or deleting files outside of Unity. Plase ensure that the corresponding.meta file is moved or deleted along with it
라는 내용의 에러가 케이디님의 리소스파일을 다운하고 asset 으로 옮긴 후 Unity창을 실행했을때 발생하는데 어디서 문제인건가요? Katholic - C - 5.png 가 없다는 내용인가요?
감사합니다😀
혼자서 게임만들기 해보고 싶어서 공부중인데 좋은 영상목록이 있어서 정독하려고 합니다. 감사합니다!
M M 엔진에만 익숙해지면 금방 가능할 테니 파이팅입니다.
유니티사이트에 패치버전이 여러개가 보이는데 최신버전으로 받아도 문제가 없을까요?
M M 넵 유니티 2017의 최신버전으로 받으시면 됩니다.
너무좋은강의입니다
사랑합니다
안녕하세요! 쉬운 설명에 잘 따라하고 있습니다 감사해요! 그런데 10:00 쯤에 제 캐릭터는 앞을 보고 있는데 선생님의 캐릭터는 뒤를 보고 있더라구요. 그리고 add Component에 moving object도 없구요. 혹시 괜찮으시다면 왜 이러한 문제가 있는지 알 수 있을까요?
유용한 영상 감사드립니다.
지환배 즐거운 유니티 제작되세요!
위 영상을 보고 게임을 만들어 보려고 하는데 위 코드를 복사해서 붙여넣기하고 디버깅 하는데 이렇게 뜹니다. 어떻게 하면 해결할수 있을까요?심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태
오류 CS2001 'C:\Users\USER\Documents\도트 움직임 만들어보기\Assets\NewBehaviourScript.cs' 소스 파일을 찾을 수 없습니다. E01F45D5-80E7-44C8-9F11-00B57BECB743 C:\Users\USER\Documents\도트 움직임 만들어보기\CSC 1 활성
메모장의 문자가 유니티 스크립트 상에서 호환되지 않을 수 있기 때문에 생기는 문제점입니다. 메모장이 유니코드 방식으로 쓰인 게 아니다보니 다를 수도 있으니 직접 타이핑 하신다면 해결될 수도 있을 겁니다.
모바일화 하시는 영상도 찍어주실수 있으신가요?
그것은 유니티 허브->버전 다운로드->버전 설치 하기 전 컴퓨터/폰에 할건지 정하는 게 있어요
@@-game7815 그것 말고도 모바일 기기를 위한 터치패드 구현 등도 같이 해주실 수 있는지 물어보신 것 같아요
근데 2년전이네?
22:35
제가 C C++ 파이썬 기초인 것들을 안배우고 엔트리라는 엄청나게 기본인 엔트리파이썬을 끝내고 바로 유니티를 하려고 하는데 한면 해보았는데 역시 어렵네요(당연한거지)
18:51 까지 작성하고 컴파일을 했는데, Assets\Script\MovingObject.cs(48,22): error CS1002: ; expected 라는 에러가 뜨더군요. 무엇에 문제가 있나요?
작성한 스크립트 보여드립니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MovingObject : MonoBehaviour
{
public float speed;
private Vector3 vector;
public float runSpeed;
private float applyRunSpeed;
public int walkCount;
private int currentWalkCount;
// Start is called before the first frame update
void Start()
{
}
IEnumerator MoveCoroutine()
{
if(Input.GetKey(KeyCode.LeftShift))
{
applyRunSpeed = runSpeed;
}
else
applyRunSpeed = 0;
vector.Set(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"), transform.position.z);
while(currentWalkCount < walkCount)
{
if(vector.x != 0)
{
transform.Translate(vector.x * (speed + applyRunSpeed), 0, 0);
}
else if(vector.y != 0)
{
transform.Translate(0, vector.y * (speed + applyRunSpeed), 0);
}
currentWalkCount++;
}
currentWalkCount = 0;
yield ruturn new WaitForSeconds(1f);
}
// Update is called once per frame
void Update()
{
if(Input.GetAxisRaw("Horizontal") != 0 || Input.GetAxisRaw("Vertical") !=0)
{
StartCoroutine(MoveCoroutine());
}
}
}
정안되면 gpt돌려유
리소스는 혹시 어디서 받을수있나요? 오늘부터 영상 정주행하며 개발 입문해보고자합니다..^^
monobehaviour가 작동을 안하네요 .......
똑같이
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class NewBehaviourScript : MonoBehaviour {
public float speed;
private Vector3 vector;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetAxisRaw("Horizontal") != 0 || Input.GetAxisRaw("Vertical") != 0)
{
vector.Set(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"), transform)
}
}
}
로 했는데 monobehaviour가 작동하지 않는것 같습니다...
거기에다 프로젝트명이 들어가야 할곳에 기타파일 이라고만 들어가 있네요
제발 해결책을 알려주세요
안녕하세요 어제 봤었는데 문법부터 하나하나 설명해 주셔서 저같은 초보는 정말 좋게 보고 있습니다. 이런 강의자료 만들어 주셔서 감사합니다. 그런데 다름이 아니라
Resource파일을 풀어놓은것을 Asset파일에 드래그해서 놓았습니다. 그리고
Character1을 #Scene에 넣었는데 create New Animation 이렇게 파일을 만드는 창이 띄어졌습니다. 자르는것 부터 하고 싶은데 어떻게 해결 하시는지 아시나요??
아아, 그 이유가 이미 해당 이미지의 스프라이트 모드가 multi로 되어있기 때문일 겁니다. 해당 이미지를 클릭하면 나오는 인스펙터 창에서 Multi로 되어있는 걸 확인 후, Sprite Editor를 눌른 후 적당한 셀 사이즈나 셀 개수로 나눠 잘라주면 되겠습니다. 씬 안에 넣지 않고 바로 가능합니다.
답장 감사합니다!!
캐릭터 만드는 과정과 사진작업
3d캐릭터 모델링 하는거 강좌 올려주실수있나요?????
UA-cam현빈찡 캐릭터까진 모르겠지만 일반 오브젝트 강좌는 어쩌면 진행할 수도 있을 것 같네요ㅎㅎ
귀중한 재능기부 너무나도 감사합니다. 채널에 있는 C#튜토리얼과 유니티 튜토리얼을 병행하면 초보자도 쉽게 배울 수 있는 양질의 튜토리얼이라고 생각합니다.
감사합니다. 조만간 또 기초강의와 심화강의로 찾아뵙겠습니다.
영상보면서 공부 잘하고 있는데요. 코루틴이 익숙치 않아서 그런데 현업에서도 많이 쓰이나요? 여러개 쓰면 소스분석 어려울거 같은데.
코루틴은 단점보다는 장점이 많아서 자주 사용하게 됩니다
단점은 병렬처리(쓰레드개념은 아님)라서 제어하기가 좀 더 까다롭지만
장점은 소스가 단순해집니다.
대기한다는 명령을 직관적으로 알 수 있기 때문이죠.
게다가 미세하지만 Update문대신 코루틴을 쓰면 때에 따라서 자원 절약도 할 수 있고요.
주석은 이럴때 쓰라고 있는 거죠 ㅎ
케이디님 안녕하세요, 영상 올리신지 거의 1년이 다되어가지만 정말 감사드리고 여쭤보고 싶은 것도 있어서 댓글 남깁니다.
제가 현재 게임 기획자 학원 다닌지 2주일 됬는데, 거기 학생들이 Unity 스터디를 하자고 권유를 하더라구요
그런데 스터디라는게... 솔직히 처음에는 열정적이겠지만 나중에 가면 한 두명씩 빠지고 그럴까봐 일부로 안들어가고 영상과 같이 쯔꾸르 라던지 1인개발로 게임을 만들어서 포트폴리오로 회사에 제출도 하고 싶거든요
6~7개월 지나면 회사 원서 제출하는 기간이라 5개월 정도 잡고 수입 목적 없이 그냥 가볍게 만들어서 App Store 같은곳에 한번 올려서 출시했다는 증거를 남기면 좋을 것 같아서요
충분히 만들 수 있을까요..? 뭐 ... 외주나 그런건 불가능하고 Unity 에서 무료 Asset 받아서 2D 형식으로 이 영상과 같은 소소한 재미로 즐길 수 있는 게임 좀 만들고 싶어요 ㅠㅠ
조언 부탁드리겠습니다.
(현재 C# 기초 8번째 보고있는데 쯔꾸르도 좀 같이 병행하면서 공부해보려고 해요.)
단순 포트폴리오 목적이라면 개인이 후딱 개발하고 올리는 편이 낫습니다.
이미 에셋스토어에 그래픽은 전부 준비되어있고
당장 프로그래밍만 하면 되는데 시중에는 그 강좌나 기본적인 코딩방식도 나와있기 때문에 수개월이 아닌 1달이면 그럴싸한 포트폴리오용 게임이 나오기 때문이죠.
단순 포트폴리오용이 아니라 진짜 상업목적이라면 얘기는 달라지지만요 ㅎ
어디까지나 참고용입니닷.
@@케이디 답글 감사합니다 . 혼자서 기획서 쓰느라 지치지만 영상 하나는 보고 따라해봐야겠네요 ㅎ;;
파이팅입니다. 포트폴리오는 보여주기용이니 너무 힘쓰시지 마세요 ㅎㅎ 스킬만 얻어가시먼 됩니다.
속도에 * Time.deltatime 을 해줘야 할 것 같아요. (속도가 너무 빨라 보였던 이유...)
Time.deltatime을 쓰지 않는 이유는 이후 강좌를 보시다보면 알 수 있을겁니당.
충돌방지기능부터 수많은 제어를 다른 변수를 이용해서 다루기 때문입니다.
@@케이디 넵 ^^~
올려주신 리소스에 강의 처음에 나오는 캐릭터 12가지 모습 나오는 파일부터 없어요 ㅠㅠ애니메이션으로 정리된 파일만 있어요 그거말고도 에셋폴더에 리소스가져오면 몇개파일 찾을수 없다고 떠요 이 교육과정 너무 따라하고싶은데 누락된파일 어떻게된건지 알려주실 수 있을까요 ㅠㅠ
(파일명 정확히 말씀드리면 강의에 나오는 character 1, character 2, character 3 없고 $Main_character 1, 2, 3만 있습니다ㅠ 그 외에 리소스파일 임폴트 했을때 katholik- A, B, C png파일 누락됐다고 콘솔창에 뜹니다 ㅜㅜ)
안녕하세요 케이디님 좋은 강좌 잘 보고 갑니다. 하나 궁금한게 있습니다.
코루틴 new WaitForSeconds(0.01f)를 했는데
방향키를 누르고 있으면 한 픽셀씩 대기시간도 예상 시간만큼 대기했다가 움직이는데,
움직임이 멈췄을때 키를 다시 입력하면 대기시간이 예상보다 오래걸린 후 움직입니다.
이유가 있을까요?
좋은 영상 감사합니다! 근데 따라하다 보니 궁금해서 그런데 딱 16픽셀씩 움직이게 하려고 해보는데 캐릭터의 사이즈를 1인 상태로 (영상에서는 60) 하니깐 넘 빠른데 사이즈 말고 어떤 변수를 줄이면 좋을까요..?
혹시 캐릭터도트찍는법에 대한 영상도 있나요? 그리고 쯔꾸르게임을 만들려면 c언어(?)를 먼저 알아야하나요?
도트 찍는 법은 제 실력으로 올리기엔 아직 부족하네요 ㅜㅜ
나중에 기회되면 올려보도록 할게요 ㅎ
쯔꾸르는 알피지 만들기 툴 (알만툴)을 이용해서 코딩없이 제작할 수 있습니다.
다만 이미 만들어진 기능을 이용하는 거라서 한계가 있지요.
만일 유니티로 쯔꾸르같은 게임을 만들 거라면 기본적인 c문법은 알아야 합니당.
케이디님 영상과 관련 없는 질문에 죄송합니다만 지금 비주얼스튜디오 코드는 코드조각이 없는게 정상인가요?
그리고 혹시 코드조각을 이용하고 싶은데 어떻게 해야 할까요?
강좌에대해 질문이 있습니다.케이디님께서 알려주신 강좌를 통해서 1강을 따라해봤습니다.이 코딩을 짜고 유니티로 실행을하게되면 캐릭터는 움직이지않고 유니티가 응답없음으로 전환이 됩니다 어떻게 해결할 방법이 없을까요?using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class MovingObject : MonoBehaviour
{
public float speed; private Vector3 vector; public float runSpeed;
private float applyRunSpeed;
private bool applyRunFlag = false; public int walkCount;
private int currentWalkCount; private bool canMove = true; // Start is called before the first frame update
void Start()
{
} IEnumerator MoveCoroutine()
{
if (Input.GetKey(KeyCode.LeftShift))
{
applyRunSpeed = runSpeed;
applyRunFlag = true;
}
else
applyRunSpeed = 0;
applyRunFlag = false; if (Input.GetAxisRaw("Horizontal") != 0 || Input.GetAxisRaw("Vertical") != 0)
{ vector.Set(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"), transform.position.z); while (currentWalkCount < walkCount)
{
if (vector.x != 0)
{
transform.Translate(vector.x * (speed + applyRunSpeed), 0, 0);
}
else if (vector.y != 0)
{
transform.Translate(0, vector.y * (speed + applyRunSpeed), 0);
}
}
if(applyRunFlag)
currentWalkCount++;
currentWalkCount++;
yield return new WaitForSeconds(0.01f);
}
currentWalkCount = 0;
canMove = true;
} // Update is called once per frame
void Update()
{
if (canMove)
{
if (Input.GetAxisRaw("Horizontal") != 0 || Input.GetAxisRaw("Vertical") != 0)
{
canMove = false;
StartCoroutine(MoveCoroutine());
}
}
}
}
코루틴 안에 있는 while문 안에다가
if(applyRunFlag) 부분부터 yield return new waitforSecond부분까지 (총 4라인)
을 잘라내어 넣어주세요.
while문 안에 yield return 이 없고,
currentWalkCount를 증가시키지 않고 있기 때문에 무한루프에 빠져 멈춤현상이 일어난 거에요.
무한루핑에 빠져서 버그에 걸린 겁니다.
@@케이디 설명해주셔서 감사합니다 드디어 해결되었습니다 ㅜㅜ!
선생님 질문있습니다. 3d 유니티 개발을 먼저 조금 공부를 했었는데요 , C# 스크립트에서 움직이는 방식을 여러가지로 만들 수 있다고 하셨는데 , Translate , Transform , Rigidbody 의 차이가 뭔가요 ? 어느 상황때 저 세개를 사용하는것이 좋나요 ?
물리적인 움직임을 원하신다면 rigidbody,
객체의 좌표를 변경하는 식으로 움직이는 걸 원하신다면 transform을 이용하면 됩니다.
rigidbody는 물리적인 움직임이다보니 속도라는 개념이 있어서 움직일때 공기 저항등으로 감속될 테고, 그로인해 멈추게 될 겁니다.
상업적으로는 아니고 그냥 취미같은 걸로 쯔꾸르게임을 제작해 볼려고하는데 캐릭터칩은 아니더라도 맵칩을 사용해서 제작해도 될까요?
무료 배포중인 맵칩, 캐릭터 칩이라 언제든 사용 가능합니다. 크레딧 같은 곳에 출처만 밝혀주세요. 감사합니다
감사합니다.
20버전을 쓰고 있는데 혹시 델타타임이 코루틴과 같은 역할을 하는건가요?
다시 1화부터 정독..
왜 저는 선생님처럼 빠릿빠릿 움직이지 않을까요? 변수설정이랑 코드 다 똑같이 했는데
완전 똑같이 따라했는데 않되요
경고2가지가 떠요
1. The referenced script (MovingObject) on this Behaviour is missing!
2. The referenced script on this Behaviour (Game Object '캐릭터') is missing!
라고 경고뜨네요 C# 잘못된거 있나요?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Movingobject : MonoBehaviour
{
public float speed;
private Vector3 vector;
// Start is called before the first frame update
void Start() {
}
// Update is called once per frame
void Update() {
if (Input.GetAxisRaw("Horizontal") != 0 || Input.GetAxisRaw("vertica") != 0)
{
vector.Set(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("vertica"), transform.position.z);
if (vector.x != 0)
{
transform.Translate(vector.x * speed, 0, 0);
}
else if (vector.y != 0)
{
transform.Translate(0, vector.y * speed, 0);
}
}
}
}
알피지메이커로도 유니티같이 모바일로도 이식이 가능할까요?-? c언어는 완전 처음이라 낯설어서 차라리 쯔꾸르툴로 만들고싶은데 모바일로 내보고싶어서요
rpg maker xp~ vx ace까진 에뮬레이터로 돌리는 방식으로 모바일 이식이 가능하고 mv에선 자체 모바일 이식이 가능합니다. 다만 최적화 문제 때문에 매우 힘들거에요 ㅜ
@@케이디 허억ㅜㅜ생초보라 어렵겠군요... 유니티기준으로 만들어서 모바일 코딩이 답인거군요...
플레이 버튼 눌러서 확인 하려고 하니까 님처럼 파란 배경에 움직이는게 아니라 카메라 박스(?) 있은 상태로 움직이긴 하는데 움직임이 다르네요? 이건 스크립트 잘못써서 그런건가요? 아니면 뭘 잘못한건지..
질문있어서 남겨봅니다.
캐릭터가 처음좌표 (0,0)에서 우측으로 이동하기 위해서 반복문을 돌리는데 정확히 (0,1)이 나오는것이 아니라 (0,1.0001)처럼 소수값이 나오더라구요, 영상에도 보니 소수점 단위로 나오던데 이동거리가 처음좌표랑 가깝다면 상관이 없지만 멀어지면 결국 정수단위의 오차값이 생길텐데 해결하는 방법이 있을까요>?
그럴 때는 한 번의 타일 이동이 끝날 때마다 정수가 나오게 Round 처리 해주시면 될 겁니다.
@@케이디 1년 지난 영상에 빠른 답변 정말 감사드립니다ㅣ!
NullReferenceException: Object reference not set to an instance of an object
MovingObject+c__Iterator0.MoveNext () (at Assets/Scripts/MovingObject.cs:61)
UnityEngine.SetupCoroutine.InvokeMoveNext (IEnumerator enumerator, IntPtr returnValueAddress) (at C:/buildslave/unity/build/Runtime/Export/Coroutines.cs:17)
UnityEngine.MonoBehaviour:StartCoroutine(IEnumerator)
MovingObject:Update() (at Assets/Scripts/MovingObject.cs:93)
오류가 계속 떠서 소스파일그대로 복붙했는데 왜이럴까요..
Null오류로군요. 인스펙터창에서 뭔가 채워지지 않은 요소가 있는지 확인이 필요합니다.
이 캐릭터칩을 상업적으로 재판매를 하시는분을 봤는데
혹시 안되는부분 아닌가요?
궁금해서 댓글 달아봅니다 :)
제보 감사합니다. 재판매 중인 분에게 메세지 보냈습니다. 제가 무료로 배포중인 맵칩인데 말이죠ㅎㅎ...
@@케이디 네, 구매자도 있었지만 게시물이 삭제되었네요
배포가 된 곳은, 네코랜드 리소스마켓 쪽입니다
유니티 배워볼 좋은영상 찾은것같아서 기분이좋아요ㅎ그런데 리소스 다운받아서 에셋파일에 정상적으로 담았는데요, 콘솔에 빨간느낌표 아이콘 달은 이런 메시지가 여러개 떴어요..!Assertion failed: Removing Assets/Images/Sprite/Dialogue - Midde.png because the asset does not exist그런데 스프라이트폴더 안에 Dialogue-Midde이라는 이미지는 없던데, 이미지가 제대로 받아지지 않았다는 뜻인가요?계속 진행해도 괜찮은걸까요??(이외에도 Dialogue-Min2, Dialogue-above, Guan, Haon, Katholik 등등.. 여러개 떴네요!)
최시우 최대한 자세히 설명해 드리니까 유니티 입문자분들도 쉽게 따라하실 수 있을 겁니다!
그 파일 에러는 무시하셔도 상관없습니다 ㅎ
그냥 제가 쓰던 파일 중에 일부를 제거하고 첨부했던 거라, 몇 가지 파일을 못찾았다고 에러가 뜨는 겁니다. 무시하시면 그냥 그대로 진행될 거에요 ㅎ
케이디 오오 빠른 피드백 감사합니다! 차근차근 해보고있었어요 ㅎㅎ~
눈이 너무 아파서 그러는데 강좌처럼 검은색으로 어떻게 바꾸나요!
제가 쯔꾸르 게임을 처음 만들어 보려고하는데 이거 강좌만보고 잘 따라하기만 하면 만들수있나요? (아무것도 모르는 상태)
이상우 네. 가능합니다 ㅎ 그대로 따라하면 기본적인 쯔꾸르풍 게임 제작이 가능헤 질 거에요. 입문자 초보자를 위한 강좌다보니
케이디 아 그렇군요 쯔꾸르 만들려면 찾아보니 여러가지 프로그램이 있더군요 그냥 유니티 하나로 만들수있져?
이상우 쯔꾸르는 유료툴 rpg maker mv , rpg maker vx ace 등등 rpg maker 시리즈가 만들기 편합니다. 왜냐면 프로그래밍 언어를 몰라도 되기 때문입니다.
그래서 프로그래밍 언어에 대해 지식이 전무한 상황이라면
유니티는 조금 힘들 수도 있습니다.
물론 위 강좌를 그대로 따라해도 제작할 수 있긴 하지만 이해하지 못한채로 그냥 따라하기만 하면 자신의 것으로 흡수하지 못할 것 같네요 ㅜ
케이디 아 그렇군요 감사합니다! C언어는 조금 했는데 잘할수있을지 의문이드네요 ㅋㅋ 그래도 유니티 쪽으로 한번사용해볼께요
@@이상우-l1k C언어를 변형한 C#이 유니티의 언어입니다.
C#은 처음이지만 이전에 C를 배워서
3시간만에 성공하긴 했는데...
캐릭터 레이어가 이동할때를 제외하고 카메라 밑으로 내려가는건지
계속 깜박거리는데 어떻게 해야 할까요?
유니티 5버전 사용중입니다(32비트 똥컴이라...)
심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태
오류 CS0103 'MoveCoroutine' 이름이 현재 컨텍스트에 없습니다.
심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태
경고 CS8321 로컬 함수 'MoveCoroutine'이(가) 선언되었지만 사용되지 않았습니다.
라는 오류가 나오는데 해결 방법이 있나요??
MoveCoroutine 이란 이름을 제대로 코루틴 이름으로 명시하셨는지 확인해보세요. 오타가 난 모양같네요
@@케이디 네 메모장에서 참고해서 복붙 했는데도 똑같이 나와요
@@이현호-u8r 해당되는 전체 코드를 복붙해서 보여주실 수 있을까요?
원인을 알아내려면 역시 스크립트를 봐야될 것 같습니다.
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class movingobject : MonoBehaviour {
public float speed;
private Vector3 vector;
public float runSpeed;
private float applyRunSpeed;
public int walkCount;
private int currentWalkCount;
// Use this for initialization
void Start ()
{
IEnumerator MoveCoroutine()
{
if (Input.GetAxisRaw("Horizontal") != 0 || Input.GetAxisRaw("Vertical") != 0)
{
if (Input.GetKey(KeyCode.LeftShift))
{
applyRunSpeed = runSpeed;
}
else applyRunSpeed = 0;
vector.Set(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"), transform.position.z);
while (currentWalkCount < walkCount)
{
if (vector.x != 0)
{
transform.Translate(vector.x * (speed + applyRunSpeed), 0, 0);
}
else if (vector.y != 0)
{
transform.Translate(0, vector.y * (speed + applyRunSpeed), 0);
}
currentWalkCount++;
}
currentWalkCount = 0;
}
yield return new WaitForSeconds(1f);
}
}
// Update is called once per frame
void Update () {
if (Input.GetAxisRaw("Horizontal") != 0 || Input.GetAxisRaw("Vertical") != 0)
{
StartCoroutine(MoveCoroutine());
}
}
}
입니다.
올려주신 스키립트를 이용하여 MovingObject의 스크립트에 넣어서 시도해봐도 똑같은 오류가 나네요
2D게임인데 Vector3로 잡아야하나요? Vector2로 해도 움직여지긴 하던데 다른 인강에서도 Vector3로 놓더군요 이유가 있나요..?
큰 의미는 없습니다. 백터2로 하셔도 되세요. ㅎ
제가 유니티를 조금 경험해었고, 게임을 만들면서 배우고 싶어서 그런데요 이강좌들어도 되나요?
다양한 패턴, 다양한 기술을 배우는 게 목적이하면 비추지만
그런 패턴, 기술 등을 이해하기 위한 자료로는 충분하기 때문에 추천드립니다
@@케이디 답변 감사합니다^^
10:06 초에 나와야할 무빙오브젝트 아예 안뜨네요ㅠㅠ 저장을 잘못한걸까여 이름도 똑같이 저장해서 검색했는데
전에 상황도 알아보니깐 뉴스크립트에서 만든껍데기 가지고 논거엿네여 ㅠㅠ
컴파일 오류가 생겼기 때문에 목록에 뜨질 않는 겁니다. 오류가 있는지 확인해보셔야 할듯 싶습니다. ㅜ
방금 오타낫것과 오류는 아니엇지만 클래스명변경으로 전부 해결되엇습니다 감사합니다.
3:34 Pixel per unit을 48로 하는 이유랑 Max size를 512로 하는 이유가 뭐에요?
PPU가 48인 이유는 타일맵이 48 픽셀 기준으로 제작해서 그렇습니다. 각각의 그리드, 가로 세로 사이즈가 48 픽셀이에요.
이러면 해당 이미지는 유니티에서 1의 길이를 가지게 됩니다. 그러면 타일 사이즈 관련 계산이 편해지겠죠.
max Size는 폰 해상도에 따라 이미지의 크기도 조절되는데, 그 한계를 정해주는 겁니다. Max Size가 클수록 높은 해상도에서 깔끔하게 나오겠지만, 그만큼 이미지 용량이 커지는 단점이 있으니 적절하게 해주면 되겠습니다
@@케이디 자세한 설명 감사합니다!
안녕하세요! 타일(?) 단위로 움직임 설정 중 문제가 생겨 댓글 남깁니다!
가로 길이가 105px인 캐릭터의 speed와 walk count를 각 5.25, 20으로 했을때 움직임이 너무 빨라 임의로 0.2와 1로 설정해둔 상태 입니다. 이 경우에는 어떻게 수치를 설정해야 할까요?
그럴 땐 이미지 소스들, 1 unit 당 105px 를 가지도록 설정해준뒤 크기 조정해주시면 될 것 같습니다. 감사합니다.
감사
뭐가 문젠진 모르겠는데 다른 분들 것도 다 시도해봤지만 스크립트 적용이 안되네요...... 플레이하면 키를 눌러도 이동하지를 않습니다ㅠ 케이디님이 하신 거 그대로 복사해서 붙여넣었는데도 그러네요,,,, player에 스크립트 적용했는데도요.. 도와주세요ㅠ
저는 그냥 혼자서 움직이는데 왜인지 모르겟네요
저 캐릭터를 Sence에 놓았을때 캐릭터만 나오게 할 순 없나요? 제가 캐릭터를 제작하고 저장을 하고 옮겨 놓았는데 캐릭터 뿐만 아니라 그 배경색도 같이 나와서요..
윤태성 캐릭터를 제작하실 때 배경색을 투명처리 하셨나요!? 그렇지 않으면 해당 문제가 생길겁니다.
처음에 매인캐릭터 (빨간옷 여자아이) 를 넣어서 자르기 할때, 이동시켜서 씬 안에 넣으면 9분할된 사진이 들어가는 것이 아니라자꾸 애니메이션 파일을 추가할 거냐고 물어봅니다. Multiple 을 Single 로 바꿔도 같은 오류가 나옵니다. 어떻게 해결해야 할까요? ㅠㅠ
한번에 하나의 분할된 스프라이트를 드래그하셔야 합니다. 2개 이상을 동시에 넣으면 애니메이션으로 간주되거든요
speed 항목이 왜 안뜨는지 모르겠네요 밑에 코드있습니다
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MovingObject : MonoBehaviour{
public float speed;
private Vector3 vector;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update(){
if(Input.GetAxisRaw("Horizontal") ! =0 || Input.GetAxisRaw("Vertical") != 0)
{
vector.Set(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"), transform.position.z);
if(vector.x != 0)
{
transform.Translate(vector.x * speed, 0, 0);
}
else if(vector.y != 0)
{
transform.Translate(0, vector.y * speed, 0);
}
}
}
}
유니티에서 비쥬얼 스크립트 켜지 마시고 폴더에서 실행시켜보세요.
if에서 2가지가 다 되야 실행은 어떻게 하나요
if(변수 1 = 15 와 변수 2 = 10)
{실행}
이런식으로 변수 1과 변수 2가 둘다 될 때요ㅠㅠㅠ
자세히보기 그땐 앰퍼센드&& 2개 넣어주면 됩니다 ㅎ
if(a && b) 이런식으루욤
2d에서 점프와 같은 기능은 어떻게 쓰나연?
c# 책으로 배우고 잇는사람입니다! 강좌 잘보고 있습니다.
캐릭터사진 규칙적으로 12개로 나누도록 png 사진 만드는건 포토샵인가여??? 캐릭터는 또 어느 프로그램에서 만들엇나여
그외 3d게임만들때 캐릭더 모습 그리는건 어떤식으로 이루어지고 어떤 프로그램으로 짜여지는지 알고싶습니다!
말씀 감사합니다ㅎ
질문에 답해드리자면 먼저
1. 비주얼 스튜디오 상단의 메뉴 -> 보기 -> 오류 보고를 누르면 해당 창이 뜰겁니다.
2. 제 경우에는 포토샵으로 작업했습니다. Aseprite라는 프로그램이나 클립스튜디오, 그림판 등등 여러가지 가능한 그림툴이 있습니다.
3. 3D 게임은 3D 오브젝트가 필요합니다. 3D 오브젝트를 만드는 툴은 블렌더, 마야 등등이 있습니다.
만드는 방법은 글로 설명하기 애매하나, 버택스(점)가 2개 있을 경우 선이 되고, 3개 이상일 경우 면이 되는 점을 이용하면서 만들어야 합니다.
버택스를 계속해서 늘려가면서 면과 선을 만들고, 그런 식으로 원하는 오브젝트를 만들 수 있습니다. 이른바 '모델링'이라는 거죠.
모델링이 끝나면 메테리얼과 텍스쳐를 입히는 과정이 이뤄지고, 그 다음에는 리깅 작업을 해야 합니다.
'본'이라는 것을 이용해서 전체적인 뼈대를 만들고, 그 뼈대에 오브젝트의 버택스를 할당해주면, 뼈를 움직일 때 그 뼈에 해당되는 오브젝트 부분도 함꼐 움직이게 됩니다.
리깅 작업이 끝나면, 리깅 애니메이션이라고 해서, 오브젝트의 움직임을 타임라인에 기록하는 작업을 해야합니다.
그것이 끝나고 난 뒤에, 유니티나 언리얼같은 게임 엔진에서 해당 파일을 Import해서 적용시킬 수 있습니다.
(리깅 작업은 애니메이션이 필요한 오브젝트만 해주면 되고, 단순한 사물일 경우에는 그 작업을 생략해도 됩니다. 물론 메테리얼이나 텍스쳐도 대충 떼우고 싶다면 꼭 필요한 과정은 아닙니다)
OR 연산키가 무엇인가요..?? |
비쥬얼 코드 파일은 어디에다가 설치해야 하나요.. c드라이브에다가 설치하니까 유니티에서 c#클릭해도 창이 안뜨네요.;. moveingobject파일.. 이용
2022/01/07 오전 12:33 완료
무엇을 다운받아야 게임을 만들수 있나요? 1개월째 찾고있는데 관련내용이 나오지 않습니다. 알려주시면 감사하겠습니다, 또한 쳐도 무료화가 나오지 않는데 혹시 무료로 만드는 그런앱 알수있을까요?? 광자 잘 보고갑니다.
유니티 라는 게임엔진을 유니티 공식 사이트에서 다운받으시면 됩니다.
유니티 pro는 유료고 일반버전을 다운받으시먄 되세요. 감사합니다.
감사합니다.
8분48초 부분에 똑같이 입력했는데 왜 if 문장에서만 에러가 뜨는지 원인을 모르겠네요.
아시는분 가르쳐 주세요 ㅠㅠ
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MovingOject : MonoBehaviour
{
public float speed;
private Vector3 vector;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if(Input.GetAxisRaw("Horizontal") ! = 0 || Input.GetAxisRaw("Vertical") ! = 0)
{
vector.Set(Input.GetAxisRaw("Horizontal"),Input.GetAxisRaw("Vertical"), transform.position.z);
if(vector .x ! = 0)
{
}
}
}
}
5개월 전인데 지금 발견해서 댓글 달아드려용 공부 아직두 하시나영? ㅎ
코드 보시면
if(Input.GetAxisRaw("Horizontal") ! = 0 || Input.GetAxisRaw("Vertical") ! = 0)
if(vector .x ! = 0)
두 군데 빨간 줄 뜨죠?
!=는 붙여쓰는 겁니다 띄어쓰셔서 그래요 ㅋㅋㅋ
if (Input.GetAxisRaw("Horizontal") != 0 || Input.GetAxisRaw("Vertical") != 0)
if (vector.x != 0)
이렇게 고치시면 잘 돌아갈 거예요~
알만툴 이용해서 만든 파일을 유니티로도 열 수 있나요??????
불가능합니다. 알만툴에서 만든 파일은 알만툴에서만 프로젝트를 열 수 있어요
@@케이디 와아아 ㅠ,, 답변 감사합니다! 코딩 덕분에 잘 배워가요! 설명 너무 잘해주시고,, 감사합니다 !😄
더 열심히 해서 유익한 유니티 강좌를 만들어볼게요. 감사합니다
케이디님 서점에 책도 나온게 있나요
리소스 다운로드가 안됩니다...ㅠㅠ 리소스 주소가 없어진듯 한데 다시 올려주실 수 없나요??ㅠㅠ
마무리했는데 NullReferenceException: Object reference not set to an instance of an object 이런 경고메세지가 뜨는데 왜그런걸까요?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MovingObject : MonoBehaviour {
public float speed;
private Vector3 vector;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if(Input.GetAxisRaw("Horizontal") != 0 || Input.GetAxisRaw("Vertical") != 0)
{
vector.Set(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"), transform.position.z);
if(vector.x != 0)
{
transform.Translate(vector.x * speed, 0, 0);
}
else if(vector.y != 0)
{
transform.Translate(0, vector.x * speed, 0);
}
}
}
}
이렇게 했는데 캐릭터가 좌우로만 움직이고 상하로 안 움직이네요
조건문 중간에 vector.y 라고 수정해주세요 ㅎ
vector.x가 연속 두 번 쓰이고 있네요.
@@케이디 감사합니다 ㅎㅎ
근데 아직보실지는 모르겠지만 coroutine쓰는 이유가 뭐에여?
Horizontal > Hrizontal로 쓴 덕에 1시간 헤맸네요...초보 동지여러분 한글자라도 틀리면 작동이 안됩니다. 반복해서 다시 살펴봅시다...((
project는 어떻게 뜨게 한건가요? 그리고 리소스를 어떻게 넣는 것인가요?
유니티를 시작하면 New Project를 눌러서 프로젝트를 띄울 수 있습니다.
리소스는 해당 프로젝트가 있는 경로에 있는 에셋폴더에 풀어주면 됩니다 ㅎ
에셋 폴더에 드래그해도 풀리지가 않아요ㅠㅠ 그래서 우클하면 Open이 있어서 그거 눌렀더니 아무것도 안켜져요ㅠ 어쩌죠
캐릭터 움직이기 첫번째 스크립트에서 30번째줄에 자꾸 error가 나요 어떻게 해야 하나용
너무 늦은걸지모르겠지만 저는 2D카메라에 아예 오브젝트들이 찍히지않아 게임을 실행해도 아무것도 보이지않습니다. 좀 도와주세요 ㅜㅠ
ADD Component에 Moving O Bject 이런 이름으로 떠서 그걸로 했는데 스피드나 그런게 안떠요..!
퍼블릭 함?
@@돌명-g9v public float speed; 이거 말하는 건가요? 일단 영상에 나오는거 따라하긴 했는데...
@@ilovesova 혹시 지금 코드 올려보실래요?
@@돌명-g9v using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MovingObject : MonoBehaviour {
public float speed;
private Vector3 vector;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if(Input.GetAxisRaw("Horizontal") != 0 || Input.GetAxisRaw("Vertical") != 0)
{
vector.Set(Input.GetAxisRaw("Horizontal"), Input.GetAxisRaw("Vertical"), transform.position.z);
if(vector.x != 0)
{
transform.Translate(vector.x * , 0, 0);
}
else if(vector.y != 0)
{
transform.Translate(0, vector.y * 0);
}
}
}
}
@@ilovesova 트랜스 레이트에 speed을 붙이세요 그리고 아래꺼엔 ,하나 빠졌네요
C샵 스크립트를 만들었는데 어떻게 비쥬얼 스튜디오로 들어가는지 모르겠어요ㅠㅠㅠㅠ 지금 암것도 못하고 있습니다 어떻게 하죠ㅠㅠㅠㅠ
더블 클릭 하면 비주얼 스튜디오가 깔려있을 경우 바로 켜질 거에요 ㅎ
만약 안 깔려있으면 모노디벨롭이든 무료툴을 설치해서 연동시키면 됩니다.
환경설정에 더블 클릭할 경우 어떤 프로그램과 연동시킬지 선택하는 게 있어욤.
아 진짜 감사합니다ㅠㅠ 근데 모노디벨롭이 더 좋을까요 비쥬얼 스튜디오가 좋을까요
모노디벨롭은 가벼운 게 장점이고
비주얼 스튜디오는 무겁지만 더 기능이 많고 팀 협업이 가능합니다 ㅎ
둘 다 일반 개인에게는 무료입니다.
다만 비주얼 스튜디오는 회사용이면 라이센스 비용을 내야해욤 ㅎ
아진짜 죄송하지만 한번만 더 답변해주실수 있을까요ㅠㅠ 제가 유니티 버전을 2018을 쓰거든요 근데 비쥬얼스튜디오가 2017밖에 없어서 그거라도 다운받고 적용시켰더니 이상하게 에러가 계속 뜨네요 비쥬얼 스튜디오2018은 사용못하나요??
제 경우엔 유니티 설치할 때 자동으로 비주얼 스튜디오도 깔려서 연동할 것도 없이 자동으로 설정되어 있었습니다. ㅜㅜ 비주얼 스튜디오를 키면 맨 우측 상단에 로그인할 수 있게 나와있으니 거기서 로그인 하신 후 업데이트를 진행하신 다음 유니티와 연동해보시는 건 어떨지 조심스럽게 예측해봅니당. ㅜ
혹시 유니티 회색배경에 바둑판 줄무늬는 어떻게 넣나요? 처음써봐서 잘 모르겠네요..
그리고 C#스크립트만드는거있자나요 님이랑 똑같이했는데 비주얼 스튜디오 들어가면 내용이 다른데(님은 MovingObject로 적혀있는곳이 저는 NewBehaviourScripts 로 표시되있고 이 외에도 다른점이 많아요) 뭐가 잘못된걸까요? 분명 똑같이 따라했는데 말이죠ㅠ
아 파일을 생성하고 바로 파일명을 변경하니까 되네요ㅋㅋㅋ
한국어로 번역도 되나요?
사감니합다
게임을 만들때 사용한어플은 유료인가요?
네? 본 유니티 엔진을 사용해서 만든게 유료라는 의미인가요? 아니면 말씀하신 어플리케에션으로 등록한게 무료라는 의미인가요?! 본 강좌는 에셋, 소스코드, 강좌 전부 직접 만들고 프리소스로 풀었습니다.
엇!넵!!
캐릭터는 어떻게 만들어요? 무슨프로그램이 있어요?
나타이코 포토샵이나 aseprite, 그림판 등등으로 제작했습니당.
18:13에 IEnumerator가 컨텍스트에 없다고 나오는데 해결 방법이 있을까요 이거 무슨 언어죠? c#만 깔았는데 따로 뭐 또 깔아야하나요?
왜 저는 처음 쉬프트 달 때까지가 픽셀단위로 안보이고 깔끔하게 보일까요?
처음 시작부분 bgm좀 알려주세요