ruchoma tekstura

Problemy z materiałami, teksturami i normal mapami w Blender Game Engine
Awatar użytkownika
pawianek
Posty: 61
Rejestracja: 03 sty 2013, 21:20

ruchoma tekstura

Postautor: pawianek » 24 sie 2014, 14:08

Czy wiek ktoś jak zrobić taką fajną rzeczkę z ruchomą teksturą jak w tym filmiku poniżej ? https://www.youtube.com/watch?v=vP90-0veewg
Jeśli zechcemy możemy stworzyć wiele wspaniałych i dobrych rzeczy :)

Awatar użytkownika
krasnoludek
Posty: 45
Rejestracja: 15 mar 2014, 17:21

Re: ruchoma tekstura

Postautor: krasnoludek » 24 sie 2014, 19:19

Sam sobie odpowiedziałeś pawianek :) tzn. animowaną teksturą, można też nodami, jak tutaj http://www.youtube.com/watch?v=8Fr21Z0stOk albo tak, jak tutaj http://vimeo.com/2685288

Awatar użytkownika
pawianek
Posty: 61
Rejestracja: 03 sty 2013, 21:20

Re: ruchoma tekstura

Postautor: pawianek » 24 sie 2014, 19:30

Dzięki Krasnoludek :) , też trochę poszukałem w tym temacie i znalazłem coś takiego https://www.youtube.com/watch?v=VD6ozj- ... cxrnjgZBsQ idealnie pasuje do tego co chcę zrobić. Jak zwykle Goran jest niezawodny ;)
Jeśli zechcemy możemy stworzyć wiele wspaniałych i dobrych rzeczy :)

Awatar użytkownika
lukaszfito
Posty: 140
Rejestracja: 28 gru 2013, 1:37
Lokalizacja: Gdańsk
Kontaktowanie:

Re: ruchoma tekstura

Postautor: lukaszfito » 24 sie 2014, 21:29

Ja bym uważał z funkcją setUV(), bo ma (a przynajmniej miała) wyciek pamięci do RAMu. Co oznacza, że ciągle dokładała kilka bajtów do pamięci i po przekroczeniu wartości maksymalnej RAMu program się crashował :(
Możliwe, że na innych systemach niż windows, nie ma takiego problemu. Jak zaczynałem pracę nad Red End, to miałem taki właśnie problem - animowałem niebo tą funkcją i z uwagi na to, że siatka UV nieba miała dużo vertsów, to pamięć napełniała się szybko a gra wyłączała się po 30 min rozgrywki (zawszę!).

Użyłem bardzo podobnej funkcji transformUV(), gdzie nie zauważyłem tego wycieku. Ta funkcja nawet jest prostsza, bo animację można zrobić jedną linijką, oto przykład (x i y to przesunięcie):

Kod: Zaznacz cały

bge.logic.getCurrentScene().objects["nazwa obiektu"].meshes[0].transformUV(0,[[1.0,0.0,0.0,x],[0.0,1.0,0.0,y],[0.0,0.0,0.0,0.0],[0.0,0.0,0.0,0.0]],0)

A oto opis funkcji:

Kod: Zaznacz cały

transformUV(matid, matrix, uv_index=-1, uv_index_from=-1)
Transforms the vertices UV’s of a mesh.

Parameters:   
matid (integer) – material index, -1 transforms all.
matrix (4x4 matrix [[float]]) – transformation matrix.
uv_index (integer) – optional uv index, -1 for all, otherwise 0 or 1.
uv_index_from (integer) – optional uv index to copy from, -1 to transform the current uv.

Awatar użytkownika
pawianek
Posty: 61
Rejestracja: 03 sty 2013, 21:20

Re: ruchoma tekstura

Postautor: pawianek » 25 sie 2014, 19:07

Dzięki za cenne rady Łukasz , zaraz zacznę testować tą funkcje, rzeczywiście wygląda lepiej a zanim ja bym się pokapował ze tamta zapycha pamięć to pewnie minęły by wieki a i tak nie wiadomo czy bym się kapną :>
Jeśli zechcemy możemy stworzyć wiele wspaniałych i dobrych rzeczy :)


Wróć do „Materiały i teksturowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 2 gości