﻿1
00:00:04,400 --> 00:00:05,600
‫Hallo en welkom.

2
00:00:05,600 --> 00:00:11,420
‫In deze lezing gaan we foutopsporingslijnen in onze scènes tekenen, zodat we kunnen visualiseren wat een

3
00:00:11,420 --> 00:00:16,730
‫lijntracering doet of wat het zou moeten doen, en uitzoeken of onze waarden die

4
00:00:16,730 --> 00:00:18,320
‫we berekenen correct zijn.

5
00:00:18,470 --> 00:00:20,060
‫Laten we erin duiken en een kijkje nemen.

6
00:00:21,270 --> 00:00:28,200
‫Zoals we kunnen zien, vereist onze sweep multi by channel-functie een start- en een eindvector.

7
00:00:28,230 --> 00:00:33,300
‫Nu kan het een beetje moeilijk zijn om erachter te komen wat er met deze functies aan de hand is wanneer we ze

8
00:00:33,300 --> 00:00:33,780
‫daadwerkelijk gebruiken.

9
00:00:34,230 --> 00:00:39,840
‫Want als je het gaat gebruiken en je krijgt niet de resultaten die je verwacht, kun je jezelf

10
00:00:40,650 --> 00:00:43,320
‫soms afvragen: heb ik de juiste vraag gesteld?

11
00:00:43,320 --> 00:00:46,410
‫Heb ik wel de juiste begin- en eindvectoren ingestuurd?

12
00:00:46,890 --> 00:00:52,470
‫Om daar achter te komen, gebruiken we hier een andere functie, de draw debugger-lijn genaamd,

13
00:00:52,470 --> 00:00:59,040
‫zodat we zeker kunnen zien waar de begin- en eindvectoren zijn, eigenlijk door er een lijn tussen te

14
00:00:59,040 --> 00:00:59,700
‫tekenen.

15
00:00:59,970 --> 00:01:06,750
‫En aangezien dit precies het soort ding is dat door onze sweep zal worden gedaan, is dit een goede manier

16
00:01:06,750 --> 00:01:11,370
‫om in de eerste plaats te zien of we de juiste input hebben.

17
00:01:11,970 --> 00:01:17,460
‫Je kunt hier dus zien dat de draw debug-regel nogal wat argumenten vereist, maar

18
00:01:17,460 --> 00:01:18,390
‫niet allemaal.

19
00:01:19,110 --> 00:01:22,680
‫Alleen de eerste drie, vier of vijf.

20
00:01:23,010 --> 00:01:28,190
‫Dus het eerste dat binnenkomt, is een nieuwe wereld waarin we weten hoe we de wereld kunnen pakken.

21
00:01:28,200 --> 00:01:33,660
‫Nu hebben we het begin van de lijn, die in een vector is, we hebben een lijn en weer die een vector is, dan een F-kleur,

22
00:01:34,260 --> 00:01:37,980
‫iets wat we nog niet eerder zijn tegengekomen, maar je kunt klikken op om erachter te komen

23
00:01:37,980 --> 00:01:38,640
‫wat het is.

24
00:01:39,090 --> 00:01:46,350
‫En in wezen is het een soort effector die kleuren vertegenwoordigt en er zijn al een paar handige kleuren voor ons ingebouwd

25
00:01:46,350 --> 00:01:52,200
‫waarmee we gewoon kunnen zeggen: Hé, we willen ons zwart, we willen blauw, groen, wat dan ook.

26
00:01:52,200 --> 00:01:57,450
‫U kunt gewoon een kleurnaam gebruiken in plaats van de IGP-waarden op te geven.

27
00:01:57,750 --> 00:02:04,050
‫En dan zijn de laatste paar hier of we de aanhoudende lijnen hebben, die ons vertellen of de lijn blijft hangen

28
00:02:04,050 --> 00:02:08,760
‫of dat hij aan het einde van het frame verdwijnt, vertelt ons de levensduur.

29
00:02:08,760 --> 00:02:14,640
‫Dus hoeveel seconden blijft het hangen voor de diepteprioriteit en de dikte, die we geen van

30
00:02:14,640 --> 00:02:15,960
‫beide zullen gebruiken?

31
00:02:16,560 --> 00:02:21,780
‫Dus de andere nuttige informatie op deze documentatiepagina is de include.

32
00:02:21,780 --> 00:02:26,550
‫Dus je kunt hier zien om deze functie te gebruiken, we moeten het headerbestand gebruiken dat

33
00:02:26,550 --> 00:02:29,550
‫het declareert, wat de hash is inclusief draw debug-helpers.

34
00:02:29,850 --> 00:02:34,260
‫Dus laten we dat eerst doen, want dat zal ervoor zorgen dat automatisch aanvullen werkt in

35
00:02:34,260 --> 00:02:34,980
‫Visual Studio.

36
00:02:34,980 --> 00:02:39,870
‫Als u geen hoofd van bestanden hebt, weet Visual Studio eigenlijk niet hoe deze functies automatisch moeten

37
00:02:39,870 --> 00:02:40,590
‫worden voltooid.

38
00:02:41,010 --> 00:02:47,850
‫En ik ga in op een tick-component en ik ga ons logbericht verwijderen voor de tijd om beter

39
00:02:47,850 --> 00:02:48,930
‫te worden.

40
00:02:48,930 --> 00:02:51,300
‫We zullen eigenlijk al die tijd kwijtraken.

41
00:02:51,300 --> 00:02:52,530
‫En weet je wat?

42
00:02:52,530 --> 00:02:58,770
‫We gaan gewoon onze tick-functie leegmaken, alles na onze super dubbele punt, dubbele punt vink

43
00:02:58,770 --> 00:03:04,860
‫component die we gaan verwijderen en we gaan beginnen met de teken debugger regel.

44
00:03:04,860 --> 00:03:08,880
‫Teken dus een foutopsporingslijn en open vervolgens enkele haakjes.

45
00:03:09,120 --> 00:03:16,650
‫Hij raakt een controleruimte, dan kun je de parameters zien waar we het net over hadden en wat meer informatie

46
00:03:16,650 --> 00:03:19,890
‫die daar niet beschikbaar was, zoals hun standaardwaarden.

47
00:03:19,890 --> 00:03:24,150
‫Sommige hebben standaardwaarden, vooral na aanhoudende regels.

48
00:03:24,150 --> 00:03:25,500
‫U kunt de standaardwaarden false zien.

49
00:03:25,500 --> 00:03:31,410
‫Je hoeft dus eigenlijk geen argument op te geven als het een standaardwaarde heeft, maar je kunt zien dat

50
00:03:31,410 --> 00:03:33,030
‫de kleur geen standaardwaarde heeft.

51
00:03:33,030 --> 00:03:35,820
‫Dus we moeten tot dan toe alles aanleveren.

52
00:03:36,690 --> 00:03:39,120
‫Dus het eerste is de wereld weinig veel uitdaging.

53
00:03:39,120 --> 00:03:42,660
‫Hoe krijg je de wereld in handen en geef je ze door in de foutopsporingslijn.

54
00:03:44,020 --> 00:03:51,280
‫Je krijgt haakjes in de wereld, dus dan hebben we een begin en een einde nodig.

55
00:03:51,340 --> 00:03:56,260
‫Dus daarvoor ga ik twee variabelen maken net voordat ik de foutopsporingslijn teken en ik ga ze nog

56
00:03:56,260 --> 00:03:56,890
‫niet invullen.

57
00:03:56,890 --> 00:04:07,120
‫Dus F vector start en F vector einde en dat worden onze volgende twee parameters, begin en einde.

58
00:04:07,450 --> 00:04:13,930
‫En dan moeten we een kleur geven om de kleur te doen die we kunnen doen F kleur, dubbele punt,

59
00:04:13,930 --> 00:04:19,090
‫dubbele punt, en dan kunnen we een van die vooraf gedefinieerde kleuren gebruiken, zoals rood.

60
00:04:19,570 --> 00:04:20,470
‫Dat is altijd een goede.

61
00:04:20,470 --> 00:04:21,340
‫Je kunt het gemakkelijk zien.

62
00:04:21,700 --> 00:04:26,710
‫En in dit geval, omdat we het in de techniek doen en we doen elk frame om

63
00:04:26,710 --> 00:04:31,930
‫deze regel naar het scherm te schrijven, kunnen we gewoon de aanhoudende regels gebruiken die gelijk zijn aan onwaar.

64
00:04:31,930 --> 00:04:38,650
‫Dus elk ticket zal deze debug-regel opnieuw tekenen, de haakjes sluiten en dan kunnen we de puntkomma aan het einde van

65
00:04:38,920 --> 00:04:40,120
‫de regel plaatsen.

66
00:04:40,360 --> 00:04:43,960
‫Dus hoe gaan deze begin- en eindwaarden eruit zien?

67
00:04:44,680 --> 00:04:51,730
‫Welnu, in het begin zal het letterlijk de locatie zijn van onze grijper, een onderdeel omdat dat

68
00:04:51,730 --> 00:04:55,750
‫aan de camera wordt bevestigd, een goede startlocatie is.

69
00:04:55,750 --> 00:05:02,920
‫Onthoud nu dat er een voorwaartse vector is voor dit onderdeel, voor de camera, voor de grijper, en die

70
00:05:02,920 --> 00:05:08,380
‫voorwaartse richting, richting zal wijzen vanuit de camera naar buiten in het tafereel, altijd naar

71
00:05:08,380 --> 00:05:09,430
‫voren wijzend.

72
00:05:09,880 --> 00:05:18,940
‫Dus wat we willen doen, is onze startvector nemen, de voorwaartse vector vermenigvuldigd met een bepaald bedrag.

73
00:05:18,970 --> 00:05:25,120
‫In principe is dat een bepaald bedrag de maximale afstand die we gaan zoeken naar het object.

74
00:05:25,120 --> 00:05:31,930
‫Dus misschien heb je een of twee of drie meter als de hoeveelheid en dan gaan we eindigen met een

75
00:05:31,930 --> 00:05:32,410
‫eindvector.

76
00:05:32,410 --> 00:05:39,340
‫Dus de start plus de voorwaartse vector van de grijper wordt gelijk aan de eindvector.

77
00:05:39,610 --> 00:05:45,550
‫Dus die maximale diepte die we in de scène willen kijken, is iets dat we misschien willen configureren.

78
00:05:45,550 --> 00:05:49,170
‫Dus we zetten het als een nieuwe eigenschap op de grijper punt h.

79
00:05:49,510 --> 00:05:55,120
‫Laten we naar de grijpwinkel H gaan en een privégedeelte maken, een U-eigenschap

80
00:05:55,120 --> 00:06:02,980
‫maken die we overal gaan bewerken en dan hebben we het type float zodat het elke numerieke afstand kan

81
00:06:02,980 --> 00:06:03,580
‫zijn.

82
00:06:04,210 --> 00:06:12,340
‫En we gaan dit de maximale grijpafstand noemen en we stellen deze standaard in op een afstand van vier

83
00:06:12,340 --> 00:06:12,790
‫meter.

84
00:06:12,790 --> 00:06:18,250
‫Misschien moet dat 400 zijn omdat de standaardeenheid centimeters is.

85
00:06:18,520 --> 00:06:22,270
‫Dus ik daag je uit om die begin- en eindpunten te berekenen.

86
00:06:22,270 --> 00:06:30,550
‫Gebruik in eerste instantie de get-componentlocatie, gebruik de get forward-vector om de maximale grijpafstand te berekenen

87
00:06:30,550 --> 00:06:35,380
‫en te vermenigvuldigen die we daar zojuist hebben geconfigureerd.

88
00:06:35,650 --> 00:06:41,410
‫Compileer, speel en verwijder vervolgens je acteur, want deze regel gaat recht door de camera.

89
00:06:41,440 --> 00:06:42,670
‫Het kan zijn dat u het in eerste instantie niet ziet.

90
00:06:42,850 --> 00:06:43,480
‫Uitwerpen dus.

91
00:06:43,570 --> 00:06:49,150
‫Kom en stap uit je eigen lichaam en zie je de lijn pauzeren, video en ga je gang.

92
00:06:52,710 --> 00:06:53,240
‫Oké.

93
00:06:53,250 --> 00:06:53,820
‫Welkom terug.

94
00:06:53,850 --> 00:06:58,770
‫Dus laten we een kopje pakken en beginnen te schrijven wat we gaan beginnen.

95
00:06:59,460 --> 00:07:05,610
‫Zoals we al zeiden, het wordt gewoon de locatie van de component en dan het begin.

96
00:07:05,640 --> 00:07:16,650
‫Het einde zal eerder het begin zijn plus het get full-woord, de vector vermenigvuldigd met de maximale grijpafstand, dus plaats een

97
00:07:16,860 --> 00:07:20,820
‫puntkomma aan het einde van die regel.

98
00:07:21,210 --> 00:07:27,870
‫We gaan door en compileren en als het succesvol compileert, laten we doorgaan en op play drukken en dan

99
00:07:27,870 --> 00:07:32,520
‫onze muis in de viewport krijgen, op F8 drukken om uit te werpen.

100
00:07:32,940 --> 00:07:36,030
‫En als we buiten onszelf treden, zie je de grens.

101
00:07:36,030 --> 00:07:42,210
‫De helderste dag komt van waar onze camera helemaal in de vloer zat.

102
00:07:42,210 --> 00:07:47,400
‫En waarschijnlijk als ik eruit kom, kunnen we misschien zelfs zien dat het ook een beetje uit de bodem van

103
00:07:47,400 --> 00:07:48,390
‫de vloer steekt.

104
00:07:48,660 --> 00:07:49,950
‫Dat is vier meter voor jou.

105
00:07:50,250 --> 00:07:52,260
‫Dus we hebben een begin, we hebben een einde.

106
00:07:52,500 --> 00:07:59,520
‫En als we deze lijn zouden gebruiken, zou dit een uitstekende lijn zijn voor de invoerparameters voor onze

107
00:07:59,520 --> 00:08:02,280
‫geometrie-sweep die we later gaan gebruiken.

108
00:08:02,520 --> 00:08:03,060
‫Goed spul.

109
00:08:03,060 --> 00:08:06,480
‫We hebben geleerd hoe we foutopsporingslijnen in onze scène kunnen tekenen.

110
00:08:06,750 --> 00:08:11,570
‫Dit is een zeer nuttige vaardigheid die u veel zult gebruiken als u niet begrijpt waarom iets niet werkt.

111
00:08:11,580 --> 00:08:12,330
‫Ik hoop dat je het leuk vond.

112
00:08:12,480 --> 00:08:13,860
‫Ik zie je in de volgende lezing.

