본문 바로가기

UnrealLab

(16)
Lusiogenic: 헬륨 풍선 ​ 본 시리즈는 유튜브 Lusiogenic 채널의 콘텐츠를 원작자의 동의하에 재가공 한 것입니다. 본 포스팅은 아래 영상을 참고하였습니다. ​ # ​오늘의 주제 ​ 이번 시간의 주제는 헬륨 풍선(Helium Balloon)입니다. ​ # 준비물 ​ 1. 블렌더로 제작한 풍선 모델을 준비합니다. ​ 필요하신 분은 아래에서 다운로드 받으세요. ​ ​ 2. 언리얼 프로젝트에 임포트 합니다. ​ 3. 새로운 캡슐형 컬리젼을 만들어줍니다. ​ # 구현 ​ 1. 컴포넌트 계층구조 풍선 메시를 표현할 StaticMesh 컴포넌트와 풍선을 하늘로 날려줄 PhysicsThruster로 이루어집니다. ​ ​ 2. 스태틱 메시 풍선 메시를 설정합니다. ​ Simulate Physics를 켜줍니다. MassInKg(무게)는 ..
Lusiogenic: 그네 본 시리즈는 유튜브 Lusiogenic 채널의 콘텐츠를 원작자의 동의하에 재가공 한 것입니다. 본 포스팅은 아래 영상을 참고하였습니다. ​ # 오늘의 주제 ​ 이번 시간의 주제는 그네(Swing)입니다. ​ # 준비물 이번 장치는 언리얼 엔진에서 기본으로 제공하는 에셋을 이용해 만듭니다. # 구현 컴포넌트 구조는 위와 같습니다. ​ 1. 스태틱 메시 컴포넌트 1) Base 베이스 컴포넌트는 공중에 매달아 놓을 막대기 모양의 메시입니다. ​ Cube 메시를 위와 같이 스케일링 해서 만들었습니다. ​ 중력과 상관없이 공중에 매달려 있어야 하기 때문에 Simulate Physics는 꺼줍니다. ​ ​ 2) Board 보드 컴포넌트는 그네의 앉는 부분입니다. Physics Constraint에 의해 정해진 범위..
Lusiogenic: 피스톤 휠 본 시리즈는 유튜브 Lusiogenic 채널의 콘텐츠를 원작자의 동의하에 재가공 한 것입니다. 본 포스팅은 아래 영상을 참고하였습니다. # 오늘의 주제 ​ 이번 시간의 주제는 피스톤 휠(Piston wheel)입니다. 크랭크셰프트 원리로 만든 정체불명의 장치입니다. # 준비물 1. 블렌더로 제작한 오브젝트를 준비합니다. ​ 다운로드는 아래 버튼을 클릭하세요. ​ 2. 언리얼 엔진에 임포트합니다. ​# 구현 컴포넌트 구조는 위와 같습니다. ​​​ 1. 스태틱 메시 컴포넌트 1) Base 베이스 컴포넌트는 0.1로 스케일링한 기본 큐브를 사용합니다. ​ ​ 2) Wheel Wheel은 Simulate Physics를 켜줍니다. ​ ​ 3) Arm Arm도 마찬가지로 Simulate Physics를 켜줍니다...
Lusiogenic: 트레뷰셋 본 시리즈는 유튜브 Lusiogenic 채널의 콘텐츠를 원작자의 동의하에 재가공 한 것입니다. 본 포스팅은 아래 영상을 참고하였습니다. ​ # 오늘의 주제 ​ 이번 시간의 주제는 투석기의 한 종류인 트레뷰셋(Trebuchet)입니다. 언제나 그렇듯 테스트 영상은 맨 아래에 있습니다. ​ 아래 영상에서 실제 트레뷰셋의 위력을 확인해보세요. 자, 이제 제작을 시작해보겠습니다. # 준비물 ​ 1. 블렌더로 모델링한 트레뷰셋을 준비합니다. ​ 다운로드 아래 버튼을 클릭하세요. ​ 2. 언리얼 엔진에 임포트 합니다. ※ Pocket 메시를 처음에는 스켈레탈 메시로 만들었는데 자꾸 찢어지는 현상이 발생해서 스태틱 메시로 교체했습니다. 흐물거리는 재질은 아직 다루기가 어렵네요. ㅠㅠ ​ 3. 각 메시의 콜리젼을 잡아..
Lusiogenic: 투석기 본 시리즈는 유튜브 Lusiogenic 채널의 콘텐츠를 원작자의 동의하에 재가공 한 것입니다. 본 포스팅은 아래 영상을 참고하였습니다. # 오늘의 주제 ​ 이번 시간의 주제는 투석기(Catapult)입니다. # 준비물 ​ 1. 블렌더로 만든 모델을 사용했습니다. ​ 필요하신 분은 아래 버튼을 눌러서 다운받으세요. 투석기 본체, 바가지, 돌이 들어있습니다. ​ 2. Spoon 메시는 콜리젼 설정을 새로 해줍니다. 새로 해주는 이유는 오목한 부분을 콜리젼이 덮고 있으면 돌을 담을 수 없기 때문입니다. 좀 더 정교한 콜리젼을 만들면 오목한 부분 안쪽까지 돌이 들어갑니다. # 구현 ​ 1. 액터 컴포넌트 설정 두 개의 Static Mesh Component(Body, Spoon)와 그 둘을 결합시켜줄 Physi..
Lusiogenic: 스프링 박스 본 시리즈는 유튜브 Lusiogenic 채널의 콘텐츠를 원작자의 동의하에 재가공 한 것입니다. 본 포스팅은 아래 영상을 참고하였습니다. ​ # 오늘의 주제 ​ 이번 시간의 주제는 스프링 박스(Spring Box)입니다. ​ # 준비물 ​ 리얼한 스프링 박스를 구현하기 위해 먼저 스프링을 제작했습니다. ​ 1. 리깅된 스프링 블렌더를 이용해 제작했습니다. ​ ※참고사항 임포트 시에 아래와 같은 안내 메시지가 뜹니다. 해당 본에 할당된 버텍스가 없다는 메시지이고 의도된 것이므로 무시하고 진행합니다. # 구현 ​ 1. 스프링 스켈레톤 피직스 에셋 설정 ​ 자동으로 생성되는 캡슐형 Collision Body를 모두 삭제하고 아래처럼 Multi Convex Hull 타입으로 Physics Body를 재생성합니다...
Lusiogenic: 여닫이 문 본 시리즈는 유튜브 Lusiogenic 채널의 콘텐츠를 원작자의 동의하에 재가공 한 것입니다. 본 포스팅은 아래 영상을 참고하였습니다. ​ # 오늘의 주제 ​ 이번 시간의 주제는 여닫이 문(Hinged Door)입니다. # 준비물 언리얼 엔진에서 제공하는 Starter Content의 SM_Door와 SM_DoorFrame을 사용했습니다. ​ SM_Door는 콜리젼이 없기 때문에 Simple Collision 설정을 해주어야 합니다. 그래야 Simulate Physics 옵션을 활성화 할 수 있습니다. # 구현 ​ 1. 액터 컴포넌트 구조 Door, Frame(Static Mesh Component) 및 Hinge(Physics Constraint Component)로 구성했습니다. ​ Door 컴포넌트..
Lusiogenic: 레버 스위치 본 시리즈는 유튜브 Lusiogenic 채널의 콘텐츠를 원작자의 동의하에 재가공 한 것입니다. 본 포스팅은 아래 영상을 참고하였습니다. ​ # 오늘의 주제 ​ 이번 시간에 소개할 실험 장치는 레버 스위치(Lever Switch)입니다. ​ # 준비물 ​ Blender를 이용해 레버 외형을 구현했습니다. 레버는 Base와 Handle로 나뉘어있습니다. ​ ​ 따라 만들고 싶으신 분들은 아래 첨부파일을 다운 받으세요. ​ 임포트 옵션에서 Normal Import Method를 아래 그림처럼 설정합니다. # 구현 ​ 1. 액터 컴포넌트 구성 Base, Handle 그리고 Physics Constraint Component로 구성된 간단한 장치입니다. (Base와 Handle 컴포넌트에 쓰인 LeverSet_B..
Lusiogenic: 프로펠러 본 시리즈는 유튜브 Lusiogenic 채널의 콘텐츠를 원작자의 동의하에 재가공 한 것입니다. ​ 본 포스팅은 아래 영상을 참고하였습니다. ​ # 주제 소개 프로펠러 이번 시간의 주제는 비행기와 드론에 사용되는 프로펠러(propeller)입니다. ​ # 재료 공수 프로펠러 모델은 터보스퀴드 사이트의 무료 모델(Royalty Free License)을 사용했습니다. 하이폴 모델이라 Blender를 이용해 폴리곤 수를 줄였습니다. 아래 첨부 파일(.fbx)이 그것입니다. Free propeller airboat boat model - TurboSquid 1225269 www.turbosquid.com ​ # 구현 1. 액터 컴포넌트 구성 위와 같이 구성해봤습니다. ​ Base 컴포넌트(Static Mesh ..
Lusiogenic: 지렛대 본 시리즈는 유튜브 Lusiogenic 채널의 콘텐츠를 원작자의 동의하에 재가공 한 것입니다. ​ 본 포스팅은 아래 영상을 참고하였습니다. ​ # 주제 소개 지렛대 이번 시간의 주제는 지렛대입니다. ​ #구현 1. 액터 컴포넌트 구성 Static Mesh Component 두 개와 Physics Constraint Component 한 개로 구성합니다. 화면에서 Base의 메시는 StarterContent에 포함된 Shape_QuadPyramid를 사용했습니다. ​ Physics Constraint Component의 위치는 보드와 베이스가 만나는 곳입니다. (또는 베이스와 똑같은 위치) 이곳이 받침점이 됩니다. 양 끝은 힘점과 작용점입니다. ​ 팁. Physics Constraint Component의..
Lusiogenic: 스프링보드 본 시리즈는 유튜브 Lusiogenic 채널의 콘텐츠를 원작자의 동의하에 재가공 한 것입니다. ​ 본 포스팅은 아래 영상을 참고하였습니다. ​ ​ ​# 이번 시간의 주제 스프링보드 이번 시간의 주제는 스프링보드(Springboard)입니다. # 구현 1. 액터 컴포넌트 구성 액터 블루프린트 클래스를 만들어서 작업을 시작했습니다. 먼저, 큐브 모양 Static Mesh Component를 두개 만들어서 그림과 같이 스케일링을 했고 Physics Constraint Component를 추가해서 판자 두개의 틈새에 위치시켰습니다. 이 지점에서 두 판자를 붙어있게 만들어야 합니다. ​ ​​ 2. 스프링보드 물리 시뮬레이션 활성화 스프링보드 역할을 맡을 긴 판자는 Simulate Physics를 켜줍니다. ​ ​..
Lusiogenic: 중력 마우스 본 시리즈는 유튜브 Lusiogenic 채널의 콘텐츠를 원작자의 동의하에 재가공 한 것입니다. ​ 본 포스팅은 아래 영상을 참고하였습니다. # 중력 마우스란 실험 준비물 앞으로 우리는 여러가지 장치들을 제작하고 그 성능을 시험해야 합니다. 그러기 위해서는 힘을 전달할 수 있는 도구가 필요한데요. 그래서 한번 만들어보았습니다. # 구현 1. 1인칭 슈팅 템플릿의 FirstPersonCharacter를 베이스로 만들었습니다. ​ ​ 2. FirstPersonCharacter의 컴포넌트 구조와 주요 컴포넌트들의 프로퍼티 세팅입니다. ​ ​ 3. 이동 관련 이벤트 입니다. ​ ​ 4. 마우스 좌클릭 이벤트입니다. ​ 5. 마우스 우클릭 이벤트입니다. ​ ​ 6. 마우스 휠 업 이벤트입니다. ​​ 7. 마우스 휠..
Collab Viewer 템플릿 분석: 카메라 회전(1) 카메라 회전(시점 이동) 기능 분석(1) ​ 3D 공간에서 자유롭게 돌아다니려면 시점 이동 기능은 필수로 제공되어야 한다. Collab Viewer 템플릿에는 키보드&마우스 뿐 아니라 터치 스크린 입력과 VR 컨트롤러에 대해서 시점 이동 로직이 구현되어있다. ​ 본 포스팅에서는 마우스 우클릭을 이용한 카메라 회전에 대해 분석해본다. 이번 (1)편에서는 비행(Fly) 및 보행(Walk) 모드 까지만 분석하고 다음 (2)편에서 선회(Orbit) 모드를 분석한다. 목차 ​ 1. 살펴보기 ​ 2. 입력 매핑 ​ 3. 기본 폰에서의 이벤트 처리 ​ 4. 비행 모드 ​ 5. 보행 모드 ​ 6. 마무리 1. 살펴보기 ​ 위에서도 말했듯이 일반적인 키보드/마우스 입력 환경에서는 마우스 우클릭을 통해 시점 이동을 한다...
Collab Viewer 템플릿 분석: 레이저 포인터 레이저 포인터 Laser Pointer serviceapi.nmv.naver.com 레이저 포인터는 사물의 특정 부분을 가리키기 위해 만들어진 도구이다. 이번 파트에서는 레이저 포인터 기능에 대해 분석한다. ​ (쉽게 읽힐 수 있도록 작성해보려고 노력했는데 의도대로 안된 것 같습니다. 기회가 된다면 재작성해서 올려보도록 하겠습니다.) ​ 입력 매핑 ​ 레이저 포인터는 마우스 좌클릭으로 켠다. Project Settings 의 Input 카테고리에서 ShootLaser 이벤트에 마우스 좌클릭(Left Mouse Button)이 매핑된 것을 볼 수 있다. ​ ShootLaser 이벤트는 BP_BasePawn에 구현되어있다. BP_BasePawn은 이 템플릿에서 사용되는 모든 Pawn의 조상 클래스다. 버튼을..
Collab Viewer 템플릿 분석: 게임모드 1. 이름 ​ 2. 클래스 디폴트 Player Controller 클래스는 있고 Default Pawn Class는 없다. New Var 0 = dada 이건 뭘까. ​ ​​ 3. 변수 ​ DefaultSceneRoot는 기본 컴포넌트이다. PlayerIndex는 현재 서버에 접속한 인원수를 표시하는 데 사용된다. TempColorPLayer는 플레이어 접속 종료 로직에서 사용된다. 오타가 눈에 띈다. 위에도 나와있지만 NewVar_0 는 초기값 dada 인 String 변수인데, 아무래도 사용되는 것 같지 않다. ​ Color 배열은 각 플레이어에게 지정하는 색상표이다. 초기값이 다음과 같이 선언되어있다. ​ ​ 3.이벤트 ​ 게임모드의 인스턴스는 서버에만 생성되기 때문에 모든 이벤트 호출은 서버에서 ..
Collab Viewer 템플릿 분석: 시리즈 소개 Collab Viewer 템플릿 ​ ​ Collab Viewer는 건축물, 인테리어 혹은 자동차 디자인 등에 대해 멀티플레이 / VR환경에서 내용물을 검토하고 의견을 나눌 수 있는 기능을 제시하는 기본 템플릿이다. ​ ​ 이 템플릿은 프로젝트 생성시 Architecture 혹은 Automotive 카테고리를 선택하면 옵션으로 주어진다. ​ 대략 이정도의 블루프린트 클래스 / 인터페이스 / 컴포넌트 / Enum / 위젯블루프린트 클래스들이 서로 상호작용을 하는 콘텐츠이다. ​ 위 블루프린트 클래스들을 모두 포함하여 이 템플릿 프로젝트의 구조를 분석하는 것이 이 시리즈의 주제다. ​ Collab Viewer 템플릿의 사용법에 대한 공식문서는 아래 링크를 통해 확인할 수 있다. https://docs.unre..