로블록스
장점
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 |