이야기를 나눠요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
언리얼 엔진 4 C++ : Time Travel RPG 제작
이 강좌를 들을 때 유의할 점...
저는 C++도 처음이고, 언리얼도 처음 본 그야말로 핵초보 입니다. 이 강좌를 보기전에 블루프린트 강의 1회 청취 후, cpp 동강을 1회 청취하면서 코드를 따라 해 본 다음에 이 강좌를 듣게 되었습니다. 약 두달 준비하고 이 강좌를 접한 것입니다. 자율주행 시뮬레이션을 준비하는 사람인데요, 자율주행 센서/데이터 경험 + cpp-30% + bp-30%이 언리얼로 진행되다 보니 언리얼을 하게 되었구요, 언리얼 cpp를 하려다 보니 bp부터 수강하는 것이 good-path가 되리라 싶어 순서를 위처럼 잡고 진행하였습니다. 그래서 어떻게 이 강좌를 이용해야 하는지에 대한 방법론이 없이 듣다보니 1회 청취 과정에서는 전혀 의미를 파악하지 못했었습니다. 로봇(NPC)제작에 대한 전체 부분을 4회 청취하면서 '아하~ 이런 것이구나'라고 느끼게 되었습니다. 그 이전까지는 제대로 이해되지 않음에 엄청난 스트레스와 시간을 보냈습니다. 4회독까지 오는데 정말 독한 마음으로 왔습니다. 예전 고시공부 했던 경험이 있는데, 그 때처럼 말이죠... 이 강좌는 제가 보기엔 다음과 같은 특징을 가지고 있습니다. 수강하 실때에 참고하세요. 강의 하시는 분이 엄청난 경험과 노하우가 느껴지긴 해도, 아쉬움이 있는 부분, 부분에서 조금은 도움이 되실 겁니다. ===================================================================== 1. 변수나 함수를 생성할 때, 규칙적인 표준화가 되어 있지 않습니다. 따라서 명칭을 정확히 암기/인지 하시고 진행해야 함을 항상 염두해 두고서 진행하는 것이 좋을 듯 합니다. 주인공을 Player/Character/Enemy로, 적 로봇을 Robot/My~ 등등 동일한 객체에 대해 다른 명칭으로 여기저기 코드에서 다르게 사용하고 있죠. 처음엔 뭐가 뭔지 따라 가기가 너무 어렵습니다. 이 부분이 초보자에게 가장 이해를 방해하는 물건이라 생각되는데요, 예를들면 적 Robot이 플레이어를 발견하면 블랙보드에 있는 Enemy 키에 플레이어를 "TargetEnemy"라고 셋팅하고 Player를 자동으로 따라가도록 함수를 만들 때, 그 함수명을 "SetEnemy"라고 강의에서 생성을 합니다. 함수명만으로는 함수의 기능을 이해하기에 어려움이 느껴집니다. 또한 함수명으로는 어느 구현파일에 적용이 될지 추측도 되지 않습니다. 제 생각엔 "SetSensoredPlayerToBBKey"라고 하면 암기할 필요가 없어지고 가독성이 매우 높아지므로 보다 용이하게 학습되지 않을까요? 참고로 블루프린트의 노드명들은 대부분 후자처럼 만들어 놓아 쉽게 이해됩니다. 이런 표준이 몸에 베어 있는 사람은 블루프린트 보다 UE4 Cpp가 오히려 더 쉬울수도 있을지 모릅니다. 2. NPC제작 부분의 경우, 인공지능 구현방법이 너무나도 다양하겠지만 여기서는 3가지를 설명합니다. 그런데 그 3가지를 설명한다는 이정표 제시를 처음에 하지 않기 때문에, sequence로 연결되었다고 오해를 불러 일으킵니다. 언제 어떤 것이 필요해서 만드는 것인지 처음엔 이해되지 않아 전체가 연결된 하나의 개념이라 오해하고 따라서 너무 복잡한 느낌을 갖게 됩니다. 각각 불리된 구현 항목임을 인지하면 조금 쉽게 느껴지거든요. 3. 포인터의 타입이나 input 파라미터에 대한 설명을 너무 빠르고 간단하게 하기 때문에 해당 Codes를 이해하는데 조금은 어려움을 느끼게 됩니다. 저는 언리얼 문서을 검색하면서 리스팅을 해 보았습니다. 한번이라도 본 기억을 조금 더 살려보기 위한 것이었습니다. 4. 언리얼 코딩 패턴과 전반적인 게임구현을 위한 UE4에서 필요한 구현 아키텍처(예를들면, 모듈 간의 연관성과 역할에 대한 이미징 같은)에 대해, 초반부에서 설명이 조금 있기는 하지만 부족하다는 생각이 듭니다. 개인적으로 게임개발 엔지니어링 기술에서 가장 중요한 것이 캐릭터 조작과 인공지능 구현방식이라 생각되는데요, 여기서 핵심을 차지하는 캐릭터BP↔AIController↔블랙보드/블랙보드TreeTask"의 연관성과 그 구현과정에서의 UE4에디터/visual Studio 각각이 처리하는 역할을 보다 명확히 분리하고 그 이유를 시간을 할애하여 정확히 설명하는 강의가 진행되었다면, 너무 좋았을 것 같습니다. 이것을 인지하고 나니 강의를 이해하는데 너무 편해졌습니다. 5. UE4의 인공지능(AI, Perception)과 머신러닝에서 일컫는 인공지능의 차이(?)랄까요... 처음엔 유사성이 있으리라 생각했지만, 시간이 지나서는 전혀 무관하다는 것을 알게 되었습니다. 6. 마지막으로는 UE4 최신 버전은 전체가 한글화 또는 번역된 문서를 찾을 수가 없다는 것이죠. 이 부분이 UE4개발 방법을 습득하는데 가장 시간적 누수가 많이 생기는 부분인 것 같습니다. 강의에서는 4.1x 버전으로 하며 현재 최신 버전과는 메뉴가 조금 다릅니다. 그렇다고 예전 버전으로 진행하기엔 찜짐합니다. 그래서 저는 이 부분은 거의 포기했구요, 최신 UE4.26-Window 최신 소스 받아서 컴파일해서 공부하고 있습니다... 난관은 정면돌파하다는 정신으로요... (매우매우 힘듭니다.. ㅜㅜ) 갤론) → 게임 개발방법의 습득에 필요한 중요 개념은, 기술/명석함 보다는 "관심과 반복"이 더 어울리는 것 같습니다. 관심은 전체 흐름을 창의하고 주도해 나가는 습성이 생기고, 반복은 손가락에 기억력을 만든다고나 할까요? 강사분의 실력은 매우 높다고 생각되지만, 1회에 많은 것을 이해하기는 매우 어려운 것 같습니다. 현재 이 강좌를 4번째 반복하면서 보다 심도있게 따라가고 있구요, 5번째 반복할 때에는 어떤 정보가 새롭게 인지될지 매우 궁금해 하고 있습니다. 한 10회 반복할 예정입니다. 선 수강자의 이런 저런 느낌이었습니다. 언리얼 공부 과정에서 쌓인게 많다보니...^^ 행운을 빕니다.
-
프론트엔드 개발자를 위한 웹팩
NPM 명령어 참고 사이트
https://docs.npmjs.com/cli/v7/commands/
-
반응형 웹사이트 포트폴리오(App Official Landing Website)
슬라이더가 밀리는 문제 (해결방법)
.myslider width가 800px인데 div border가 들어가버리니 width 800px에 맞춰지지가 않더라구여 그래서 box-sizing: border-box; 추가 해주시면 됩니다. 왜 그런가 한참 찾았네요
-
Vue로 Nodebird SNS 만들기
login form에만 nickname을 등록해서 새로고침할 때마다 nickname이 reset됨
store user안에 nickname그냥 디폴트로 넣어주셔야 새로고침 할 때 (로그인 상태는 고정인데 store 값은 빔) 새로고침해도 이름 뜹니당..
-
Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
gist에 댓글 남겼습니다. 확인 후 권한 부탁드립니다.
삭제된 글입니다
-
파이썬 기초
삭제된 글입니다
-
스프링과 JPA 기반 웹 애플리케이션 개발
시크릿 모드
"시크릿 모드" 라고 보입니다.
-
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
H2 DB 설치 시 똑같은 과정을 해도 실패하시는 분들!
윈도우 전용으로 설치 하셨으면 지우신 이후에, All Platform 버전으로 다운받아 보세요. 저도 ~~not fount, ~~ 오류가 계속 발생했었는데 All Platform 버전으로 바꿔보니 바로 되네요.
-
스프링과 JPA 기반 웹 애플리케이션 개발
질문은 아니지만 혹시나 도움이 될까하여 올립니다.
안녕하세요 선장님 좋은 강의 감사드리며, 강의 정말 잘 듣고 있습니다 :) 이번 강의 부분에서 gmail 전송 과정 중에 오류가 발생하여 혹여나 저와 같은 오류가 발생하시는 분들이 계신다면 도움이 될까하여 공유드립니다. 저는 강의 진행중에 다음과 같은 로그가 찍히며 오류가 발생하여 메일이 전송되지 않더라구요 Could not convert socket to TLS; 에러 자체에 대한 근본적인 원인은 모르겠으나 스택 오버 플로우에서 제시된 방법으로 해결을 봤는데 해결 방법은 application.properties 또는 yml 설정 파일에 다음 설정 옵션을 추가해줬는데요. spring.mail.properties.mail.smtp.ssl.trust= smtp.gmail.com 저는 이 옵션을 추가해주니 정상적으로 동작했습니다.
-
Vue.js 끝장내기 - 실무에 필요한 모든 것
vscode뿐만 아니라 웹스톰에서도 동일하게 잘 동작합니다.
혹시 궁금하실 분이 있으실까봐 남깁니다. 웹스톰도 2019.2 버전 이상부터 jsconfig.json을 통하여 경로 설정이 가능하여졌습니다. javascript - How to use jsconfig path with WebStorm? - Stack Overflow
-
비전공자를 위한 진짜 입문 올인원 개발 부트캠프
갑자기 강의 난이도가 확 올라가네요. 자세한 설명도 실종되고...
갑자기 강의 난이도가 확 올라가네요. 자세한 설명도 실종되고...
-
[개정판] 파이썬 머신러닝 완벽 가이드
conda install python-graphviz 손쉬운 해결
conda install python-graphviz 를 실행하면 환경설정 이후에도 failed to execute ['dot', '-Tsvg'], make sure the Graphviz executables are on your systems' PATH 발생하는 문제를 쉽게 해결할 수 있습니다.
-
코로나맵 개발자와 함께하는 지도서비스 만들기 2
웹서버 관련 문의
학교에서 동아리 자유탐구주제로 지도서비스를 제작하고 있는 고등학교 3학년입니다. 지도 서비스 강좌 1편, 2편 모두 청강을 했는데... 이 강의에서 배운 내용으로 만든 프로젝트를 학급 친구들에게 공유하고 싶은데 강의에서는 localhost:3000을 입력하고 웹서버에 접속하였는데 친구들이 접속할 때는 localhost:3000을 입력하면 접속이 안되어서 학교 선생님께 여쭈어 보았더니 apache라는 것과 같은 것을 이용해서 웹페이지를 만들고 거기에 올려야 다른 친구들이 제 프로젝트를 접속해서 볼 수 있다고 하는데 이것은 어떻게 해야 하나요??/
-
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
릴리즈모드에서 브레이크포인트 안잡히시는 분들 참고
여기 커뮤니티에서 강사님도 말씀하셨듯이 어셈블리언어 보실일은 별로 없으실테지만 혹시라도 필요하실까봐 남깁니다. 릴리즈에서 브레이크 포인트 안잡힐 경우 상단의 메뉴에서 옵션창을 엽니다. 도구->옵션->디버깅탭->내코드만 사용이라는 항목을 체크 해제하시면 브레이크 포인트가 릴리즈에서도 잡힙니다.
-
Slack 클론 코딩[실시간 채팅 with React]
개인적으로 폴더 구조 마음에 드네요.
예전에 리액트 강좌에서 배웠던 container, component로 나누는 방식 그대로 제가 하던 프로젝트에 적용했는데, props 늘어나니까 너무 귀찮아져서... 뭔가 깔끔한 폴더 구조 없을까 고민하던 차에 꽤나 참고할만한 폴더 구조 같습니다. 가장 마음에 드는 건 vscode material 테마에 테마에 제안하신 폴더에 대한 테마 아이콘이 다 있다는 거네요. ㅋㅋ
-
홍정모의 따라하며 배우는 C언어
second project 만드시고 실행이 안되시나요? 오류가 뜨시나요? exe가 없다고 뜨시나요? 백신 프로그램을 끄세요.
이걸로 세시간 잡아먹음.
-
스프링 핵심 원리 - 기본편
어찌됐든 완강
강사님 수고하셨습니다. 저는 모든 개발자를 위한 HTTP 웹 지식 다음 강의로 넘어 갑니다.
-
[리뉴얼] 처음하는 파이썬 백엔드와 웹기술 입문 (파이썬 중급, flask[플라스크] 로 이해하는 백엔드 및 웹기술 기본) [풀스택 Part1-1]
정말 감사합니다!
이제 개발을 시작한지 얼마 안된 주니어 개발자입니다.장고로 개발하는데 공부도 하고 풀스택으로 사이드 프로젝트도 할겸 해당 강의를 구매하였습니다.말씀처럼 장고는 기능을 많이 제공하여 중급 레벨의 파이썬에 익숙하지 않아도 개발이 잘 되었는데 해당 강의를 들으며 정말 단순히 풀스택 개발이라 Flask 프레임워크에 대해 배우는 것이 아닌 파이썬의 딥한 부분까지 알게 되어서 너무나도 기쁩니다!어제 구매해서 퇴근하고 회사에 남아 열심히 공부중에 있는데 강의가 너무 좋아서 이렇게 글을 남겨요!마저 수강하러 가보겠습니다. 좋은 강의 감사합니다!
-
스프링 핵심 원리 - 기본편
어느정도의 이해를 가지고 넘어가야할까요?
스프링 기본편을 수강하면서 뒷부분으로 가면서 머리가 비고 손만 따라가는 상황이 자주 반복되었습니다 개념이 있다 정도의 이해를 가지고 진행하고 다시 돌아와서 수강하는게 강사님이 의도하신건지 아니면 각 장마다 완벽에 가까운 이해를 하고 넘어가시기를 의도한 강의인지 제작 의도와 수강로드맵에대해서 조언을 구하고싶습니다
-
캐글 Advanced 머신러닝 실전 박치기
train_test_split()에서 인자를 확인할 때 shift + tab
train_test_split()에서 인자를 확인할 때 shift + tab을 활용하면 볼 수 있습니다~~^^