로블록스

 

장점

1. 기본이 네트워크

게임에서 생성되는 3D객체들은 모두 서버에서 생성 및 자동으로 동기화

클라이언트는 서버상태를 복사하여 구현

다중 접속 플레이 형태 콘텐츠를 손쉽게 제작

프로그램 실행하면 지역 서버에 자동으로 매칭

private 서버 제공

2. 마켓플레이스

모든 asset은 네트워크에 존재 및 공유 가능

많은 asset이 마켓에 존재

검증된 asset은 인증 마크 제공

모델에 좋아요, 싫어요 표 제공

일부 바이러스 문제가 있어 사용자 많지 않은 asset은 주의

모든 asset은 고유 id를 부여받아 모든 사용자가 공유 가능 및 동적 로딩 가능

3. PC및 모바일 빌드

크로스 빌딩 지원(컴파일 과정과 빌드 과정이 분리되어있지 않다.)

컴파일이 오래 걸리지 않는다.

서버에 손쉽게 publish할 수 있다.

UI 출력을 위해 PC모드와 모바일 모드 제공

모든 데이터가 네트워크에 있어 저장 파일 크기 매우 적음

 

휴머노이드 시스템

1. R6와 R15타입으로 구분

- 캐릭터 구성 Texture 및 다양한 아이템 공유 가능

- 애니메이션은 R6/R15 타입이 구분되어 있다.

2. 캐릭터 제작

- 기본 캐릭터 요소

- Humanoid, Head, Torso, LeftArm, LeftLeg, RightArm, RightLeg로 구성

- Pants와 Shirt에 대한 texture는 R6/R15 모두 적용가능

- Pants, Shirts, Animation 구성 요소는 검색을 통해 사용 가능

- Asset id 검색 후 Clothing의 Template 속성 설정

3. Humanoid

- 아바타 표현을 위해 다양한 속성 지원

- Display : 이름 ,출력거리

- Health : health, 출력방법, 출력거리

- 이동 : 속도, 이동 가능 높이, 각도

- 점프 : jump 상태 power, height

- 아바타 제어를 위한 다양한 함수 및 이벤트 지원

 

Load Character 플로그인을 통해 사용자 캐릭터 불러오기 가능

사용자 id로 스튜디오 내 실시간 import 가능

 

다양한 NPC를 NPC asset을 통해 다운로드 및 제작 가능

 

4. 장비

- 캐릭터가 사용할 도구, 무기 시스템 지원

- 장비 장착을 위한 기본 UI 제공

- 일반적으로 장비 모델 관련 애니메이션, 이벤트, 특수 효과 등이 구현

- Tool 객체에 도구 모델을 자식 객체로 등록

- Tool 객체 StarterPack 폴더에 복사하면 도구창에 자동 등록

 

5. 대화 시스템

- 사용자와 NPC간 대화 시스템

- Q&A 방식 대화 시스템 지원

- 계층 구조형태의 대화도 지원

- Head객체에 Dialog 객체 추가 (InitalPrompt와 GoodbyeDialag 메세지 설정)

- 계층 구조를 위해 DIalogChoice 객체 추가 (UserDialog, ResponseDialog 메세지 설정)

 

6. 애니메이션

- Animation 객체 추가하고 AnimationId를 설정해 캐릭터 애니메이션 실행

- 다양한 캐릭터  애니메이션 라이브러리를 손쉽게 활용 가능

- 홈페이지를 통해 animation을 import 할 수 있다.

- Animation은 clip단위 혹은 pack으로 제공 

 

AnimationId는 주소창을 통해 확인 후 반영

 

사용자 정의 animation 정의하는 플로그인도 제공

Keyframe 기반 animation 구현

캐릭터 뿐 아니라 다양한 형태 animation 구현 가능

기본 animation 툴 단점을 개선한 Moon Animator가 많이 사용됨.

 

7. PathFindingService

- 두 지점 사이 길을 자동으로 찾는데 사용

- Unity의 navigator 기능과 유사

- Unity는 목표 지점을 동적으로 변경 가능하지만 roblox는 함수를 통해 이동경로 계산 후 MoveTo 함수로 이동시키기에 목표 지점을 동적 변경이 불가능하다.

- 목표 지점 변경을 위해 waypoint를 다시 계산 해야 한다.

 

8. 카메라

- Unity는 World Camera가  default지만 Roblox는 1인칭 카메라가 default

- 마우스 휠로 Zoom 레벨 조절

- 최대 확대/축소 범위는 설정으로 조절 가능

- 카메라 수동으로 조절 가능 

 

3D 좌표 시스템

- Unity처럼 이동, 크기, 회전, 변형 지원

- 각 축에 대해 크기 변경 가능

- Ctrl+1~5까지 단축기 지원

- 이동, 크기, 회전 한 번에 조절 가능 (ctrl+5)

- 2개 축 동시에 사용하여 이동 불가

- x,y,z축으로 동시 스케일 조절 불가

- 특정 객체 선택하고 조작하는데 편리성 떨어짐

- 모든 좌표 시스템은 world 좌표계 기준

- 여러 객체를 하나의 모델로 group화 가능 (오브젝트 간 계층 구조 x)

- 논리적 관계만을 나타낸다.

- 복잡한 구조를 만들기 위해 하위에 part 구현

- 메인 part와 sub파트를 계층구조로 표현하고 용접

 

이동, 회전량

- Unity 처럼 이동, 크기, 회전 지원

- 이동 단위 : stud

- 1 stud는 1 foot(대략 30cm)

- 기본 그리드 크리 4studx4stud

- 회전, 이동 체크하지않으면 정밀하게 조절

 

좌표 방향

- Unity와 진행방향 축이  다름

- Roblox는 뒤에 카메라가 위치한 시점이 기본 시점

- back에서 봐야 Unity 진행 방향과 동일

 

탐색기, 속성창

- 3D객체는 Workspace 객체의 하위에 위치

- 네트워크 기능을 위해 다양한 객체 폴더 지원

- UI 및 로컬 전용

- 매우 제한적, 사용자 정의 속성 제공 X

- 컴포넌트 기반 코딩이 어렵다.

 

기본 도형 및 재질

- 블록, 구형, 쐐기형, 원통 타입 지원

- 기본블록에 대하여 합치기, 빼기 연산 가능

- Material 기능이 매우 빈약

 

색상 지정

- Brick Color, Color 두가지 타입 존재

- Brick Color 타입은 정해진 색상으로 구성

- Color 타입은 R, G, B 3색

 

2D UI

- 오버레이 형태 2D UI 지원

- ScreenGUI 객체 위 2D UI 배치

- UI 좌표는 pixel 기반과 0~1사이 정규화된 좌표계 지원

- 다수 ScreenGUI 객체 사용 가능(visible, zindex 지원)

- PC, 모바일(수평, 수직) 화면 레이아웃 지원

 

파티클 시스템

- ParticleEmitter 객체를 생성하고 파티클 생성에 대한 다양한 파라미터 지정 가능

 

지형 편집

- Unity 지형 편집 시스템과 유사

-> 개념적으로 유사하나 많은 제약 사항 있음

- 칠하기, 높낮이 조절 가능

'학교수업' 카테고리의 다른 글

객체지향 프로그래밍 13주차  (0) 2021.12.10
정보보호개론 14주차  (0) 2021.12.10
임베디드 기초 13주차  (0) 2021.12.09
<시험정리> 웹 개발 기초 기말고사  (0) 2021.12.07
웹개발기초 14주차  (0) 2021.12.04

+ Recent posts