xSebixx1 2 Opublikowano wczoraj o 19:52 Udostępnij Opublikowano wczoraj o 19:52 Chciałem, stworzyć kule bez srodka, ale jak używam loop blocks around, to zazwyczaj nie jest rowna wsensie ze po 1 stronie jest inna i po 2 inna ma któs na to jakis pomysl? Cytuj Odnośnik do komentarza https://skript.pl/temat/59131-pomoc-z-hollow-sphere/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1952 Opublikowano 9 godzin temu Udostępnij Opublikowano 9 godzin temu (edytowane) 16 godzin temu, xSebixx1 napisał: Chciałem, stworzyć kule bez srodka, ale jak używam loop blocks around, to zazwyczaj nie jest rowna wsensie ze po 1 stronie jest inna i po 2 inna ma któs na to jakis pomysl? Trzeba mieć na uwadze to, że wyrażenie `blocks around %location% in radius %number%` bierze pod uwagę wszystkie bloki, których środki są odległe o nie więcej niż zadany promień. W konsekwencji, jeśli zadana lokacja do zapętlania bloków nie leży w środku bloku, powstała sfera (czyli, jak to ująłeś, kula pusta w środku) nie będzie symetryczna. Jednym z możliwych rozwiązań jest wykorzystanie `location of block at %location%` jako środka sfery, którą chcesz utworzyć. Wtedy masz gwarancję symetrii. Inny sposób stworzenia sfery to wykorzystanie promienia wodzącego, który wskazuje miejsce utworzenia bloku. Tworzysz wektor o długości promienia sfery, którego yaw (obrót lewo/prawo) i pitch (obrót góra/dół) są modyfikowane z pewnym krokiem, dostosowanym do promienia sfery (im większy promień, tym mniejszy musi być krok, ponieważ powstaną dziury w powierzchni). Przykład implementacji takiego rozwiązania podałem poniżej. set {_r} to 5 set {_centerLoc} to location(100, 100, 100, "world") set {_rotationStep} to 10 set {_v} to vector(0, -{_r}, 0) loop ceil(180 / {_rotationStep}) times: loop ceil(360 / {_rotationStep}) times: set block at {_centerLoc} + {_v} to obsidian add {_rotationStep} to yaw of {_v} remove {_rotationStep} from pitch of {_v} Nie jest to optymalne rozwiązanie, ponieważ ustawia ono te same bloki wielokrotnie, szczególnie bliżej "spodu" i "szczytu" sfery. Dobrze napisany kod powinien brać to pod uwagę i modyfikować `yaw` ze zmiennym krokiem. Niemniej jednak, jest to i tak lepsze rozwiązanie niż zapętlanie wszystkich bloków, włącznie z tymi wewnątrz sfery. Mogłem także użyć wektorów sferycznych, ale uznałem składnię zwykłych wektorów za czytelniejszą. Pozdrawiam. Edytowane 9 godzin temu przez Kormic Zapomniałem, że pitch = 90 oznacza spoglądanie prosto w dół, dlatego należy zmniejszać pitch, aby wektor stopniowo się "podnosił". gnomq 1 Cytuj Odnośnik do komentarza https://skript.pl/temat/59131-pomoc-z-hollow-sphere/#findComment-347782 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Fendi 190 Opublikowano 8 godzin temu Udostępnij Opublikowano 8 godzin temu (edytowane) 17 godzin temu, xSebixx1 napisał: Chciałem, stworzyć kule bez srodka, ale jak używam loop blocks around, to zazwyczaj nie jest rowna wsensie ze po 1 stronie jest inna i po 2 inna ma któs na to jakis pomysl? ale używasz around w nawiązaniu od czego? bo twoja lokacja jezeli jest lekko krzywa to i kula bedzie krzywa dlatego najlepiej wez sobie around (location of block at player) bo blok krzywy nie bedzie Edytowane 8 godzin temu przez Fendi Cytuj Odnośnik do komentarza https://skript.pl/temat/59131-pomoc-z-hollow-sphere/#findComment-347783 Udostępnij na innych stronach Więcej opcji udostępniania...
0 xSebixx1 2 Opublikowano 4 godziny temu Autor Udostępnij Opublikowano 4 godziny temu 3 godziny temu, Fendi napisał: ale używasz around w nawiązaniu od czego? bo twoja lokacja jezeli jest lekko krzywa to i kula bedzie krzywa dlatego najlepiej wez sobie around (location of block at player) bo blok krzywy nie bedzie Uzywałem around loc of player, ale i tak zmienilem na przykład który dał kormic bo spełnia on moje oczekiwania Cytuj Odnośnik do komentarza https://skript.pl/temat/59131-pomoc-z-hollow-sphere/#findComment-347784 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Fendi 190 Opublikowano 52 minuty temu Udostępnij Opublikowano 52 minuty temu 3 godziny temu, xSebixx1 napisał: Uzywałem around loc of player, ale i tak zmienilem na przykład który dał kormic bo spełnia on moje oczekiwania może i działa, ale zamiast loc of player uzycie location of block at player jest duzo prostsze niz dodawanie dodatkowej matematyki chyba ze nie działa, to whatever Ale to raczej wina tego Bo loc of player moze dac kordy: 10.340, 30, 15.670 A loc of block at player da kordy: 10.5, 30. 15.5 Co będzie równe Cytuj Odnośnik do komentarza https://skript.pl/temat/59131-pomoc-z-hollow-sphere/#findComment-347785 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
xSebixx1 2
Chciałem, stworzyć kule bez srodka, ale jak używam loop blocks around, to zazwyczaj nie jest rowna wsensie ze po 1 stronie jest inna i po 2 inna ma któs na to jakis pomysl?
Odnośnik do komentarza
https://skript.pl/temat/59131-pomoc-z-hollow-sphere/Udostępnij na innych stronach
4 odpowiedzi na to pytanie
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.