가상세계 산사VR의 크레이 월드에서는 가끔 지진이 일어납니다.
물론 인위적이긴 하지만요 ㅎㅎ
크레이 월드 어딘가 이런 표지판이 있을텐데요.
지진을 일으키는 방법이 소개되어 있습니다.
스크립트 소스입니다 :)
using Sansar;
using Sansar.Script;
using Sansar.Simulation;
using System.Runtime.Serialization;
using System;
public class earthquakeScript : SceneObjectScript
{
public double earthQuakeTime=0.0;
[DisplayName("강도")]
[DefaultValue(0.4)]
public double strength = 0;
public override void Init()
{
// 채팅 채널 0번으로부터 메시지 송신을 대기하고 메시지가 송신되면
// ChatMessage 콜백함수를 실행합니다.
ScenePrivate.Chat.Subscribe(0, null, ChatMessage, true);
}
// ChatMessage 콜백 함수
private void ChatMessage(int Channel, string Source, SessionId SourceId, ScriptId SourceScriptId, string Message)
{
if(Message.Equals("/earthquake"))
{
earthQuakeTime = 2;
earthquake();
}
}
void earthquake()
{
// 0번 좌표부터 시작
Vector step1;
Vector step2;
double strength_p = strength;
// 무한반복
while (true)
{
if (earthQuakeTime <= 0) break;
step1 = new Vector(0, (float)strength_p, 0);
step2 = new Vector(0, (float)-strength_p, 0);
WaitFor(
ObjectPrivate.Mover.AddTranslate, // 좌표 이동
ObjectPrivate.Position + step1 , // 이동할 위치
0.1, // 이동에 소요하게 할 시간
MoveMode.Linear); // 죽각이동모드
WaitFor(
ObjectPrivate.Mover.AddTranslate, // 좌표 이동
ObjectPrivate.Position + step2, // 이동할 위치
0.1, // 이동에 소요하게 할 시간
MoveMode.Linear); // 죽각이동모드
earthQuakeTime -= 0.2;
strength_p *= 0.7;
}
}
}
'가상세계 산사VR' 카테고리의 다른 글
가상세계산사VR 그림자 켜는 법 (0) | 2020.09.30 |
---|---|
가상세계 산사VR의 움짤 (0) | 2020.09.27 |
가상세계의 드론(dron) (0) | 2020.09.24 |
가상세계 산사, The Fastest pet alive. '가장 빠른 펫'을 만나 보세요. (0) | 2020.09.22 |
가상세계 산사VR, Cray world, 극기훈련 컨텐츠?! (0) | 2020.09.20 |