Projekt bez nazwy

Tworzysz grę i chcesz się poszczycić postępami lub zasięgnąć opinii o niej? Pisz śmiało
Awatar użytkownika
lukaszfito
Posty: 140
Rejestracja: 28 gru 2013, 1:37
Lokalizacja: Gdańsk
Kontaktowanie:

Re: Projekt bez nazwy

Postautor: lukaszfito » 21 cze 2014, 17:13

W innym poradniku masz trochę wytłumaczone, na końcu "Jak zrobić Soft Shadows":
http://troman.pl/news/skybox-amp-sun-am ... enie-_ID57
I w komentarzach małą dyskusję o cieniach ;)

Edit: Wystarczy, że pobawisz się biasami, zrozumiesz który co robi. Zauważ tylko, że najważniejszy jest jednak kąt padania światłocienia, czyli obroty obiektu lampy.
Ostatnio zmieniony 21 cze 2014, 17:54 przez lukaszfito, łącznie zmieniany 1 raz.

Awatar użytkownika
Woobuz
Posty: 270
Rejestracja: 16 wrz 2012, 12:47
Lokalizacja: Bielsko Biała
Kontaktowanie:

Re: Projekt bez nazwy

Postautor: Woobuz » 21 cze 2014, 17:50

Niestety nadal występuje ten sam błąd :cry:

W sumie po zmianie kilku rzeczy według poradnika, te vertexy stały się jeszcze bardziej widoczne :|
"Bo w każdym z nas jest Chaos i Ład, Dobro i Zło. Ale nad tym można i trzeba zapanować. Trzeba się tego nauczyć."

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

Re: Projekt bez nazwy

Postautor: lukaszfito » 21 cze 2014, 18:23

Pewnie nie przestawiłeś na Variance, zwiększ pierwszy Bias - powinno być lepiej. Na prawdę wystarczy troszkę się pobawić ustawieniami. Sprawdź też jak wygląda gra z inną rozdzielczością cienia. Albo usuń cień ze słońca i dodać latarkę (spot), która rzuca tylko cień (tam masz więcej ustawień) możesz nawet mieć kilka cieni z różnymi ustawieniami, a wtedy słońce możesz zamienić na point, albo hemi (jak zrobisz coś oryginalnego, to na pewno wszystkim zapadnie w pamięć :D a to lepiej dla gry).

Awatar użytkownika
Woobuz
Posty: 270
Rejestracja: 16 wrz 2012, 12:47
Lokalizacja: Bielsko Biała
Kontaktowanie:

Re: Projekt bez nazwy

Postautor: Woobuz » 22 cze 2014, 15:31

Dobra, po kilku próbach udało mi się jakoś zredukować te błędy. Teraz chciałbym wrócić do pracy kamery. Chciałbym ograniczyć obrót w górę i w dół, mniej więcej tak, jak to wygląda w Gothicu - po pierwsze dlatego, iż ładnie to wygląda, a po drugie jest znacznie wygodniej. Czy da się jakimś krótkim skryptem ograniczyć pracę kamery względem danej osi?

Link do pliku:

http://hostuje.net/file.php?id=cf5d9d5420dd4e489a0add0bbd1927a7
"Bo w każdym z nas jest Chaos i Ład, Dobro i Zło. Ale nad tym można i trzeba zapanować. Trzeba się tego nauczyć."

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

Re: Projekt bez nazwy

Postautor: lukaszfito » 23 cze 2014, 12:07

Nie pokazałeś poprawionego kodu, więc musi wystarczyć poprzedni ;) Prosiłeś o coś prostego, więc proszę:

Kod: Zaznacz cały

x = (h1 - x)*s

# worldOrientation to macierz 3x3, ale dzięki to_euler() zostaje zmieniona na 3 wartości obrotu obiektu ( x, y, z ) - tutaj pobraliśmy tylko oś "x"

wo = p.worldOrientation.to_euler()[0]

# kąt/obrót jest podany w radianach, więc operujemy na wartościach od -3.1415 do 3.1415

# granica patrzenia od góry ( przy zmianie kąta musisz zwiększyć/zmniejszyć obie wartości -1.57 )

if wo < -1.57 : x = -1.57 - wo + 0.1

# granica patrzenia od spodu ( w tym wypadku patrzenia na plecy )

elif wo > 0.0 : x = 0.0 - wo - 0.1

p.applyRotation( [ 0.0, 0.0, x ], False )

To działa tak, że jeśli kąt jest większy niż powinien, to zmienia "x" tak, by kamera obróciła się do wartości maksymalnej (czyli granicy).

Obraz będzie drżeć na granicach, ale wystarczy, że zaznaczysz na kamerze "slow parent" i ustawić na jakieś 20.

Musisz zastosować to do swojego poprawionego kodu. Możliwe, że używasz innych osi, więc będziesz musiał pokombinować z osiami i wartościami, ale metodą prób i błędów da się wszystko ustawić.

Ten sposób jest bardzo prosty, ale potrafi się bugować (przez to, że postać dodatkowo się obraca na boki i korzystasz z applyRotation a nie bezwzględnych przekształceń macierzy).

Żeby to napisać w tak krótkiej formie, musiałem sięgnąć do jednego ze swoich niezobowiązujących projektów, nagrałem przy okazji filmik, więc możesz zobaczyć, że to działa :D : http://youtu.be/4llqfjEYHYw

Są lepsze sposoby na ograniczenie kąta, ale wymagają więcej pracy. Można na przykład sprawdzać jaki kąt będzie miała kamera po użyciu applyRotation i ucinać daną wartość przed rzeczywistym wykorzystaniem tej funkcji. Wtedy kamera nie drga na krawędziach, ale ta metoda też nie jest wolna od błędów.

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

Re: Projekt bez nazwy

Postautor: lukaszfito » 14 lip 2014, 9:05

Na pewno poniższy link Cię zaciekawi :D Do następnej wersji Blendera (2.72) zostanie dodany "mouse look" w kostce logiki i będzie można ustawić w nim ograniczenia ruchu kamery. Od teraz nie będzie trzeba bawić się Pythonem, by ruszać kamerą przy pomocy myszki :lol:

http://wiki.blender.org/index.php/Dev:R ... evelopment

Awatar użytkownika
Woobuz
Posty: 270
Rejestracja: 16 wrz 2012, 12:47
Lokalizacja: Bielsko Biała
Kontaktowanie:

Re: Projekt bez nazwy

Postautor: Woobuz » 14 lip 2014, 14:35

Świetnie :)

A kiedy nowy Blender się pojawi? :P
"Bo w każdym z nas jest Chaos i Ład, Dobro i Zło. Ale nad tym można i trzeba zapanować. Trzeba się tego nauczyć."

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

Re: Projekt bez nazwy

Postautor: lukaszfito » 14 lip 2014, 15:21

Tutaj niby mają swój plan:
http://wiki.blender.org/index.php/Dev:Doc/Projects

Jeśli dobrze pamiętam, to BCon z 6. lipca przesunęli o tydzień z powodów świątecznych. A wygląda na to, że dobrze pamiętam, bo dziś pojawiła się informacja o wczorajszym spotkaniu:
http://www.blendernation.com/2014/07/14 ... y-13-2014/

Ten plan to tylko szkic, więc testbuild może być szybciej niż w następnym miesiącu ;)


Wróć do „Gry w trakcie realizacji”

Kto jest online

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