‫Hallo en welkom.
‫In deze lezing gaan we foutopsporingslijnen in onze scènes tekenen, zodat we kunnen visualiseren wat een
‫lijntracering doet of wat het zou moeten doen, en uitzoeken of onze waarden die
‫we berekenen correct zijn.
‫Laten we erin duiken en een kijkje nemen.
‫Zoals we kunnen zien, vereist onze sweep multi by channel-functie een start- en een eindvector.
‫Nu kan het een beetje moeilijk zijn om erachter te komen wat er met deze functies aan de hand is wanneer we ze
‫daadwerkelijk gebruiken.
‫Want als je het gaat gebruiken en je krijgt niet de resultaten die je verwacht, kun je jezelf
‫soms afvragen: heb ik de juiste vraag gesteld?
‫Heb ik wel de juiste begin- en eindvectoren ingestuurd?
‫Om daar achter te komen, gebruiken we hier een andere functie, de draw debugger-lijn genaamd,
‫zodat we zeker kunnen zien waar de begin- en eindvectoren zijn, eigenlijk door er een lijn tussen te
‫tekenen.
‫En aangezien dit precies het soort ding is dat door onze sweep zal worden gedaan, is dit een goede manier
‫om in de eerste plaats te zien of we de juiste input hebben.
‫Je kunt hier dus zien dat de draw debug-regel nogal wat argumenten vereist, maar
‫niet allemaal.
‫Alleen de eerste drie, vier of vijf.
‫Dus het eerste dat binnenkomt, is een nieuwe wereld waarin we weten hoe we de wereld kunnen pakken.
‫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,
‫iets wat we nog niet eerder zijn tegengekomen, maar je kunt klikken op om erachter te komen
‫wat het is.
‫En in wezen is het een soort effector die kleuren vertegenwoordigt en er zijn al een paar handige kleuren voor ons ingebouwd
‫waarmee we gewoon kunnen zeggen: Hé, we willen ons zwart, we willen blauw, groen, wat dan ook.
‫U kunt gewoon een kleurnaam gebruiken in plaats van de IGP-waarden op te geven.
‫En dan zijn de laatste paar hier of we de aanhoudende lijnen hebben, die ons vertellen of de lijn blijft hangen
‫of dat hij aan het einde van het frame verdwijnt, vertelt ons de levensduur.
‫Dus hoeveel seconden blijft het hangen voor de diepteprioriteit en de dikte, die we geen van
‫beide zullen gebruiken?
‫Dus de andere nuttige informatie op deze documentatiepagina is de include.
‫Dus je kunt hier zien om deze functie te gebruiken, we moeten het headerbestand gebruiken dat
‫het declareert, wat de hash is inclusief draw debug-helpers.
‫Dus laten we dat eerst doen, want dat zal ervoor zorgen dat automatisch aanvullen werkt in
‫Visual Studio.
‫Als u geen hoofd van bestanden hebt, weet Visual Studio eigenlijk niet hoe deze functies automatisch moeten
‫worden voltooid.
‫En ik ga in op een tick-component en ik ga ons logbericht verwijderen voor de tijd om beter
‫te worden.
‫We zullen eigenlijk al die tijd kwijtraken.
‫En weet je wat?
‫We gaan gewoon onze tick-functie leegmaken, alles na onze super dubbele punt, dubbele punt vink
‫component die we gaan verwijderen en we gaan beginnen met de teken debugger regel.
‫Teken dus een foutopsporingslijn en open vervolgens enkele haakjes.
‫Hij raakt een controleruimte, dan kun je de parameters zien waar we het net over hadden en wat meer informatie
‫die daar niet beschikbaar was, zoals hun standaardwaarden.
‫Sommige hebben standaardwaarden, vooral na aanhoudende regels.
‫U kunt de standaardwaarden false zien.
‫Je hoeft dus eigenlijk geen argument op te geven als het een standaardwaarde heeft, maar je kunt zien dat
‫de kleur geen standaardwaarde heeft.
‫Dus we moeten tot dan toe alles aanleveren.
‫Dus het eerste is de wereld weinig veel uitdaging.
‫Hoe krijg je de wereld in handen en geef je ze door in de foutopsporingslijn.
‫Je krijgt haakjes in de wereld, dus dan hebben we een begin en een einde nodig.
‫Dus daarvoor ga ik twee variabelen maken net voordat ik de foutopsporingslijn teken en ik ga ze nog
‫niet invullen.
‫Dus F vector start en F vector einde en dat worden onze volgende twee parameters, begin en einde.
‫En dan moeten we een kleur geven om de kleur te doen die we kunnen doen F kleur, dubbele punt,
‫dubbele punt, en dan kunnen we een van die vooraf gedefinieerde kleuren gebruiken, zoals rood.
‫Dat is altijd een goede.
‫Je kunt het gemakkelijk zien.
‫En in dit geval, omdat we het in de techniek doen en we doen elk frame om
‫deze regel naar het scherm te schrijven, kunnen we gewoon de aanhoudende regels gebruiken die gelijk zijn aan onwaar.
‫Dus elk ticket zal deze debug-regel opnieuw tekenen, de haakjes sluiten en dan kunnen we de puntkomma aan het einde van
‫de regel plaatsen.
‫Dus hoe gaan deze begin- en eindwaarden eruit zien?
‫Welnu, in het begin zal het letterlijk de locatie zijn van onze grijper, een onderdeel omdat dat
‫aan de camera wordt bevestigd, een goede startlocatie is.
‫Onthoud nu dat er een voorwaartse vector is voor dit onderdeel, voor de camera, voor de grijper, en die
‫voorwaartse richting, richting zal wijzen vanuit de camera naar buiten in het tafereel, altijd naar
‫voren wijzend.
‫Dus wat we willen doen, is onze startvector nemen, de voorwaartse vector vermenigvuldigd met een bepaald bedrag.
‫In principe is dat een bepaald bedrag de maximale afstand die we gaan zoeken naar het object.
‫Dus misschien heb je een of twee of drie meter als de hoeveelheid en dan gaan we eindigen met een
‫eindvector.
‫Dus de start plus de voorwaartse vector van de grijper wordt gelijk aan de eindvector.
‫Dus die maximale diepte die we in de scène willen kijken, is iets dat we misschien willen configureren.
‫Dus we zetten het als een nieuwe eigenschap op de grijper punt h.
‫Laten we naar de grijpwinkel H gaan en een privégedeelte maken, een U-eigenschap
‫maken die we overal gaan bewerken en dan hebben we het type float zodat het elke numerieke afstand kan
‫zijn.
‫En we gaan dit de maximale grijpafstand noemen en we stellen deze standaard in op een afstand van vier
‫meter.
‫Misschien moet dat 400 zijn omdat de standaardeenheid centimeters is.
‫Dus ik daag je uit om die begin- en eindpunten te berekenen.
‫Gebruik in eerste instantie de get-componentlocatie, gebruik de get forward-vector om de maximale grijpafstand te berekenen
‫en te vermenigvuldigen die we daar zojuist hebben geconfigureerd.
‫Compileer, speel en verwijder vervolgens je acteur, want deze regel gaat recht door de camera.
‫Het kan zijn dat u het in eerste instantie niet ziet.
‫Uitwerpen dus.
‫Kom en stap uit je eigen lichaam en zie je de lijn pauzeren, video en ga je gang.
‫Oké.
‫Welkom terug.
‫Dus laten we een kopje pakken en beginnen te schrijven wat we gaan beginnen.
‫Zoals we al zeiden, het wordt gewoon de locatie van de component en dan het begin.
‫Het einde zal eerder het begin zijn plus het get full-woord, de vector vermenigvuldigd met de maximale grijpafstand, dus plaats een
‫puntkomma aan het einde van die regel.
‫We gaan door en compileren en als het succesvol compileert, laten we doorgaan en op play drukken en dan
‫onze muis in de viewport krijgen, op F8 drukken om uit te werpen.
‫En als we buiten onszelf treden, zie je de grens.
‫De helderste dag komt van waar onze camera helemaal in de vloer zat.
‫En waarschijnlijk als ik eruit kom, kunnen we misschien zelfs zien dat het ook een beetje uit de bodem van
‫de vloer steekt.
‫Dat is vier meter voor jou.
‫Dus we hebben een begin, we hebben een einde.
‫En als we deze lijn zouden gebruiken, zou dit een uitstekende lijn zijn voor de invoerparameters voor onze
‫geometrie-sweep die we later gaan gebruiken.
‫Goed spul.
‫We hebben geleerd hoe we foutopsporingslijnen in onze scène kunnen tekenen.
‫Dit is een zeer nuttige vaardigheid die u veel zult gebruiken als u niet begrijpt waarom iets niet werkt.
‫Ik hoop dat je het leuk vond.
‫Ik zie je in de volgende lezing.