Home
Development Environment

스크립팅

VIVEN SDK는 Unity Editor에서 사용할 수 있습니다.
Unity Editor에서 기능을 구현할 때 보통 C#을 이용하지만, Viven 클라이언트는 Mono를 사용하지 않고 il2cpp를 이용하여 컴파일 되었습니다. 따라서 특정한 기능을 구현하기 위해서는 Viven Script를 이용합니다.
Viven Scriptlua 스크립트를 기반으로 하는 언어입니다. Viven Runtime 중에 작동하는 lua engine을 이용하고 있습니다.

Viven Script 이용하기

변수 선언하기

lua 언어를 이용하는 Viven Scirpt에서는 lua 와 동일하게 변수를 선언과 동시에 값을 지정할 수 있습니다. 뿐만 아니라 전역변수를 함수 내부에서 선언할 수도 있습니다.
local someVariable -- nil을 기본값으로 하는 변수를 선언할 수 있습니다. someVal = 10 -- 전역변수 선언을 할 수 있습니다. function someFunc() someValInFunction = 20 local someLocalVariable -- someFunc function에서만 사용하는 지역 변수를 선언할 수 있습니다. end print(someValInFunction) -- 20이 출력됩니다. print(someLocalVariable) -- nil이 출력됩니다. someValInFunction = nil -- nil을 대입하면 값을 지울 수도 있습니다.
Lua
복사

함수 선언하기

function을 이용하면 함수를 선언할 수 있습니다. 함수가 끝나는 지점에 end 넣는 것을 잊지 말아야 합니다.
변수에 함수를 넣어 선언할 수도 있습니다.
function someFunction() print("test") end someFunction = function() print("test") end someFunction() -- "test"라는 문구가 출력됩니다.
Lua
복사

주석 사용하기

Viven Script에서는 --를 이용하면 쉽게 주석을 만들 수 있습니다.
local someVariable -- 문장 뒤에 주석을 사용할 수 있습니다. -- 문장의 제일 앞에 주석을 넣을 경우 모든 줄이 주석으로 처리됩니다. --[[ function someFunc() end --]] --[[ 블럭 안에 있는 내용을 주석으로 만들 수 있습니다. ]]--
Lua
복사

반복문 사용하기

숫자형 for 루프

-- 1부터 5까지 출력 for i = 1, 5 do print(i) end
Lua
복사

숫자형 for 루프 (스텝 포함)

-- 1부터 10까지 2씩 증가하면서 출력 (홀수만 출력됨) for i = 1, 10, 2 do print(i) end
Lua
복사

범위 기반 for 루프 (pairsipairs 사용)

1.
ipairs (순차적인 정수 키에 대한 이터레이션):
luaCopy code local arr = {"apple", "banana", "cherry"} for i, v in ipairs(arr) do print(i, v) end
Lua
복사
b. pairs (테이블 내 모든 키-값 쌍에 대한 이터레이션):
luaCopy code local tbl = {name = "John", age = 25, country = "USA"} for k, v in pairs(tbl) do print(k, v) end
Lua
복사

while 루프

local count = 1 while count <= 5 do print("Count: " .. count) count = count + 1 end
Lua
복사

repeat-until 루프

다른 언어의 do-while 루프와 비슷합니다.
local count = 1 repeat print("Count: " .. count) count = count + 1 until count > 5
Lua
복사

if 사용하기

기본적인 if 사용 방법은 아래와 같습니다.
local age = 15 if age >= 18 then print("성인입니다.") else print("미성년자입니다.") end
Lua
복사
elseif를 이용하는 방법
local score = 75 if score >= 90 then print("A등급") elseif score >= 80 then print("B등급") elseif score >= 70 then print("C등급") else print("D등급") end
Lua
복사
local x = nil if x and x > 10 then print("x는 10보다 큽니다.") else print("x는 nil이거나 10 이하입니다.") end
Lua
복사

Unity 기본 기능 사용하기

Viven Script 에서 unity의 event function을 아래와 같이 사용할 수 있습니다.
function awake() -- Unity awake event function을 이용할 수 있습니다. end function start() -- Unity start event function을 이용할 수 있습니다. end function update() -- Unity update event function을 이용할 수 있습니다. end
Lua
복사
Viven Script에서 Unityevent function에 대한 자세한 사용 방법은 이곳을 참고해 주시기 바랍니다.