VIVEN SDK는 Unity Editor에서 사용할 수 있습니다.
Unity Editor에서 기능을 구현할 때 보통 C#을 이용하지만, Viven 클라이언트는 Mono를 사용하지 않고 il2cpp를 이용하여 컴파일 되었습니다. 따라서 특정한 기능을 구현하기 위해서는 Viven Script를 이용합니다.
Viven Script는 lua 스크립트를 기반으로 하는 언어입니다. 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 루프 (pairs 및 ipairs 사용)
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
복사