비현실 연구소 (18) 썸네일형 리스트형 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. 마우스 휠.. Lusiogenic: 시리즈 소개 현실같은 콘텐츠를 만들기 위해서는 물리 시뮬레이션이 필수입니다. 던지고, 잡고, 돌리고, 떨어뜨리고, 튕기면서 플레이어는 흥미를 느끼게 됩니다. 그런데 최근에 아주 흥미로운 유튜브 채널을 발견했습니다. Lusiogenic I make video game development videos and tutorials. Sharing other stuff also. Unreal Engine, Blender, Inkscape www.youtube.com 언리얼 엔진을 이용한 여러가지 물리 시뮬레이션 장치를 보여주는 채널인데요. 저만 보기 아까워서 이곳에 공유하고 싶었습니다. 그래서 해당 유튜버에게 이메일을 보내 허락을 받았습니다. 앞으로 이 채널의 영상.. 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.이벤트 게임모드의 인스턴스는 서버에만 생성되기 때문에 모든 이벤트 호출은 서버에서 .. 이전 1 2 다음