Odpowiedz
Autor Wiadomość
Nie podano
PostWysłany: 09 Cze 2011, 13:01 
Dołączenie:
Czerwiec 2011
Posty: 10
poszukuje skrypt ruchu posuwisto-zwrotnego. Przepatrywałem internet i to forum od dłuższego czasu około 3-4 dni w poszukiwaniu tego skryptu jeśli to gdzieś jest to przepraszam ale dopiero uczę się skrypt owania przechodząc do sedna sprawy che osiągnąć efekt ruchu posuwisto zwrotnego lub lewitacji mianowicie che aby mój obiekt np unosił się i opadał w górę i w duł jak np tłok w samochodzie albo odbijająca się piłka (na boki tez by się przydało) z tego co wyczytałem na forum może to mieć Związek chyba z tym skryptem llRot2Up ale kompletnie nie wiem jakie wartości wpisać aby osiągnąć porządny przezmianie efekt .
próbowałem edytować skrypt rotacji który działa
Cytuj:
default
{
state_entry()
{
llTargetOmega(<0,0,1>,1,1);
}
}

ale mam słaby internet i nie mogę sprawdzić czy po przerobieniu działa?
Cytuj:
default
{
state_entry()
{
llRot2Up(<0,0,1>,1,1);
}
}


Podsumowując, proszę o pomoc w napisaniu skryptów
1 ruchu posuwisto-zwrotnego
2 dodania do niego rotacji (np żeby ociągnąć coś w stylu obracającego i unoszącego się Ludzkiego DNA) :)

(przydałby się jakiś obszerny wideo poradnik do skryptów bo na internecie jest tego trochę mało )


Profil E-mail Offline
Nie podano
PostWysłany: 09 Cze 2011, 17:31 
Awatar użytkownika
Dołączenie:
Sierpień 2009
Posty: 318
nick w SL: Dex Euromat
Zapraszam na IM: Dex Euromat
Mam już coś takiego zastosowanego w jednym obiekcie (efekt lewitacji) :)

EDIT 1:
Tu jak wygląda cały skrypcik z komentarzami:
Cytuj:
// deklaracja parametrów
integer second;
vector startPosition;

default
{
state_entry()
{
// Zaczytanie aktualnej pozycji (po zrezowaniu)
startPosition = llGetPos();
// Co ile sekund ma obiekt zmieniać pozycję
llSetTimerEvent( 2 );
}

timer() // Zegar
{
second++;
// Deklaracja nowej zmiennej przesunięcia w osi (może sie zmieniać w górę i w dół)
float Z_dis = llFrand( 0.1 );
// Przypisanie zmiennej do wektora
vector displacement = < 0, 0, Z_dis >;
// Wykonanie dodawania wektorów pozycji startowej i przesunięcia
vector newPosition = startPosition + displacement;

// Repozycjonowanie - wynik dodawania
llSetPos( newPosition );
}
}


Obrót:
wystarczy dodać na samym początku w state_entry() linijkę:

Cytuj:
llTargetOmega(<0,0,1>,1,1);


parametr 1: oś obrotu <X,Y,Z>. 1=TAK 0=NIE
parametr 2: szybkość i kierunek obrotu. "+" obrót w lewo, "-" obrót w prawo, x<1 - wolniej, x>1 - szybciej
parametr 3: obrót 1=TAK / 0=NIE

EDIT 2:
Skrypt z samym Roll2Up nie działa


Profil E-mail Offline
Nie podano
PostWysłany: 09 Cze 2011, 19:08 
Dołączenie:
Czerwiec 2011
Posty: 10
ok a mógłbyś zrobić to w wersji takiej od razu do wklejenia ? na ta lewitacje i osobno na lewitacje i obrót proszę


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 00:21 
Awatar użytkownika
Dołączenie:
Sierpień 2009
Posty: 318
nick w SL: Dex Euromat
Cytuj:
w wersji takiej od razu do wklejenia


Wszystko jest podane w EDIT 1.
A skrypcik obrotowy już sam wkleiłeś.


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 14:25 
Dołączenie:
Czerwiec 2011
Posty: 10
Efekt jest podobny do zamierzanego ale ten np kwadrat skacze bawiłem się parametrami i zaczął skakać wyżej a mnie zalezy na płynnym unoszeniu się i opadaniu . Kiedy próbowałem usunąć komentarze skrypt przestał wogóle działać przy dodaniu rotacji tak samo

Cytuj:
// deklaracja parametrów
integer second;
vector startPosition;

default
{
state_entry()
{
llTargetOmega(<0,0,1>,1,1);
}
{
// Zaczytanie aktualnej pozycji (po zrezowaniu)
startPosition = llGetPos();
// Co ile sekund ma obiekt zmieniać pozycję
llSetTimerEvent( 2 );
}

timer() // Zegar
{
second++;
// Deklaracja nowej zmiennej przesunięcia w osi (może sie zmieniać w górę i w dół)
float Z_dis = llFrand( 0.1 );
// Przypisanie zmiennej do wektora
vector displacement = < 0, 0, Z_dis >;
// Wykonanie dodawania wektorów pozycji startowej i przesunięcia
vector newPosition = startPosition + displacement;

// Repozycjonowanie - wynik dodawania
llSetPos( newPosition );
}
}


poraz kolejny proszę o skrypt bez komentarzy i z rotacją :) :((( i jak zrobić żeby to lewitowało a nie skakało ? (czyli żeby się płynie unosiło i opadało)


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 15:34 
Dołączenie:
Listopad 2010
Posty: 78
nick w SL: Kazuhiro Swords
Płynny ruch zapewnia funkcja llMoveToTarget: http://wiki.secondlife.com/wiki/LlMoveToTarget
llMoveToTarget( vector target, float tau );
vector target - współrzędne dokąd obiekt ma się ruszyć. Sugerowałbym wziąć llGetPos i powiększyć współrzędna "z" aby nadać ruch w gore(nie pamiętam już jak się to robiło, jakoś z.zmienna =)
float Tau - czas, w jakim obiekt ma osiągnąć daną pozycje.
Jest też oczywiście 2 opcja. Mozna wrzucić funkcje llSetPos w pętle, aby obiekt małymi kroczkami dochodził co celu.


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 15:50 
Dołączenie:
Lipiec 2008
Posty: 3307
nick w SL: MaxJames Chemistry
vector wspolrzedna = llGetPos();

wspolrzedna.z += 1;


Powyższe to pobranie aktualnej pozycji, a następnie zmiana ostatniego parametru naszego wektora o jeden w górę. W efekcie pozycja w tejże zmiennej spowoduje, że po użyciu np. poniższej linijki:

llSetPos(wspolrzedna);

nasz obiekt poleci o metr do góry od swojej aktualnej pozycji, w której sie znajdował w momencie pobierania wektora położenia.


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 17:29 
Awatar użytkownika
Dołączenie:
Sierpień 2009
Posty: 318
nick w SL: Dex Euromat
Po pierwsze:
Przestało działać, bo zamknąłeś program zaraz po TargetOmega.
Wywal:
}
{
Powinno ruszyć.

Po drugie:
Czekasz na osobne skrypty?
Wybacz, ale staramy się nakierować na własciwe tory, a nie podawać wszystkiego na tacy.

Po za tym już masz te dwa skrypty, a i nie mówiłeś wcześniej że chcesz "płynnego ruchu".


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 20:05 
Dołączenie:
Czerwiec 2011
Posty: 10
poczekaj napisał(a):
Płynny ruch zapewnia funkcja llMoveToTarget: http://wiki.secondlife.com/wiki/LlMoveToTarget
llMoveToTarget( vector target, float tau );


sam nie wiem np jak zrobię sześcian i użyję tego skryptu to ten kwadrat się do mnie przykleja bawiłem się zmienianiem zer w inne wartości i wychodziły z tego rożne efekty ale i tak ten sześcian nie chciał lewitować miałem ochotę się już podać ale zobaczyłem ze ktoś w SL ma balonik i właśnie tego efektu szukam czyli żeby obiekt unosił się "płynie" w górę i w duł "jak balonik" ale zarazem żeby tez nie był do mnie przyklejony :( macie skrypt na taki balonik bo jak nie to się poddaje


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 20:53 
Administrator
Awatar użytkownika
Dołączenie:
Kwiecień 2007
Posty: 6356
nick w SL: Madelaine Sautereau
Nic nie rozumiem. Nie, nie dlatego, że nie znam się na skryptach.

Proszę o wykazanie minimum dobrej woli i używanie przynajmniej dwóch znaków interpunkcyjnych na zdanie.


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 20:53 
Dołączenie:
Lipiec 2008
Posty: 3307
nick w SL: MaxJames Chemistry
Wpadł mi do głowy skrypt... a raczej jego zastosowanie - poszukaj skryptu na windę. Lekka modyfikacja jego sterowania i masz łagodne unoszenie się i opadanie.

A z tym przyklejaniem się to nie kumam, ale to szczegół.


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 21:24 
Dołączenie:
Czerwiec 2011
Posty: 10
ok dzięki za pomoc zniechęciłem się do skryptowa i SL tez bo mam za słaby net na niego wszytko jest szare i bez textur :( dzięki za rady i pomoc (a najbardziej chcę podziękować Madelaine za jej zbędny komentarz specjalnie dla ciebie kropki i przecinki ,.,.,.,.,.,., :P ) poszukam/wypróbuję skrypt na windę jak mi się sytuacja z netem poprawi :(


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 21:27 
Moderator
Awatar użytkownika
Dołączenie:
Grudzień 2008
Posty: 3210
nick w SL: Nemesis Igaly
Podwójny fail. Z języka skryptowego i języka polskiego. Może powinieneś przerzucić się coś prostszego? :mrgreen:


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 21:40 
Administrator
Awatar użytkownika
Dołączenie:
Kwiecień 2007
Posty: 6356
nick w SL: Madelaine Sautereau
unreeal napisał(a):
najbardziej chcę podziękować Madelaine za jej zbędny komentarz specjalnie dla ciebie kropki i przecinki ,.,.,.,.,.,.,

To nie był "zbędny komentarz" tylko uwaga moderatora. Moderatora na tyle łaskawego, że taką uwagę poczynił, zamiast skasować ten nieskładny potok słów.


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 21:52 
Dołączenie:
Czerwiec 2011
Posty: 10
te uwagi nie są z byt miłe ale nie będę tu śmiecić wiec można zamknąć posta albo go wyrzucić całego albo połowę do kosza (mam nadzieje ze było wam do śmiechu bo mnie nie papa)


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 21:54 
Moderator
Awatar użytkownika
Dołączenie:
Grudzień 2008
Posty: 3210
nick w SL: Nemesis Igaly
unreeal napisał(a):
te uwagi nie są z byt miłe ale nie będę tu śmiecić wiec można zamknąć posta albo go wyrzucić całego albo połowę do kosza (mam nadzieje ze było wam do śmiechu bo mnie nie papa)

Te uwagi nie są zbyt miłe, ale nie będę tu śmiecić, więc można zamknąć posta (chyba wątek) albo go wyrzucić całego. Albo połowę do kosza (mam nadzieję, że było wam do śmiechu, bo mnie nie, papa)...
Dysleksja? To chyba zbyt często dziś nadużywany termin...


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 21:58 
Dołączenie:
Październik 2010
Posty: 595
Miłe czy nie, prośba o przestrzeganie zasad języka polskiego jest zasadna. Nie ma co się irytować tylko należy sobie przypomnieć zasady i je stosować. Niestety z LSL jest podobnie. Tylko tam będą uwagi wyskakiwały podczas kompilacji. ;)
Nawet będąc offline możesz studiować LSL z wiki. Są chyba również kompilatory, które można używać poza SL.
Aby się czegoś nauczyć trzeba umieć słuchać rad, nawet jak się średnio podobają.


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 22:04 
Administrator
Awatar użytkownika
Dołączenie:
Kwiecień 2007
Posty: 6356
nick w SL: Madelaine Sautereau
unreeal napisał(a):
macie skrypt na taki balonik

unreeal napisał(a):
poraz kolejny proszę o skrypt bez komentarzy i z rotacją

unreeal napisał(a):
mógłbyś zrobić to w wersji takiej od razu do wklejenia ?

Id, jesteś pewna, że chodziło o to, żeby się czegoś nauczyć? 8)


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 22:07 
Dołączenie:
Czerwiec 2011
Posty: 10
Ludzie zastanówcie się co jest gorsze nie postawienie paru przecinków czy śmiecenie na forum admin miał racje ze mnie upominał ale wy to już sobie z tego robicie polewkę i tylko śmiecicie to forum. na Forum powinno się odpowiadać na temat wiec przestańcie cytować i poprawiać mnie bo jaki to ma sens ? THE END


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 22:09 
Dołączenie:
Październik 2010
Posty: 595
Sama dużo pytam jeśli chodzi o skrypty w grupach skrypterów oraz cierpliwych znajomych. Na początku osoby, które mają średni kontakt z programowaniem uczą się z istniejących już skryptów. I tak później trzeba je dostosować. Dlatego nie robie nikomu uwag z tego powodu. ;)

Unreeal wybacz ale nie przestane czegoś robić tylko dlatego, że powiesz "The end". Nie wykazujesz elementarnej chęci czytania ze zrozumieniem tego co do Ciebie się pisze. Używaj języka polskiego. Jeśli masz z tym problemy mogę doradzić odpowiednie podręczniki.

Edit

Poprawa nicka. 2 razy. Mało poprawny angielski, więc się meczę.


Ostatnio edytowany przez Identity Euler 10 Cze 2011, 22:12, edytowano w sumie 3 razy

Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 22:10 
Moderator
Awatar użytkownika
Dołączenie:
Grudzień 2008
Posty: 3210
nick w SL: Nemesis Igaly
Może się czegoś nauczysz dzięki temu. Ale z postawy wnioskuję, że jednak nie bardzo. To nie była polewka tylko demonstracja jak powinien wyglądać taki post. Nie jestem mistrzynią języka polskiego, ale przynajmniej staram się pisać poprawnie. Ot i tyle.


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 22:15 
Dołączenie:
Czerwiec 2011
Posty: 10
ale trzeba mieć tez i trochę empatii i zrozumieć ze mi jest przykro i smutno przeto co piszecie


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 22:20 
Dołączenie:
Październik 2010
Posty: 595
Nie ma powodu być smutno. Na początku zdania stawiamy dużą literę a na końcu kropkę. Tylko tyle. Nie ma potrzeby mieszać do tego emocji.

Tu jest informacja o alternatywnych edytorach LSL:
http://wiki.secondlife.com/wiki/LSL_Alternate_Editors


Profil E-mail Offline
Nie podano
PostWysłany: 10 Cze 2011, 22:50 
Dołączenie:
Lipiec 2008
Posty: 3307
nick w SL: MaxJames Chemistry
Dorzucę swoich kilka słów wręcz pół offtopowych:

Dzięki temu tematowi sam już wiem, od której strony tego typu skrypt ugryźć. być może w przyszłości tę wiedzę wykorzystam.


Profil E-mail Offline
Nie podano
PostWysłany: 11 Cze 2011, 09:53 
Awatar użytkownika
Dołączenie:
Sierpień 2009
Posty: 318
nick w SL: Dex Euromat
Skrypt bez komentarzy = skrypt, w którym nie wiadomo o co chodzi.

Komentarze są potrzebne by zrozumieć (nauczyć się) za co dana funkcja jest odpowiedzialna.
Z gotowych rozwiązań niewiele się nauczysz - ot po prostu KWZ - Kopiuj, Wklej, Zapomnij. Dopiero jak Cię ktoś zapyta, jak ten skrypt dokładnie działa, będziesz próbował taki skrypt zrozumieć.

Oprócz LSL Wiki, są jeszcze poradniki inWorld - wykonane w formie tablic i primów ze skryptami przykładowymi.

Skrypt przykładowy - pokazuje w jaki sposób można podejść do problemu, następnie zestawia się go z wytyczonymi celami. Jeśli nie działa w sposób zadowalający - szukamy pomocnych rozwiązań.

Owszem, ta droga jest dłuższa, ale lepsza pod tym względem, że w pewnym momencie dysponujemy własną dokumentacją i wiemy co może się zepsuć oraz jak to naprawić.

Rozwiązanie problemu lewitacji jakie podałem - jest przykładem - Skrypt został przetworzony z innego przykładu udostępnionego inWorld na simie z poradnikami LSL.


Profil E-mail Offline
Nie podano
PostWysłany: 13 Cze 2011, 19:48 
Dołączenie:
Czerwiec 2011
Posty: 10
znalazłem jakiś skrypt na windę , i było ogólnie wszytko ok , ale kiedy go modyfikowałem aby osiągnąć efekt automatycznego unoszenia się i opadania obiektu wszytko się popsuło i postanowiłem się z tym przespać. Na drugi dzień już nic nie działało , usunąłem wszytko :((. Dala czego tak ciężko jest zrobić zęby się głupi kwadracik płynie i automatycznie podnosił się i opadał w osi Z, albo przesuwał w osi X/Y:(( jak tłok w samochodzie "ruch posuwisto-zwrotny" HELP ME !


Profil E-mail Offline
Nie podano
PostWysłany: 13 Cze 2011, 21:34 
Dołączenie:
Październik 2010
Posty: 595
Spróbuj pobawić się Scratch ale nie wiem czy uda Ci się osiągnąć dokładnie to co chcesz: http://web.mit.edu/~eric_r/Public/S4SL/


Profil E-mail Offline
Nie podano
PostWysłany: 14 Cze 2011, 09:56 
Dołączenie:
Czerwiec 2011
Posty: 10
"Scratch" nawet fajne to jest, jak narzazie testuje . Dam znać czy mi się udało osiągnąć pożądany efekt . Jest więcej programów tego typu ?

EDIT: niestety nie ale program fajny :( / :)


Profil E-mail Offline
Nie podano
PostWysłany: 25 Cze 2011, 14:39 
Awatar użytkownika
Dołączenie:
Grudzień 2009
Posty: 224
nick w SL: Kuleer Kanto
Pozwolicie że się wtrące :P

Chciałem użyć tego skryptu:

DexterianG napisał(a):
Tu jak wygląda cały skrypcik z komentarzami:
Cytuj:
// deklaracja parametrów
integer second;
vector startPosition;

default
{
state_entry()
{
// Zaczytanie aktualnej pozycji (po zrezowaniu)
startPosition = llGetPos();
// Co ile sekund ma obiekt zmieniać pozycję
llSetTimerEvent( 2 );
}

timer() // Zegar
{
second++;
// Deklaracja nowej zmiennej przesunięcia w osi (może sie zmieniać w górę i w dół)
float Z_dis = llFrand( 0.1 );
// Przypisanie zmiennej do wektora
vector displacement = < 0, 0, Z_dis >;
// Wykonanie dodawania wektorów pozycji startowej i przesunięcia
vector newPosition = startPosition + displacement;

// Repozycjonowanie - wynik dodawania
llSetPos( newPosition );
}
}


Chciałbym zrobić strzałkę wskazującą mały obiekt leżący na ziemi. Wrzuciłam do niej ten właśnie skrypt. Pozmieniałem sobie czas zmiany pozycji i tą linijkę:
float Z_dis = llFrand( 0.1 ); , z wartości 0.1 na 0.9.
Zmieniło mi to wysokość obiektu. Wszystko jest ok, ale zmiany pozycji obiektu występują w losowej kolejności. Chciałbym aby działał w ten sposób:
Ustawiam obiekt na pewnej wysokości, obiekt wykonuje jakieś 3,4 skoki w dół o 0.5 metra od poprzedniej pozycji.
Po dojściu do ostatniej pozycji strzałka miała by wrócić na początkową pozycję i ruch wykonywać od początku. Dało by to efekt poruszającej się strzałki. Czy można do tego skryptu dodać jakąś linijkę czy skrypt będzie wyglądał zupełnie inaczej?


Profil E-mail Offline
Nie podano
PostWysłany: 25 Cze 2011, 15:21 
Dołączenie:
Lipiec 2008
Posty: 3307
nick w SL: MaxJames Chemistry
Da się.

W jednej zmiennej przetrzymuj wartość wysokości, a drugą zmienną odpowiednio modyfikuj. Kiedy te kilka korków pójdzie do góry, wtedy wczytuj wartość podstawową (pierwsza zmienna). I tutaj mamy do dyspozycji np. warunek if oraz można użyć pętli for.

Teraz zadanie dla Ciebie: odpowiednio wykonaj fragment skryptu.


Profil E-mail Offline
Nie podano
PostWysłany: 25 Cze 2011, 15:26 
Awatar użytkownika
Dołączenie:
Kwiecień 2011
Posty: 95
Za losowość odpowiada ten fragment kodu:

float Z_dis = llFrand( 0.1 );

Tak jak napisał powyżej Projekt wystarczy lekko zmodyfikować fragment skryptu.


Profil E-mail Offline
Nie podano
PostWysłany: 25 Cze 2011, 16:22 
Awatar użytkownika
Dołączenie:
Grudzień 2009
Posty: 224
nick w SL: Kuleer Kanto
projekt napisał(a):

W jednej zmiennej przetrzymuj wartość wysokości, a drugą zmienną odpowiednio modyfikuj. Kiedy te kilka korków pójdzie do góry, wtedy wczytuj wartość podstawową (pierwsza zmienna). I tutaj mamy do dyspozycji np. warunek if oraz można użyć pętli for.

:shock: Dzięki. Mamy weekend to mogę posiedzieć. Dam znać czy się udało


Profil E-mail Offline

Wyświetl posty z poprzednich:  Sortuj według  

Odpowiedz



Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 2 gości

Panel
Góra
Skocz do:  
cron
SecondLife.pl designed by CvX! Powered by phpBB © phpBB Group - tłumaczenie
SecondLife.pl nie jest oficjalną stroną Second Life. SecondLife.pl is an unofficial Second Life website. SecondLife, SL logo and Second Life related graphics are trademarks of Linden Lab.

Entropia Universe , Planet Calypso