Skocz do zawartości

Jak to zrobic?  

10 użytkowników zagłosowało

  1. 1. Jak to zrobic?

    • Nie da sie tego zrobic.
    • RTFM
    • W Mayi to nie problem.
    • Poszukaj skryptu.
    • Kiedys to robilem ale nie pamietam jak.


Rekomendowane odpowiedzi

Napisano

Witam,

 

 

Proste pytanie...

Mam partykle (shape instance) emitowane z powierzchni, nieruchome. Potrzebuje by wszystkie ustawialy sie wg osi Z "patrzac" w jeden punkt - nie w kamere - tak jak z zastosowaniem LookAt Constrain.

 

 

Przy okazji ankieta dla jaj :)

 

Z gory dzieki

Pozdrawiam

  • Odpowiedzi 8
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Napisano

W PFSource opcja Shape facing. A jeśli particle w konkretnym kształcie, to dołóż Shape Instance. Wybierasz obiekt i w Shape facing masz look at, także można animować i się particle obracają :)

Napisano

Dzieki ale tam sie nie da zrobic LookAt tylko dla jednej osi. Przynajmniej ja nie widze takiej mozliwosci.

 

 

 

W PFSource opcja Shape facing. A jeśli particle w konkretnym kształcie, to dołóż Shape Instance. Wybierasz obiekt i w Shape facing masz look at, także można animować i się particle obracają :)
Napisano

Dzieki. To oczywiscie dziala kiedy instancje sa rozmieszczone na plaskim obiekcie i "patrza" na obiekt na tej samej wysokosci.

Sprawa sie komplikuje kiedy mamy do czynienia np. ze zboczem gory. Obiekty stojace na nim dalej musza stac prosto (pionowo) ale zwracac sie wszystkie w jedna strone.

Napisano
Dzieki. To oczywiscie dziala kiedy instancje sa rozmieszczone na plaskim obiekcie i "patrza" na obiekt na tej samej wysokosci.

Sprawa sie komplikuje kiedy mamy do czynienia np. ze zboczem gory. Obiekty stojace na nim dalej musza stac prosto (pionowo) ale zwracac sie wszystkie w jedna strone.

 

No to zaznaczasz wtedy Use parralel direction i pivotem obiektu źródłowego ustawiasz, żeby particle były prosto. Potem o ile nie poruszasz celem look`a w osi Z, to się będzie wszystko obracało.

 

[ATTACH=CONFIG]86378[/ATTACH]

 

A jeśli chcesz poruszać obiektem również w osi Z, ale żeby particle nie reagowały na nią, to jedyne, co mi przychodzi do głowy, to dać 2 obiekty, jeden, który widzi kamera - porusza się jak chcesz, a drugi (dummy - nierenderowalny), na który patrzą cząsteczki porusza się tak samo, tylko w osiach X i Y, możesz mu zablokować ruch po Z. Ten drugi obiekt możesz zlinkować z pierwszym, ale po zablokowaniu mu możliwości ruchu (Hierarchy -> Link Info) będzie odczytywać tylko 2 osie. No musi zadziałać :) Powodzenia

Napisano

Teoretycznie script operator powinien Ci załatwić tę sprawę i coś takiego robiłoby to o co Ci chodzi:

 

on ChannelsUsed pCont do
(
    pCont.usePosition = true
    pCont.useTM = true
)

on Init pCont do 
(

)

on Proceed pCont do 
(
   count = pCont.NumParticles()

   for i in 1 to count do
   (
       pCont.particleIndex = i
       aimDir = $Dummy001.position - pCont.particlePosition
       aimDir = [aimDir.x, aimDir.y, 0]
       pCont.particleTM = translate (matrixFromNormal (normalize aimDir)) pCont.particlePosition
   )
)

on Release pCont do 
(

)

 

Gdzie Dummy001 to jest jakiś dummy obiekt na którego się gapią Twoje particle. Jest jakiś chyba glitch w metodzie matrixFromNormal bo nie mogę zdefiniować mu wektora do góry przez co powstają przeskoki - może ktoś ma pomysł jak to załatwić?

 

ps. PFlow należy omijać wielkim łukiem :)

ps2. To mój 666 satanistyczny post :D

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się



×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności