Jump to content


Конвертер из SVG (Convert SVG to Second Life)


  • Please log in to reply
4 replies to this topic

#1 SOb Zemlja

SOb Zemlja

    Активный участник

  • Главные администраторы
  • PipPipPipPip
  • 799 posts
  • Пол:М
  • Откуда:Россия, Москва
  • Основной цех:Строители
  • Второй цех:Скриптеры
  • SL Status: 

Posted 31.10.08 - 04:25



Данный набор скриптов позволяет задавать расположение и размер примов из чертежа в формате SVG (XML) и в общем-то представляет из себя обычный «rezzer».

Для работы скрипта необходимо:

  • создать прим с именем box
  • поместить скрипт box в прим box
  • создать прим с именем rezzer
  • поместить скрипт rezzer в прим rezzer
  • поместить notecard с преобразованным SVG в прим rezzer
  • поместить прим box в прим rezzer

запускается щёлчком

Для редактирования SVG вместо Illustrator-а можно использовать бесплатный Inkskape.

Пример чертежа в формате SVG

Конвертер из SVG в формат rezzer-а

Скрипт rezzer

string gName;
integer gLine = 0;
key gQueryID;
integer chn = 777;
list params;
string primid;

default {
touch_start(integer foo) {
gName = llGetInventoryName(INVENTORY_NOTECARD, 0);
gQueryID = llGetNotecardLine(gName, gLine);
}

dataserver(key query_id, string data) {
if (query_id == gQueryID) {
if (data != EOF) {
params = llParseString2List(data, ["|"], []);
primid = llList2String(params, 5);
llRezObject&#40;&#34;box&#34;, llGetPos&#40;&#41; + <0, 0, 1.0>, ZERO_VECTOR, ZERO_ROTATION, &#40;integer&#41;primid&#41;;
llSleep&#40;1&#41;;
llShout&#40;chn, data&#41;;
++gLine;
gQueryID = llGetNotecardLine&#40;gName, gLine&#41;;
}
}
}
}

Скрипт box

integer chn = 777;
list params;
string primid;
float height = 6.0;

default
{
on_rez&#40;integer param&#41;
{
llSetObjectName&#40;&#40;string&#41;param&#41;;
llListen&#40;chn, &#34;&#34;, NULL_KEY, &#34;&#34;&#41;;
}

listen&#40;integer channel, string data, key id, string message&#41;
{
params = llParseString2List&#40;message, &#91;&#34;|&#34;&#93;, &#91;&#93;&#41;;
primid = llList2String&#40;params, 5&#41;;
if &#40;primid == llGetObjectName&#40;&#41;&#41; {
llSetPrimitiveParams&#40;&#91;PRIM_POSITION,
llGetPos&#40;&#41; +
<llList2Float&#40;params, 0&#41;, llList2Float&#40;params,1&#41;, 0>,
PRIM_SIZE,
<llList2Float&#40;params, 2&#41;, llList2Float&#40;params, 3&#41;, height>,
PRIM_COLOR, ALL_SIDES, &#40;vector&#41;llList2String&#40;params, 4&#41;, 1.0&#93;&#41;;
llRemoveInventory&#40;llGetScriptName&#40;&#41;&#41;;
}
}
}


Идея: Kisa Naumova

#2 Tikhon Golitzen

Tikhon Golitzen

    Новичок на форуме

  • Пользователи
  • PipPip
  • 28 posts
  • Пол:М
  • SL Status: 

Posted 03.11.08 - 22:30

Очень интересный проект! Только SVG, насколько я понимаю - это формат ДВУмерной векторной графики. А для SL ведь нужна трёхмерность. Я чего-то не понял?
...И таких всё больше...

#3 SOb Zemlja

SOb Zemlja

    Активный участник

  • Главные администраторы
  • PipPipPipPip
  • 799 posts
  • Пол:М
  • Откуда:Россия, Москва
  • Основной цех:Строители
  • Второй цех:Скриптеры
  • SL Status: 

Posted 04.11.08 - 00:47

View PostTikhon Golitzen, on 3.11.2008, 22:30, said:

Очень интересный проект! Только SVG, насколько я понимаю - это формат ДВУмерной векторной графики. А для SL ведь нужна трёхмерность. Я чего-то не понял?
На видео видно, что из одного кубика (по одному плоскому чертежу) строятся элементы одинаковой высоты, таким образом указывать третью координату становится не нужно.

В любом случае, ещё как минимум 3 параметра можно ввести, если использовать в чертеже цвета в формате RGB. В этом случае каждый параметр сможет принимать значение 0-255. Подобный чертёж можно даже будет читать, как читают высоты на картах.

#4 kolobot

kolobot

    Новичок на форуме

  • Пользователи
  • PipPip
  • 77 posts
  • Пол:М
  • Откуда:Кемеровская обл.
  • SL Status: 

Posted 20.06.09 - 20:50

ухты... по щучьему велению, по моему хотению, колитесь дрова сами да укладывайтесь в сани =))
У врагов могут быть нужные вещи...

#5 SOb Zemlja

SOb Zemlja

    Активный участник

  • Главные администраторы
  • PipPipPipPip
  • 799 posts
  • Пол:М
  • Откуда:Россия, Москва
  • Основной цех:Строители
  • Второй цех:Скриптеры
  • SL Status: 

Posted 05.06.11 - 14:10

Вернул на место конвертер. А видео не нашёл чтобы перевыложить (конечно оно не принадлежит EMI…).




1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users