게임 목록 |
이벤트 |
2차 창작 |
유료 서비스 Roblox Corporation 평가 (긍정적) | 문제점 및 비판 | 논란 및 사건 사고 | Roblox Studio 스크립트 유료 모델 |
{{{#!wiki style="margin: -10px -10px; word-break: keep-all" | <table width=100%><table bordercolor=#ddd,#010101> | Roblox Studio | }}} | |
<colbgcolor=#ddd,#010101><colcolor=#000,#fff> 개발 | Roblox Corporation | |||
플랫폼 | Windows | macOS | |||
출시 | 2005년[1] | |||
프로그래밍 언어 | Lua[2] | |||
한국어 지원 | 지원 | |||
관련 사이트 |
로블록스 개발자 허브 로블록스 교육 허브[3] 로블록스 스튜디오 자습서 로블록스 개발자 포럼 로블록스 엔진 API 참조 |
|||
다운로드 |
[clearfix]
1. 개요
Windows와 macOS용으로 배포되는 Roblox의 게임을 만드는 프로그램.Roblox의 회원이라면 누구나 게임을 만들어 Roblox 내에 배포할 수 있는데, 그 게임을 만들 때 독자적으로 사용되는 프로그램이다.
2. 템플릿
자세한 내용은 Roblox Studio/템플릿 문서 참고하십시오.3. Toolbox
Roblox의 유저들이 공유한 모델, 이미지, 오디오, 플러그인 등을 받을 수 있는 크리에이터 상점을 Roblox Studio 내에서 접근할 수 있도록 해주는 기능이다.
Studio 내에서 에셋들을 가져오고, 다운로드할 수 있는 가장 간편한 방법으로 이용된다.
3.1. Model
여러 오브젝트를 묶어 한 곳에 모은 일종의 폴더이다.
종류 상관없이 작품을 만들 때 사용된 여러 부품을 하나의 Model로 정리할 수 있다. Roblox Studio에서 가장 큰 비중을 차지한다고 볼 수 있으며, 게임을 제작할 때 가장 유용하게 사용된다.
그러나 비슷하게 사용되는 Folder는 모델처럼 부품들을 묶지만 화면에서 선택하면 모두 선택되는 모델과는 다르게 화면에서 각각 선택이 가능하므로 시간을 절약 하고 싶다면 폴더가 훨씬 유리하다.(키보드의 Alt 키를 누르면서 모델을 눌러도 된다)
3.2. Image(구 Decal)
Image는 모델에 씌울 수 있는 사진이나 그림이다. 이미지는 자신이 직접 업로드할 수 있다.글씨가 작게 적힌 파일을 업로드하면 검열에 걸릴 가능성이 높으니 주의.(크게 적혀있으면 잘 통과한다) 이 외에도 다른사람의 얼굴이 나온 사진, 혐오스러운 사진, 총기 사진, 피가 나오거나 잔인한 사진, 링크가 걸린 QR코드, 사이트 링크,[4] 수 분 이내에 경고를 먹게 된다.이러한 경고를 여러 차례 먹게 될 경우 계정 제재의 원인이 되므로 주의하자.[5]
기존엔 Decals라는 분류였다가 Images로 바뀌었다.
3.3. Video
게임 안에서 영상을 볼 수 있게 해주지만 현재는 베타 버전인지 인증된 사용자만이 올린 극소수의 Roblox 오리지널 동영상만이 존재하며, 이 때문에 활용도가 극히 제한적이다. 무엇보다 최적화가 덜 된 상태라서 많이 사용하면 프레임이 떨어진다.3.4. Mesh
Mesh는 Blender 등의 3D모델링 프로그램으로 만들어진 파일의 정보를 담은 것으로, 만든 3D 파일을 Mesh를 이용해 Roblox에 불러올 수 있다. MeshPart를 이용해 불러온다. 당연히 단독으로는 작동하지 않는다.MeshPart가 충돌 인식이 안 좋다.[해결]
좀 복잡하다 싶은 구조물(주로 총이나 자동차. 특히 현실의 것을 모티브로 한 경우)은 십중팔구 Mesh를 이용한 것이라고 보면 된다.
추가로 워크스페이스의 개체를 우클릭해서 Export Object(내보내기)를 클릭하면 그 개체가 Obj 파일로 저장되어 MeshPart에 불러올 수 있다.
3.5. Audio
Audio는 적용 가능한 소리 파일이다.2022년 3월부터 오디오를 무료로 업로드할 수 있다. (최대 7분) #[7] 다만 제약사항이 있는데, 한 계정당 30일에 최대 10개의 오디오만 업로드할 수 있다.[8] 또한 기존에 올린 6초이상 오디오들이 3월 22일부로 모두 비공개 처리되었다.
자세한 건 Roblox/논란 및 사건 사고 참고.
4. 문제점
4.1. 부적절한 모델
일부 유저들은 부적절한 모델[9]을 개발하여 크리에이터 허브 스토어에 게시한다.대부분 부적절한 모델들은 박스 안에 넣어놓고 이름은 Box 등의 평범한 모델인 것처럼 위장한 이름부터 대놓부적절하다고 적어둔 이름까지 다양하다. 게다가 어떤 유저가 상자 안에 부적절한 것이 들어있는 모델을 모르고 사용하다가 처벌을 당한 사례도 있다.[10] 지금은 다행히 다 사라졌다.
현재 개선이 이루어져 많이 해결된 문제이다.
로블록스의 대대적인 단속으로 이전과 달리 프리모델에 바이러스가 심어져 있는 경우가 대폭 줄었으며.
특히 선정성을 가진 모델의 경우 필터링과 정확성이 매우 좋아져 찾아보기 힘들어진 상황이다.
4.1.1. 스크립트를 통한 바이러스
일부 유저는 스튜디오로 악성 스크립트를 개발[11],복제,유포한다.바이러스는 컴퓨터, Roblox 계정 자체에는 영향을 끼치지 않는다.[12]
require를 통해 모듈을 불러 올수 있어 사용하기도 했다.
일반적으로 Lua 바이러스는 다음과 같은 경로로 감염된다.
- 툴박스에서 바이러스가 심어진 악성 모델을 불러온다.
- 정상 플러그인을 사칭한 악성 플러그인을 설치한다.
- 혼자 작업하는게 아니라면 같이 작업 하는 팀원이 감염의 원인이 될 수 있다.
바이러스는 다음과 같은 모델에 자주 들어가있다.
- 툴박스에서 노란색 인증 뱃지가 달리지 않은 상단의 모델.
- 예전에는 없었는데 갑자기 툴박스 상단으로 나온 모델들. 봇을 이용한 조작으로 순식간에 인기 모델로 상단에 노출되게 한다.
- 이름이 한 단어로 도배되어 있는 대부분의 모델.
- 검색 키워드랑 전혀 관련 없는 모델. 자전거를 검색했더니 대관람차가 나온다거나.
- Anti-Exploit, Anti-Lag Script 등 핵 방지나 최적화를 해준다는 스크립트라 주장하는 대부분의 모델.
- 툴박스에서 같은 이름을 가진 동일 모델이 여러 개 있는 모델들.
- 모자를 없애는 발판이나 속도 발판, 자판기, 총 지급 장치, 아이템 지급기[13] 등 많은 사람이 사용하는 모델의 복제품들.[14] 비슷한게 널려서 구별도 쉽지 않다.
- 표지판이나 의자같은 단순한 물건에 스크립트가 덕지덕지 붙어있는 경우.
다음과 같이 행동하면 게임에 바이러스가 창궐하는 걸 예방할 수 있다. (절대는 없으니 너무 신뢰하지는 말아야 한다.)
- 툴박스에서 노란색 인증 뱃지가 붙은 모델만을 불러온다.
- 툴박스에서 모델을 가져 오지 않고 혼자서 모델과 스크립트를 직접 만든다.
- 툴박스에선 이미지나 오디오, 메쉬만을 불러와 사용한다.
- 툴박스에서 불러온 모델에 수상한 스크립트 파일은 없는지 꼼꼼히 검사 후 게임에 넣는다.
'바이러스' 종류에서 주로 발생하는 일은
- 다른 게임으로 텔레포트.
- 원래는 존재하지 않는 구조물 생성.
- 빠른 색 변경을 통한 눈에 피로감 주기.
- 게임의 모델이 아닌 모델 구매 창을 띄우기.
- 무한 루프를 이용한 서버/클라이언트의 엄청난 렉을 유발한다.
- 유저 간섭을 통한 강제로 규제 위반을 시켜 정지를 먹인다.
'백도어'의 주 목적 혹은 형태
바이러스를 찾는 방법은 대표적으로 다음과 같다.
- 파트 내부를 작은 블럭 하나하나까지 뒤져보거나 "RotateP","RotateV","Fire","Weld"로 익스플로러에 검색한다. 그리고 그 안에 괴상한 이름을 가진 스크립트가 있다면, 절대다수가 바이러스다. Fire의 경우에는 횃불같은 의도한 불이면 바이러스가 아니지만, 전혀 불이 안들어갈만한 장소에 전혀 드러나지 않는 불이 있다면 무조건 바이러스성 불이니 바로 지우자.
- Ctrl+Shift+F로 전체 스크립트를 검색해 getfenv, require, loadstring를 검색하자. require의 경우에는 A-chassis Tune이나 Kohl's Admin 같은 많은 정상 스크립트가 이용해서 무턱대고 지우지 말고 좀 이상한 것을 찾자. 만약 의도하지 않은 스크립트라면 대부분이 백도어다. getfenv나 loadstring은 대다수가 백도어다. 과감히 지우자. [17]
- 너무 많거나 귀찮다면 플러그인에 Ro-Defender와 같은 백신을 설치하여 렉 유발 바이러스를 없애주면 된다. 스크립트 내용이나 방식, 이름[주의]같은걸 찾아서 대부분은 확실하게 없애주지만 간혹 놓치는 것도 있으니 꼼꼼히 찾자.
- 구매 유도 바이러스의 경우에는 PromptPurchase, MarketplaceService 를 전체검색으로 찾아보자. 두 것들은 전부 구매에 관련한 것들인데 구매가 굳이 필요 없는데 이게 들어가있으면 대부분 구매 유도 바이러스다.
- 스크립트 이름이 검은 마름모 안에 물음표가 들어있는 기호 �가 도배된 것을 발견한다면 바이러스니 지우자. 대부분 검색 우회 목적으로 넣지만, classname=script나 classname=localscript 만 쳐도 전부 뜬다.
- BindableFunction과 RemoteFunction은 해킹에 취약하니 주의하도록 하자.
- 스크립트를 열었을 때 괴상한 문자나 기호 같은 것들이 도배되어 있으면 난독화 된 바이러스일 확률이 높으나 만약 로샵에서 구매했을 경우 아닐것이다. 상황에 따라 무조건 지우는 것은 위험하다.
바이러스에 감염될 일은 툴박스에서 스크립트가 심어진 모델을 마구잡이로 불러오고 스크립트 검사도 안하고 냅두는 경우에 주로 걸린다.
이 말은 즉, 툴박스에 있는 모델 스크립트만 잘 체크해주면 걸릴 일이 없다.
만약 자신이 스크립팅에 대해 잘 몰라서 체크를 못하는 경우엔 그냥 모델 내의 스크립트를 전부다 지워버리는 방법이 있다.
모델의 메쉬 이런것만 가져올꺼면 이렇게 해도 상관 없지만, 기능 관련해선 좀 버벅거리거나 기능이 없어질수도 있다.
하지만 바이러스 걸려서 게임과 서버 성능이 황폐화 당하거나 정지 먹는 것 보단 낫다.
4.2. 버그
자체 엔진을 사용하는 만큼 버그도 많다.- 유니온이 안보이거나 유니온 해제가 안 될 때가 있다. 스튜디오를 재시작하면 다시 보이기도 하는데 재시작 후에도 안보이고 유니온 관련 시스템이 안먹힐 경우에는 복구가 불가능하다. 복구 할 수 있는 방법은 참조바람.[19] 복구 원리는 간단하다. 로블록스 스튜디오에서 유니온으로 바꿀 때 유니온 데이터가 자산id로 이동하여 그 데이터가 문서에 그대로 남겨있어서 복구를 할 수 있다.
- 유니온으로 구멍을 뚫더라도 파츠가 투명하게 남아있다.[예시] [해결법]
- 일부 극소수의 사람들은 모든 생성된 파트가 고정이 풀려있어도 이동시키거나 크기를 키우려고 하면 자동고정이 걸리는데 원인 불명. [만약]
- 모델을 생성했는데도 불구하고 먹통일 때가 있다. 집 또는 킬러 모델이 주로 걸린다.
- 메시파츠가 안보이는 버그. 이걸 해결하려면 아예 다시 만드는 것 말고는 방법이 없다.
5. 스크립트
로블록스 Scripting 페이지(영문) 스크립트를 이용하여 각종 시스템이나 효과를 만들 수 있다.Roblox Studio의 스크립트 기능은 Lua 5.1을 기반으로 만든 Luau를 사용하고 있다. '프로그래밍 루아'라는 이름의 서적이 한국어로 번역되어 있으니 Lua 스크립팅을 공부하고 싶다면 관련 서적을 읽어보는 것도 좋다.[23]
자세한 내용은 Roblox Studio/스크립트 문서 참고하십시오.
6. 플러그인
로블록스 스튜디오를 개발해주는 데 도움을 주는 각종 플러그인이 있다.Brick Cutter나 Animation Editor Classic등 편리한 제작 도구부터 바이러스를 막는데 특화된 Ro-Defender 등 각종 도구가 있다.
이 역시 악성 유저들이 각종 Lua 백도어를 설치하는 악성 플러그인을 봇팅을 통해 상단으로 올려놓고 설치를 유도하는 경우도 있다. 플러그인을 설치할 때도 조심해야 한다.
제작자의 계정을 정지시킬수 있다. (아쉽게도 경험담이다.)
7. 개발 팁
이하는 로블록스 스튜디오로 게임을 개발할 때 도움이 되는 정보들이다.7.1. 모델링 관련
- 여러 파트를 하나의 오브젝트로 합치거나 일반 파트를 무효화 시켜서 만든 Negative 파트와 일반 파트를 통합 하여 블렌더와 같은 어려운 모델링 프로그램을 쓰지 않고 간단하게 블록을 자르거나 붙여서 모양을 낼수가 있다.[24] 참고로 MeshPart, SpawnLocation 같이 파트는 파튼데 특수한 파트 같은 경우엔 Union으로 만들수 없다. 또 중요한 단점이 있는데, 최적화가 구려서 많이 쓰면 렉이 심하게 걸린다. 그러니 웬만해선 MeshPart를 쓰자.
- 블렌더와 같은 3D 모델링 프로그램을 사용해 CSG, Union 만으로 구현이 어려운 모델을 만들 수 있다. 로블록스에 자신이 만든 모델을 게시하는 방법은 모델링 프로그램에서 자신이 만든 모델을 fbx 파일로 보내서 로블록스에서 3D 가져오기를 누른 다음 방금 내보낸 fbx 파일을 선택, 열기 하면 된다.[25] 여기에 SurfaceAppearance를 적용시키거나 텍스처 생성기로 텍스처를 만들어 적용 시킬 수 있다.
7.2. 스크립팅 관련
자세한 내용은
Roblox Studio/스크립트 문서 참고하십시오.
7.3. 플러그인 관련
- 이것도 플러그인의 일종인데 F3x building 플러그인을 사용하면 메시를 쉽게 적용시켜줄수 있다.
7.4. 툴박스 관련
- 유출모델과 평범한 모델, 그중에서도 특히 자동차 모델들을 구별하는 팁이 있다. 첫번째로 모델에 메쉬파트가 있다면 툴박스 등을 둘러보다 보면 찾을 수 있는 메쉬 확인 플러그인을 사용하는 방법이 있다. 모델을 업로드 한 유저와 메쉬 업로더의 닉네임이 동일하면 안전할 확률이 꽤 높은 것이다. 두번째로는 모델의 이름이 대충 지어진 경우는[26] 거르는 것이다. 그래도 그런 것은 확실하게 알아내기는 어려우니 devforum이나 discord 개발자 커뮤니티에 질문을 해보는 것도 좋은 방법이다.
- 도구 상자(프리모델) 탭에서 오른쪽 화살표를 누르고 동그라미에 벽돌,유리가 있는 것을 클릭하고 마음에 드는 벽,바닥,천장등 재질을 골라 클릭하면 표면에 추가된다.
7.5. 기타
- 파트의 표면(Surface)은 본래 속성 탭에 존재하였으나 사라졌다. 현재 표면 적용법은 F3X 플러그인을 이용하는 것과 직접 스크립트로 Surface 값을 변경하는 방법이 있다.
- 자동차 등에 반사가 예쁘게 되는 걸 원하면 스카이박스의 바닥을 검은 이미지로 바꿔보자.
- 로블록스 캐릭터의 팔이나 신체 부위, 캐릭터 이외의 오브젝트들의 회전축을 바꾸고 싶다면 피벗(Pivot) 편집을 사용해보자.
- 만약 전쟁게임을 만들고 싶다면 Wolfenchan도 사용해보는 것도 좋다. Wolfenchan은 주로 탱크, 포 등을 고퀄리티로 적용시키는 시스템이다. 적용법은 유튜브에 간단히 나와있으니 한번 사용해봐도 좋다.
- 총을 사용하고 싶다면 서버 단위로 작동하는, 즉 타 플레이어의 시점에서 자신이 쓰는 여러 기능이 반영되는 총 킷을 쓰자. 대표적으로 FE gun kit, Warbound[27],OTS gun System[28], ACS[29], Murnau, VE[30], BCWS[31], VIETHIN[32], RCM[33] 등이 있다. 정 맘에 안들거나 불안하면 직접 키트를 만드는 것도 좋다. 대부분의 메이저 FPS 게임들은 직접 제작한 키트를 사용한다. 그리고 문제점으로 인식되는 부대겜 등에서 사용해서 인식이 안좋다. 요즘에는 공식적으로 배포하는 총 시리즈와 툴이 있는듯.
8. 유료 모델
자세한 내용은
Roblox Studio/유료 모델 문서 참고하십시오.
[1]
Windows 버전 기준이며, macOS 버전 Roblox Studio는 2011년 1월경 출시하였다. Windows와 macOS 모두 Roblox Studio가 게임 플레이어인 Roblox보다 1년 정도 먼저 출시하였다.
[2]
정확히는 Luau
[3]
Lua 스크립트 강좌도 초보자들이 이해하기 쉽게 적혀져 있으니 배우고 싶거나 관심 있으면 검색창에 Script라 쳐서 둘러보자. 구글 자동 번역으로 번역하면 번역이 깔끔하게 된다. 영어가 서툴다면 자동 번역을 키자.
[4]
유튜브, 디스코드, 페이스북, 트위터, 트위치등 로블록스 내에서 지원하는 링크가 아닌 다른사이트 링크는 바로 제제를 때린다.근데 지원하는 사이트 링크여도 제제를 때린다!
[5]
고양이 사진도 영정먹는다 이상한 로블
[해결]
이건 CollisionFidelity에서 Default를 PreciseConvexDecomposition로 바꿔주면 된다.
[7]
영어로 되어 있는 페이지이므로
Chrome 사용자들의 경우 자동 번역을 사용하는 것을 추천한다.
[8]
ID가 인증된 계정은 30일에 100개를 업로드할 수 있다.
[9]
성적이거나 잔인하게 묘사된 모델, 바이러스가 포함된 모델
[10]
그러니 상자가 필요하면 그냥 파트를 꺼내 쓰자.
[11]
바이러스, 백도어 등
[12]
플러그인의 경우 로블에서 허용하는 범위가 매우 넓음으로 로블록스 업데이트 실수로 인해 컴퓨터에 직접적인 간섭이 일어날 수 있음으로 주의해야 한다. (파일 업로드 관련 해서 컴퓨터에 접근하여 비이상적인 간섭이 가능했었다.)
[13]
Item Giver라고 흔히 알려져있다.
[14]
단순히 프리 모델을 꺼내와서 손 쉽게 게임을 만들려고 하는 유저들을 도와주기 위해 복제품을 만드는 유저도 있지만, 대부분은 상위권을 노리려고 만들거나 바이러스를 심어놓는 경우가 많다.
[15]
백도어 그룹의 맴버와 같은 특수 인물들 혹은 모두한테 뿌려버리기도 한다.
[16]
게임을 마음대로 할수 있는 권한
[17]
loadstring은 문자를 스크립트로 작동시키는 함수라 호출하려 해도 기본값으로 꺼져있기에 일반적으로 작동 안한다.
[주의]
Virus같은 이름이 붙어있으면 지워버리기 때문에, 멀쩡한 모델같은것에 그런 이름을 붙여두면 같이 날아가버리는 참사가 발생한다.
[19]
#
[예시]
사각형에 원통으로 구멍을 꿇어지만 빈공간에 투명하게 파츠가 있어서 공중에 뜨거나, 공간이 있어도 실제로 들어갈수 있는 공간이 훨씬 적다. 게다가 일정한것도 아니다.
[해결법]
CollisionFidelity => PreciseConvexDecomposition 이렇게하면 사실상 없어진다.
[만약]
하지만 studs 가 지나치게 커져있으면 안움직이기도 하니 확인 할 것
[23]
아니면 Lua 5.1 사이트를 들어가서 볼 수 있다.
[24]
참고로 이렇게 Union 상태가 되면 일반적으로는 색상을 변경 할 수 없다. 색을 바꾸는 방법은 해당 Union을 누른 뒤 -> 속성창 검색 -> UsePartColor를 검색해서 켜주면 유니온 상태에서 색상을 변경할 수 있다. 다만 주의할 점은 이상태로 색을 변경하게 된다면 같이 Union으로 묶여있던 다른색의 파트도 같은 색으로 통일되버린다.[34]
[25]
단, 메쉬의 트라이가 5,000 트라이 미만이여야 로블록스로 불러올 수 있다. 또한, 계정에 등록된 생년월일 기준으로 13세 미만일 시, 메쉬가 정상적으로 불러와지지 않을 수 있다.
[26]
예시로 2020 BMW M5같이 실제 모티브가 되는 차량의 이름을 적지 않고 my bmw 등의 이름으로 등록되어 있는 모델 혹은 (게임이름) (유저닉)슬롯(RP 개인차량)이라고 등록되어있는것.
[27]
약칭 WB,
아르마 시리즈를 참고해 만들어진 시스템이며 R6 캐릭터를 사용할 때에만 작동한다. 대다수의 모델은 스크립트의 노후화로 각종 버그(예를 들어서 마우스 포인터가 없어진다거나)가 있으며 후술할 여러 모델들의 모태가 되었다.
[28]
유명 SCP 게임들이 쓰는 건킷이지만 버그도 많고 불안정하다
[29]
Advanced Combat System 의 약자, 아르마 시리즈와
이스케이프 프롬 타르코프를 참고해 만들어진 시스템이다. 최신형인 1.8 및 2.0을 제외하면 R6 형태의 캐릭터를 사용할 때에만 작동한다. ACS 2.0.1는 R6이니 주의하자.
[30]
Vanguard Engine의 약자, Warbound의 공식 후계이다. 사실상 ACS의 하위호환이라 볼 수 있다.
[31]
ACS를 참고해 모 유저가 직접 R15 캐릭터가 호환되도록 만든 시스템. 오리지널 ACS에는 없는 여러 기능이 있다.
[32]
현대전 총들도 있지만 많은 총들이 머스킷 등 옛날 총들이 있으며 주로 중세 시대 전쟁이나 조선시대 같은 전쟁 게임을 만들때 많이 사용된다.
[33]
ACS의 개선판으로 매우 많은 버그들이 수정되었고 총기에 따른 속도 감속이나 커스텀하기 쉬운 파티클 제작 등 기능들이 추가 된 버전이다.