Napisano 16 Sierpień 201212 l Mam problem ze skryptem, otóż utworzyłem sobie jakiś "teren", rzutowałem na niego splajna i teraz chciałbym wokół tego splajna, ale na terenie rozsypac powiedzmy cylindy skierowane w kierunku wektora normalnego face'a, na którym będzie siedział. Wydawałoby się, że wszystko działa jak należy: Problem pojawił się, gdy za pomocą narzędzia skalowania spłaszczyłem sobie teren wraz z leżącym na nim splajnem. Punkty wyznaczane są poprawnie, jednak kierunki wektorów normalnych nie: Wyznaczanie wektora kierunku cylindra jest z funkcji intersectRay(), która tworzy "ray", czyli punkt na terenie i wektor normalny, jednak jak widać niepoprawny w sytuacji, gdy skala terenu jest zmieniona. Wydawało mi się, że jeśli otrzymany wektor ray.direction podzielę przez wektor teren.scale powinienem dostać poprawny wektor normalny, jednak myliłem się i już nie mam pomysłu jak to rozwiązać. Proszę o pomoc
Napisano 16 Sierpień 201212 l No to: intersectRay()*scale.X*scale.Y*scale.Z i powinno działać :) Wytłumaczenie czemu tak zrobić będzie gorsze, bo nie jestem pewien a przychodzą mi do głowy 2. rzeczy: -intersectRay liczy normale zanim jest zmieniona skala -intersectRay jest liczy je dla poszczególnego modyfikatora a nie obiektu -przy skali zmieniły się normalne ale nie zmieniły się ich długość Edytowane 16 Sierpień 201212 l przez legomir
Napisano 16 Sierpień 201212 l No ale to by nie miało sensu bo skrypt ogólnie by w każdej takie sytuacji nie działał ;) A dodawanie nowego polecenia jest wolniejsze o pomnożenia przez zmienne globalne
Napisano 16 Sierpień 201212 l Autor ResetXForm pomogło, własnie tego szukałem, dzięki wielkie :) Chociaż do teraz nie wiem dlaczego dzielenie przez wektor skali nie działa poprawnie, z mnożeniem to już w ogóle beznadzieja - jeśli wypłaszczę teren, wektor skali będzie wyglądał mniej więcej tak [1,1,0.1], a cylindry mam położone na płasko, znaczy, żei wektor kierunku jest "zbyt mało w górę", przemnożenie przez wektor skali jeszcze bardziej go zmniejszy, a wydawałoby się że podzielenie załatwi sprawę... No cóż, ważne, że działa :)
Napisano 17 Sierpień 201212 l Eee... dobra za dużo się ostatnio naczytałem o tym wszystkim i mi się majta w te i we wte :P
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto