본문 바로가기

가상세계

가상세계 산사VR, 물체 무한회전 스크립트 세컨드라이프에서 애용되었던 기술인데요. 산사에서도 가능하지만 통 샘플소스가 보이지 않아 하나 만들어 보았습니다. 스크립트는 아래와 같습니다. using Sansar; using Sansar.Script; using Sansar.Simulation; using System; public class RotateSample : SceneObjectScript { [Tooltip("속도")] [DefaultValue(1.0)] public double SpinSpeed; public override void Init() { // 회전 쓰레드 호출 StartCoroutine(RotateRoutine); } // 회원 쓰레드 void RotateRoutine() { // 회전횟수(반바퀴 기준) int times =.. 더보기
가상세계 산사VR, Dumm 탐방. 산사 URL : atlas.sansar.com/experiences/enricosands1/dumm Dumm Dummy´s atlas.sansar.com 산사에는 공개 월드가 5,000 ~ 10.000여개 정도 있는게 아닐까 추정됩니다. 월드 검색에서 a 만 쳐도 576개 정도의 월드가 검색되거든요. 그 중 몇군데를 찾아보다 Dumm 이란 곳이 있어서 방문해보았는데요. 방문하면 사람이 꽤 있어 보이는데, 사실은 사람이 아니라 모두 캐릭터 크기만한 인형입니다. 음악이 흘러 나오고 움직이는 인형도 일부 있어서, 뭔가 생동감이 있어 보입니다. 컴퓨터를 하고 있는 사무원, 땅바닥에 낚시를 하고 있는 사람, 노래부르고 춤추는 사람 등 다양한 부류의 사람들로 표현해놓았더라구요. 사실 위 장면이 이 월드의 전부인듯한.. 더보기
가상세계 산사VR의 움짤 위 움짤에서 바닥에 스크린이 하나 보이시지요? Animation Texture 라고 해서 3D 가상공간에서의 움짤 화면 기능입니다. 인터넷에는 재미있는 움짤 이미지가 많이 돌아 다니고 있습니다 :) 움짤이란 국내에서 사용하는 속어로서, 보통 "움직이는 gif", "움직이는 그림"을 지칭하지요. 이런 파일들을 가상세계 산사VR 에서도 사용할 수 있을까요? 기본적으로는 미디어 방식으로 사용할 수 있겠지만 이 방식으로는 여러개의 움짤 화면을 동시에 보는 것은 불가능합니다. 그보다는 다른 용법으로 텍스쳐 애니메이션 기술을 이용한 방법을 적용하는 방법을 알아보겠습니다. 먼저 Radio 님이 만든 영상 하나 보실까요? 산사에서 구현한 컨텐츠인데 꽤 공력을 많이 들이셨을듯 합니다. 이 것으로 무엇을 의미하는지 상당한.. 더보기
가상세계의 드론(dron) 가상세계 산사 크레이의 월드에는 드론(dron) 이 있습니다. 이 드론이 얼마나 변덕스러운지 움직이다 멈추고 움직이다 멈추고 그러는데요 막 달려가 따라 잡으려고 해도 멈추는 듯 하다 갑자기 이동해버리는 바람에 따라 잡기가 여간 어려운게 아닙니다. 하지만 어느 지점에서 이 드론을 아주 가까이서 접할 수 있었지요. 그리고 이 때를 놓칠 새라 얼른 드론 위에 올라타보았더니 드론이 저를 태우고 하늘 높이 날아오르는게 아니겠습니까? 하지만 하늘에서 드론을 타고 버티는건 너무 힘들어서 곧잘 추락합니다. 다행인 것은 가상세계에서는 전혀 다치지 않는다는 것이지요 :) 뭐.. 이런 스토리입니다 :D :D :D 가상세계 산사의 드론은 현실 세계의 드론과 달라서 코딩은 아주 수월한데요. 간단히 코드 공개합니다 :) usin.. 더보기
가상세계 산사VR, Cray world, 극기훈련 컨텐츠?! 크레이 월드에 2번째 컨텐츠 "극기훈련"이 추가되었습니다. 컨텐츠라 하기에는 좀 그렇긴 하지만 좀 난이도가 있습니다 :) 고소공포증을 갖고 계신분이 VR 기기를 착용하고 시도해보신다면 극복에 도움을 줄지도 모르겠습니다. 크레이의 월드에는 하늘을 날아다니는 바위가 있습니다. 바위가 하늘을 날아다닌다니 중력의 법칙을 완전 무시해도 너무 무시하는게 아닐까 생각되는데요. 기독교에서 말하는 천국에서도 그런 신기한 일들이 벌어지고 있을지도 모르지요 :) 하늘에서도 바위가 왕복운동을 하는데요. 이 바위들을 점프해서 타고 타고 태극기 깃발이 있는 곳까지 가는 겁니다. 뭐... 보상은 없습니다 ㅎ.. 크레이는 운동신경이 둔한지라 백번은 시도한 것 같습니다. 중간에 도무지 안되서 난이도를 좀 낮추긴 했지만요 :) 크레이 .. 더보기
산사VR, 오브젝트간 통신 산사에서는 오브젝트들끼리도 이야기를 할 수 있습니다. 이른바 오브젝트들끼리의 통신인데요. 우리 사람들 몰래 오브젝트들끼리 이야기한다고 하니, 무슨 이야기를 할지 궁금해지는군요? :) 오브젝트간 통신에는 보내는 오브젝트, 송신에는 다음 명령이 사용됩니다. ScenePrivate.Chat.MessageScript(message, ScriptId.AllScripts, 1); 여기서 message 는 실제 통신할 내용을, 그리고 ScriptUd.AllScripts 는 모든 스크립트가 들어있는 오브젝트에 해당하고, 마지막 1은 채널 번호를 의미합니다. 채널은 마치 주파수와 같아서 각각 용도마다 그 값을 다르게 주어서 통신이 혼선되지 않게 하는 것이지요. 그리고 오브젝트의 받는 오브젝트, 수신에는 다음 명령이 사용.. 더보기
가상세계 산사 VR, 선택버튼 알아내기 이번 스크립트는 지난 시간에 이은 Alert 팝업창의 선택 버튼 판정 버전입니다. 지난 시간에 Alert 와 같은 팝업창을 다루어 보았지만 버튼이 2개일 때 어떤 버튼을 선택했는지 알 수 없는 문제가 있었지요? 원래는 ModelDialog.Response 에 그 값이 들어오긴 하지만, 문제는 팝업창을 띄우고 난 다음 사용자가 버튼을 선택하기 전에 그 다음 행을 계속해서 쭉쭉 실행해 나가는 문제로 인하여 아래와 같은 코드는 제대로 실행이 안됩니다. 아예 2번째 팝업창은 뜨질 않더라구요. // 유저의 클라이언트에 메시지를 띄워줍니다. agent.Client.UI.ModalDialog.Show(message, "확인", ""); : 사용자에게 팝업창을 띄우고 이 뒷부분으로 실행 계속 agent.Client.U.. 더보기
가상세계 산사VR, 채널을 눌러볼까요? 지난 번에는 월드 내 웹뷰를 이용해 영상 넣는 부분을 살펴보았는데요. itadventure.tistory.com/344 가상세계 산사 VR, 웹페이지/영상 띄우기 ※ 2020. 9. 12 : 유튜브 배경음악 나게 하는 법을 알아내서 본문에 포함시켰습니다. 가상세계 산사(sansar) 에서는 웹페이지를 띄울 수 있는 웹뷰어가 있는데요. 오늘은 웹뷰 아이템을 만드는 방법을 itadventure.tistory.com 영상이 단 하나라서 오래 듣다 보니 단조롭다고 생각하셨을지도 모르겠습니다. 이번 시간에는 각기 다른 버튼을 누르면 각각 다른 유튜브 영상이 재생되는 부분을 살펴보도록 하겠습니다. 우선 지난번 웹뷰에 해당하는 스크린은 그냥 그대로 사용하는 것으로 해주시구요. 모니터 받침대를 만들긴 했는데 실습과는 .. 더보기