12일째: 돌루스에서 학습 대상의 생성과 삭제(전편)
6055 단어 가상 배우VirtualCastVCI
이번 내용
이번에는 갑작스런 손실을 보면서 학습 대상의 생성과 삭제를 했다.
2~2일~3일로 나눠 설명한다.이번 학습은 다음과 같다.
• VCD에서의 생성 및 삭제 개념
• 대상을 생성하는 방법
VCD에서 생성 및 삭제
V 캐스트에서는 단순히 코드에서 객체를 생성하거나 삭제할 수 없습니다.따라서 생성, 삭제할 때 서로 다른 디스플레이, 숨기기 처리를 하여 재현을 시뮬레이션할 수 있다.
숨기는 방법으로는 투명, 치수 0으로 만들기, 보이지 않게 멀리 두기 등이 있다.
이번에는'멀리 두면 보이지 않는다'는 방법으로 만들겠다.
구체적으로 아래 규칙에 따라 제작하다
・ 숨겨진 객체는 -500 위치에 y 좌표를 배치합니다.
·y 좌표는 -100 이상이면 나타나고 -100 이하면 숨겨집니다.
(경계치가 -100이면 깊은 뜻이 없다. 0~500이면 어디든 좋다.)
・버튼을 누르면 숨겨진 상태의 실수가 발생합니다.모두 상태가 나타나면 콘솔에 메시지를 보냅니다.
・ 돌루스를 먹으면 손에서 사라져 숨은 상태로 돌아간다.(이것은 내일 만든 몫이다)
Unity 설정
먼저 출현 대상의 돌실을 만들어 복제한다.이번에는 여섯 개다.
(돌루스가 휴대할 수 있도록 SubItme 어셈블리가 함께 제작됩니다.)
이 편차는 처음에 숨기려고 하기 때문에 y 좌표를 -500으로 설정합니다.
다음은 갑작스런 손실이 발생하는 버튼과 출현점을 설정합니다.
다음 그림과 같이 빈 객체를 표시할 위치에 배치하는 것이 중요합니다.
(출현 위치도 코드 계산으로 결정할 수 있지만 나는 이것이 더욱 직관적이고 알기 쉽다고 생각한다.)
Unity의 설정은 위에 있습니다.
코드 생성
다음은 V cast 및 편집기 작업입니다.
※ 이 코드는 여러 사람이 사용할 경우에만 올바르게 동작할 수 없습니다.
다음 기사에 대안 방법을 쓰려고 하니 같이 읽어주세요.
갑작스런 손실이 발생했을 때 발생하는 갑작스런 손실이 아니라 상태를 표시하지 않는 것을 취해야 한다.
따라서 먼저 돌궐의 좌표를 검사하여 대상의 돌궐을 찾는 함수를 생성한다.
대상의 갑작스런 실수가 없을 때 nil (비어 있음) 로 돌아갑니다.--出現対象とするチュロスを探す。
function fetchChurros()
--出現対象となるチュロス。はじめはnilを入れておく。
local targetChurros = nil
-- チュロスオブジェクトが取得できなくなるまでずっとループ
local no = 1
while(true) do
--チュロスオブジェクト取得
local churros = vci.assets.GetTransform("Churros_"..no)
if churros then
--取得したオブジェクトのY座標が-100以下ならそれをターゲットに定めループを抜ける。
if churros.GetPosition().y < -100 then
targetChurros = churros
break
end
else
--オブジェクトが取得できなくなったらループを抜ける
break
end
no = no + 1
end
--取得したチュロスを返す。なければnilの状態のままなのでnilが返る。
return targetChurros
end
이어서 단추를 눌렀을 때 상기 함수를 호출하여 대상 분실 처리를 만듭니다.---[SubItemの所有権&Use状態]アイテムをグラッブしてグリップボタンを押すと呼ばれる。
---@param use string @押されたアイテムのSubItem名
function onUse(use)
--今回作成したボタン「Button_Appear_Churros」が押されたときのみ実行される
if use == "Button_Appear_Churros" then
local churros = fetchChurros()
if churros then
--対象のオブジェクトを出現ポイントの位置に移動させる
local appearPoint = vci.assets.GetTransform("Churros_AppearPoint")
churros.SetPosition(appearPoint.GetPosition())
churros.SetRotation(appearPoint.GetRotation())
else
--対象となるチュロスがなかった場合
print("チュロスは完売しました。")
end
end
end
코드 제작 완료.
아래 그림에서 보듯이 갑작스런 손실이 있을 경우 갑작스런 손실이 발생하고 없을 경우 컨트롤러에 메시지를 보냅니다.
(이해하기 어렵지만 큐브 버튼을 몇 번 눌렀다)
끝맺다
어때요?
이번에 제작된 코드는 아직 완전히 대응하지 않았기 때문에 내일 이번 코드의 문제점과 해결 방안에 대한 설명, 대상이 사라진 처리를 배울 예정이다.
Reference
이 문제에 관하여(12일째: 돌루스에서 학습 대상의 생성과 삭제(전편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/lightjug/items/62624a60dff416f65c95
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
V 캐스트에서는 단순히 코드에서 객체를 생성하거나 삭제할 수 없습니다.따라서 생성, 삭제할 때 서로 다른 디스플레이, 숨기기 처리를 하여 재현을 시뮬레이션할 수 있다.
숨기는 방법으로는 투명, 치수 0으로 만들기, 보이지 않게 멀리 두기 등이 있다.
이번에는'멀리 두면 보이지 않는다'는 방법으로 만들겠다.
구체적으로 아래 규칙에 따라 제작하다
・ 숨겨진 객체는 -500 위치에 y 좌표를 배치합니다.
·y 좌표는 -100 이상이면 나타나고 -100 이하면 숨겨집니다.
(경계치가 -100이면 깊은 뜻이 없다. 0~500이면 어디든 좋다.)
・버튼을 누르면 숨겨진 상태의 실수가 발생합니다.모두 상태가 나타나면 콘솔에 메시지를 보냅니다.
・ 돌루스를 먹으면 손에서 사라져 숨은 상태로 돌아간다.(이것은 내일 만든 몫이다)
Unity 설정
먼저 출현 대상의 돌실을 만들어 복제한다.이번에는 여섯 개다.
(돌루스가 휴대할 수 있도록 SubItme 어셈블리가 함께 제작됩니다.)
이 편차는 처음에 숨기려고 하기 때문에 y 좌표를 -500으로 설정합니다.
다음은 갑작스런 손실이 발생하는 버튼과 출현점을 설정합니다.
다음 그림과 같이 빈 객체를 표시할 위치에 배치하는 것이 중요합니다.
(출현 위치도 코드 계산으로 결정할 수 있지만 나는 이것이 더욱 직관적이고 알기 쉽다고 생각한다.)
Unity의 설정은 위에 있습니다.
코드 생성
다음은 V cast 및 편집기 작업입니다.
※ 이 코드는 여러 사람이 사용할 경우에만 올바르게 동작할 수 없습니다.
다음 기사에 대안 방법을 쓰려고 하니 같이 읽어주세요.
갑작스런 손실이 발생했을 때 발생하는 갑작스런 손실이 아니라 상태를 표시하지 않는 것을 취해야 한다.
따라서 먼저 돌궐의 좌표를 검사하여 대상의 돌궐을 찾는 함수를 생성한다.
대상의 갑작스런 실수가 없을 때 nil (비어 있음) 로 돌아갑니다.--出現対象とするチュロスを探す。
function fetchChurros()
--出現対象となるチュロス。はじめはnilを入れておく。
local targetChurros = nil
-- チュロスオブジェクトが取得できなくなるまでずっとループ
local no = 1
while(true) do
--チュロスオブジェクト取得
local churros = vci.assets.GetTransform("Churros_"..no)
if churros then
--取得したオブジェクトのY座標が-100以下ならそれをターゲットに定めループを抜ける。
if churros.GetPosition().y < -100 then
targetChurros = churros
break
end
else
--オブジェクトが取得できなくなったらループを抜ける
break
end
no = no + 1
end
--取得したチュロスを返す。なければnilの状態のままなのでnilが返る。
return targetChurros
end
이어서 단추를 눌렀을 때 상기 함수를 호출하여 대상 분실 처리를 만듭니다.---[SubItemの所有権&Use状態]アイテムをグラッブしてグリップボタンを押すと呼ばれる。
---@param use string @押されたアイテムのSubItem名
function onUse(use)
--今回作成したボタン「Button_Appear_Churros」が押されたときのみ実行される
if use == "Button_Appear_Churros" then
local churros = fetchChurros()
if churros then
--対象のオブジェクトを出現ポイントの位置に移動させる
local appearPoint = vci.assets.GetTransform("Churros_AppearPoint")
churros.SetPosition(appearPoint.GetPosition())
churros.SetRotation(appearPoint.GetRotation())
else
--対象となるチュロスがなかった場合
print("チュロスは完売しました。")
end
end
end
코드 제작 완료.
아래 그림에서 보듯이 갑작스런 손실이 있을 경우 갑작스런 손실이 발생하고 없을 경우 컨트롤러에 메시지를 보냅니다.
(이해하기 어렵지만 큐브 버튼을 몇 번 눌렀다)
끝맺다
어때요?
이번에 제작된 코드는 아직 완전히 대응하지 않았기 때문에 내일 이번 코드의 문제점과 해결 방안에 대한 설명, 대상이 사라진 처리를 배울 예정이다.
Reference
이 문제에 관하여(12일째: 돌루스에서 학습 대상의 생성과 삭제(전편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/lightjug/items/62624a60dff416f65c95
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
다음은 V cast 및 편집기 작업입니다.
※ 이 코드는 여러 사람이 사용할 경우에만 올바르게 동작할 수 없습니다.
다음 기사에 대안 방법을 쓰려고 하니 같이 읽어주세요.
갑작스런 손실이 발생했을 때 발생하는 갑작스런 손실이 아니라 상태를 표시하지 않는 것을 취해야 한다.
따라서 먼저 돌궐의 좌표를 검사하여 대상의 돌궐을 찾는 함수를 생성한다.
대상의 갑작스런 실수가 없을 때 nil (비어 있음) 로 돌아갑니다.
--出現対象とするチュロスを探す。
function fetchChurros()
--出現対象となるチュロス。はじめはnilを入れておく。
local targetChurros = nil
-- チュロスオブジェクトが取得できなくなるまでずっとループ
local no = 1
while(true) do
--チュロスオブジェクト取得
local churros = vci.assets.GetTransform("Churros_"..no)
if churros then
--取得したオブジェクトのY座標が-100以下ならそれをターゲットに定めループを抜ける。
if churros.GetPosition().y < -100 then
targetChurros = churros
break
end
else
--オブジェクトが取得できなくなったらループを抜ける
break
end
no = no + 1
end
--取得したチュロスを返す。なければnilの状態のままなのでnilが返る。
return targetChurros
end
이어서 단추를 눌렀을 때 상기 함수를 호출하여 대상 분실 처리를 만듭니다.---[SubItemの所有権&Use状態]アイテムをグラッブしてグリップボタンを押すと呼ばれる。
---@param use string @押されたアイテムのSubItem名
function onUse(use)
--今回作成したボタン「Button_Appear_Churros」が押されたときのみ実行される
if use == "Button_Appear_Churros" then
local churros = fetchChurros()
if churros then
--対象のオブジェクトを出現ポイントの位置に移動させる
local appearPoint = vci.assets.GetTransform("Churros_AppearPoint")
churros.SetPosition(appearPoint.GetPosition())
churros.SetRotation(appearPoint.GetRotation())
else
--対象となるチュロスがなかった場合
print("チュロスは完売しました。")
end
end
end
코드 제작 완료.아래 그림에서 보듯이 갑작스런 손실이 있을 경우 갑작스런 손실이 발생하고 없을 경우 컨트롤러에 메시지를 보냅니다.
(이해하기 어렵지만 큐브 버튼을 몇 번 눌렀다)
끝맺다
어때요?
이번에 제작된 코드는 아직 완전히 대응하지 않았기 때문에 내일 이번 코드의 문제점과 해결 방안에 대한 설명, 대상이 사라진 처리를 배울 예정이다.
Reference
이 문제에 관하여(12일째: 돌루스에서 학습 대상의 생성과 삭제(전편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/lightjug/items/62624a60dff416f65c95
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(12일째: 돌루스에서 학습 대상의 생성과 삭제(전편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/lightjug/items/62624a60dff416f65c95텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)