﻿1
00:00:04,410 --> 00:00:05,280
‫Cześć i witaj.

2
00:00:05,280 --> 00:00:11,190
‫Na tym wykładzie nauczymy się o śledzeniu linii i przemiataniu sferą, które pomogą nam

3
00:00:11,190 --> 00:00:15,210
‫w wysyłaniu zapytań do świata z naszego kodu.

4
00:00:15,510 --> 00:00:22,140
‫Zamierzamy również skonfigurować kanał kolizji, aby obiekty odpowiadały na gramatykę lub nie odpowiadały

5
00:00:22,140 --> 00:00:23,670
‫na gramatykę.

6
00:00:23,820 --> 00:00:25,680
‫Zanurzmy się i zobaczmy, jak to działa.

7
00:00:26,680 --> 00:00:29,910
‫Więc jeśli chodzi o nasz kod, jest on dość ślepy.

8
00:00:29,920 --> 00:00:37,180
‫Nie może powiedzieć, na co teraz patrzę, i nie może powiedzieć, czy próbuję podnieść gargulca,

9
00:00:37,420 --> 00:00:41,020
‫czy może próbuję podnieść coś zupełnie innego.

10
00:00:41,320 --> 00:00:46,160
‫Jeśli chodzi o kod, to stoi w ciemnym jak smoła pokoju i nic nie widzi.

11
00:00:46,690 --> 00:00:51,730
‫Jak więc rozwiązać problem odgadywania z kodu, co tam jest?

12
00:00:51,760 --> 00:00:58,720
‫Cóż, w zasadzie musimy włączyć latarkę ze światłami drogowymi i spojrzeć w określonym kierunku, aby zobaczyć,

13
00:00:58,720 --> 00:01:00,100
‫co tam jest.

14
00:01:00,100 --> 00:01:02,680
‫Zasadniczo błysk światła w ciemnej scenie.

15
00:01:02,710 --> 00:01:05,290
‫Więc wyobraź sobie ukrytą w ciemnej scenie.

16
00:01:05,620 --> 00:01:07,360
‫Mamy tutaj te kształty.

17
00:01:07,720 --> 00:01:11,260
‫Co możemy zrobić, to wziąć punkt początkowy i punkt końcowy.

18
00:01:11,260 --> 00:01:20,050
‫Zmysłowo prześledź linię od początku do końca i zobacz, z czym ta linia się pokrywa.

19
00:01:20,050 --> 00:01:22,210
‫To tak zwany ślad liniowy.

20
00:01:22,750 --> 00:01:28,660
‫Więc kiedy wykonujesz śledzenie linii, zasadniczo możesz uzyskać wynik, czyli wszystkie obiekty, z którymi przecinała

21
00:01:28,660 --> 00:01:31,750
‫się linia na swojej drodze do końca.

22
00:01:32,410 --> 00:01:37,810
‫Albo możesz po prostu pobrać pierwszy trafiony obiekt i ma pewne optymalizacje, które oznaczają, że jeśli

23
00:01:37,810 --> 00:01:41,020
‫trafi w obiekt, w rzeczywistości nie wykonuje całego śledzenia.

24
00:01:41,260 --> 00:01:48,490
‫Tak więc często robimy takie rzeczy, jak strzelanie z broni w strzelankach pierwszoosobowych lub nawet to, co

25
00:01:48,490 --> 00:01:50,230
‫robimy tutaj, zbierając przedmioty.

26
00:01:50,830 --> 00:01:56,230
‫Istnieje jednak alternatywa dla śledzenia linii, ponieważ śledzenie linii może oznaczać, że musimy

27
00:01:56,230 --> 00:01:57,700
‫być niezwykle dokładni.

28
00:01:57,700 --> 00:02:01,960
‫Jeśli zrobimy obiekt o kilka milimetrów, taki jak ta kula, nie zostanie on wychwycony.

29
00:02:02,440 --> 00:02:08,220
‫Tak więc alternatywą jest ślad kształtu, a czasem bardziej szczegółowo znany jako ślad kuli.

30
00:02:08,230 --> 00:02:14,560
‫Jeśli to jest kształt, którego używamy lub bardziej ogólnie, jest on znany w kodzie jako ślad geometryczny.

31
00:02:14,860 --> 00:02:22,690
‫To, co tutaj robimy, to bierzemy sferę zaczynając od naszego punktu początkowego i jak sugerujemy, śledzimy

32
00:02:22,690 --> 00:02:25,240
‫ją, właściwie ją przeczesujemy.

33
00:02:25,420 --> 00:02:28,660
‫Przemierzamy kulę przez świat do punktów końcowych.

34
00:02:28,660 --> 00:02:34,870
‫A jeśli przecina się z czymkolwiek po drodze, to jest coś, na co trafi ślad.

35
00:02:35,020 --> 00:02:42,700
‫Na przykład nałożymy się tutaj na ten trójkąt i sferę, ponieważ rozszerzyliśmy

36
00:02:42,700 --> 00:02:44,920
‫promień przestrzeni poszukiwań.

37
00:02:45,310 --> 00:02:52,390
‫Teraz jest jeszcze jedna dodatkowa rzecz, którą możemy dodać do naszych śladów, aby ignorowały pewne kształty w

38
00:02:52,390 --> 00:02:52,960
‫scenie.

39
00:02:52,960 --> 00:02:57,760
‫Ponieważ, na przykład, wiemy, że nie możemy chwycić tej ściany i być może

40
00:02:57,760 --> 00:03:02,590
‫chcemy móc chwycić coś przez kraty, nawet jeśli uderzamy w kraty, gdy to robimy.

41
00:03:03,070 --> 00:03:06,580
‫Cóż, sposobem na to jest użycie czegoś zwanego kanałem śledzenia.

42
00:03:06,580 --> 00:03:14,710
‫A to zasadniczo tworzy listę obiektów, które mogą zareagować na ślad, a inni mogą chcieć

43
00:03:14,710 --> 00:03:16,660
‫go całkowicie zignorować.

44
00:03:17,470 --> 00:03:25,480
‫Przyjrzyjmy się więc, jak ustawić nasz własny kanał śledzenia, abyśmy mogli odbierać obiekty z naszej sceny.

45
00:03:26,110 --> 00:03:29,980
‫Teraz miejsce, w którym można to zrobić, kończy się w ustawieniach ustawień projektu.

46
00:03:30,280 --> 00:03:35,080
‫Następnie przejdź do silnika i kolizji, ponieważ chodzi o kolizję obiektów.

47
00:03:35,530 --> 00:03:40,660
‫A tutaj widać, że mamy obiekty, kanały i mamy kanały śledzenia.

48
00:03:40,900 --> 00:03:46,810
‫Przyglądamy się w szczególności Trace Channel, ponieważ chcemy dowiedzieć się, jak

49
00:03:46,810 --> 00:03:50,290
‫powinniśmy odpowiedzieć na określony typ zapytania.

50
00:03:50,860 --> 00:04:00,220
‫Jeśli wrócimy do naszej sceny i klikniemy obiekt, a następnie przewiniemy w dół do obszaru zwanego Collision i jest tu

51
00:04:00,220 --> 00:04:07,510
‫kilka ustawień dotyczących tego, jak ten obiekt powinien reagować na inne obiekty pod względem kolizji z

52
00:04:07,510 --> 00:04:08,380
‫nimi.

53
00:04:08,770 --> 00:04:12,370
‫Więc jeśli pójdziemy w tej chwili, mamy domyślne ustawienie kolizji.

54
00:04:12,370 --> 00:04:16,840
‫Jeśli przyjrzymy się tutaj, jest tu wiele różnych predefiniowanych ustawień kolizji.

55
00:04:17,200 --> 00:04:23,950
‫Przejdźmy jednak do niestandardowego, abyśmy mogli zobaczyć, co faktycznie wiąże się z ustawieniami kolizji.

56
00:04:24,850 --> 00:04:30,190
‫Więc mamy typ obiektu, mamy typy zapytań, na które odpowiada, czyli zapytanie.

57
00:04:30,190 --> 00:04:34,600
‫W tym przypadku są to takie rzeczy jak ślady linii i kula, ślad i przeciągnięcia i tak dalej.

58
00:04:34,600 --> 00:04:35,710
‫A potem jest fizyka.

59
00:04:35,710 --> 00:04:39,130
‫To jest symulacja fizyki i tego, czy odbija się ona od innych obiektów.

60
00:04:39,850 --> 00:04:45,040
‫Ale niżej widać reakcje kolizyjne, które są podzielone na reakcje śladowe

61
00:04:45,040 --> 00:04:46,510
‫i reakcje obiektów.

62
00:04:46,840 --> 00:04:50,350
‫Więc to, co mówi, to niektóre z kanałów śledzenia, które są już wbudowane.

63
00:04:50,650 --> 00:04:52,630
‫Jest kanał śledzenia widoczności.

64
00:04:52,630 --> 00:04:54,760
‫To w zasadzie wszystkie widoczne obiekty.

65
00:04:55,090 --> 00:05:01,300
‫I jest kanał śledzenia kamery, który zasadniczo określa, czy kamera powinna przeniknąć przez ten obiekt,

66
00:05:01,300 --> 00:05:02,550
‫czy nie.

67
00:05:02,560 --> 00:05:04,000
‫Ale to nie jest zbyt ważne.

68
00:05:04,030 --> 00:05:08,380
‫Są to rodzaje kanałów, które posiadamy i możemy na nie reagować w różny sposób.

69
00:05:08,590 --> 00:05:11,300
‫Widać tutaj, że możemy mieć opcję blokowania.

70
00:05:11,300 --> 00:05:16,690
‫Istnieje nakładanie się, które jest opcją pośrednią i całkowicie ignoruje opcję.

71
00:05:16,930 --> 00:05:18,160
‫Więc to nas interesuje.

72
00:05:18,160 --> 00:05:23,000
‫Jesteśmy zainteresowani dodaniem nowego kanału odpowiedzi śledzenia w tym miejscu.

73
00:05:23,110 --> 00:05:24,730
‫Przejdźmy więc do naszych ustawień projektu.

74
00:05:24,730 --> 00:05:25,810
‫Przejdź do naszego kanału śledzenia.

75
00:05:26,670 --> 00:05:29,160
‫I kliknij Dodaj nowy kanał śledzenia.

76
00:05:29,610 --> 00:05:37,530
‫Następnie wejdziemy tutaj i nazwiemy to grabber i będziemy mogli wybrać, jak domyślnie obiekty będą odpowiadać na

77
00:05:37,530 --> 00:05:38,940
‫ten kanał.

78
00:05:38,940 --> 00:05:45,630
‫Chcę, aby domyślnie ignorował ten kanał, abyśmy musieli wyraźnie powiedzieć, że obiekt odpowiada na ten

79
00:05:45,630 --> 00:05:46,650
‫kanał śledzenia.

80
00:05:46,920 --> 00:05:48,330
‫Idę i klikam Akceptuj.

81
00:05:48,990 --> 00:05:50,550
‫Wróć do naszego lochu.

82
00:05:50,850 --> 00:05:54,810
‫I widać, że w rzeczywistości nie pokazujemy jeszcze nowej odpowiedzi śledzenia.

83
00:05:54,840 --> 00:06:01,210
‫Więc to, co zamierzamy zrobić, to zamknąć edytor, zapisać scenę i ponownie uruchomić z pliku projektu.

84
00:06:01,470 --> 00:06:06,750
‫Więc kiedy to zostanie uruchomione, wybierzmy ponownie tego gargulca i przejdźmy do naszych ustawień kolizji.

85
00:06:07,050 --> 00:06:12,450
‫I rzeczywiście, oto nasz nowy chwytak kanału odpowiedzi śledzenia, który dla gargulca chcemy, aby

86
00:06:12,450 --> 00:06:19,080
‫blokował w zasadzie, co oznacza, że zablokuje linię wzroku, a więc pojawi się albo w naszym przemiataniu

87
00:06:19,080 --> 00:06:21,810
‫kuli, albo w naszej linii namierzać.

88
00:06:22,110 --> 00:06:22,650
‫Świetna sprawa.

89
00:06:22,650 --> 00:06:27,600
‫Mam nadzieję, że teraz lepiej rozumiesz ślady linii i przeciągnięcia.

90
00:06:27,630 --> 00:06:29,370
‫Do zobaczenia na następnym wykładzie.

