Viven Script를 이용하여 Unity의 여러 기능을 사용할 수 있습니다.
GameObject 관련 기능
GameObject Active
SetActive 를 이용하면 GameObject를 활성화/비활성화 할 수 있습니다.
self.gameObject:SetActive(true) -- 본 스크립트가 부착된 게임오브젝트를 활성화 합니다.
local someGameObject = GameObject.Find("Some Game Object")
someGameObject:SetActive(true) -- 참조된 게임오브젝트를 활성화 합니다.
Lua
복사
Object Instantiate
Unity의 Object 혹은 이미 만들어진 Prefab을 Instantiate를 할 수 있습니다.
local go = GameObject.Instantiate(prefabReference);
go.transform.position = Vector(1,1,1)
Lua
복사
Transform 관련 기능
-- 스크립트가 포함되어 있는 GameObject의 Transform의 기능을 사용할 수 있습니다.
local t = self.transform
transform:Translate(Vector3(0,1,0)) -- Y 축 방향으로 1m 이동합니다.
Lua
복사
Component 관련 기능
GetComponent
-- 스크립트가 포함되어 있는 GameObject 혹은
-- Injection의 Gameobject에 부착되어 있는 Component에 접근할 수 있습니다.
local rigidBody = self.gameObject:GetComponent(typeof(RigidBody))
local rigidBody = self.gameObject:GetComponent("RigidBody") -- 이름도 가능합니다.
rigidBody:AddForce(Vector(0,1,0)) -- RigidBody를 이용하여 y축으로 1의 힘들 줌.
Lua
복사
AddComponent
-- 스크립트가 포함되어 있는 GameObject 혹은
-- Injection의 Gameobject에 새로운 Component를 부착할 수 있습니다.
local rigidBody = self.gameObject:AddComponent(typeof(RigidBody))
local rigidBody = self.gameObject:AddComponent("RigidBody") -- 이름도 가능합니다.
rigidBody:AddForce(Vector(0,1,0)) -- RigidBody를 이용하여 y축으로 1의 힘들 줌.
Lua
복사
GetLuaComponent
GetLuaComponent를 이용하면 LuaComponent에 접근할 수 있습니다.
function onTriggerEnter(other)
-- LuaComponent의 이름으로 접근할 수 있습니다.
local lua = other.gameObject:GetLuaComponent("SomeLuaComponent")
end
Lua
복사