Skip to content

Commit

Permalink
All tha gifs
Browse files Browse the repository at this point in the history
  • Loading branch information
Daxode committed Jul 13, 2024
1 parent 3919bd4 commit 8d76b64
Show file tree
Hide file tree
Showing 18 changed files with 35 additions and 15 deletions.
Binary file added ~Documentation/images/CoinsCollect.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ~Documentation/images/ObjectField.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ~Documentation/images/PrefabBulletTag.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ~Documentation/images/SteeringSpeedNavAgent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ~Documentation/images/Unity_InlU28VqFn.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ~Documentation/images/Unity_NrfFgqXym5.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ~Documentation/images/Unity_nQmMxE5WQX.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ~Documentation/images/WalkTowardPlayer.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ~Documentation/images/baked.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ~Documentation/images/fixbakednavmesh.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ~Documentation/images/navagent.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ~Documentation/images/navmeshsurface.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added ~Documentation/images/playertag.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 3 additions & 1 deletion ~Documentation/topics/Opgave-2-Kollision.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ kollisioner der involverer patroner, så vi benytter en `if`-statement. I den st
hedder tags til at kende forskel på patroner og andre typer af objekter. Som vist nedenunder laver vi et tag "Bullet" og
tildeler det til vores prefab af patronen.

*gif of making and assigning "Bullet" tag til bullet prefaben*
![PrefabBulletTag.gif](PrefabBulletTag.gif)

For at sikre at `other` er koblet til et `gameObject` med tagget "Bullet" bruger vi funtionen `CompareTag` som vist nedenunder.

Expand All @@ -47,3 +47,5 @@ if (other.gameObject.CompareTag("Bulllet")){
## Opgave
1. Slå “OnTriggerEnter” op i unitys dokumentation
2. Anvend funktionen til at lave en mønt der forsvinder når spilleren rammer den

![CoinsCollect.gif](CoinsCollect.gif)
46 changes: 32 additions & 14 deletions ~Documentation/topics/Opgave-3-Random-og-NavMesh.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,24 @@ For at kunne skabe nogle mere spændende fjender, vil vi gerne have de kan bevæ
Til det bruger vi NavMesh. Først skal vi fortælle unity hvorhenne vores enemy må og kan gå.
Til det formål giver unity os komponentet `NavMeshSurface`. Lad os tilføje den til vores plane.

**INDSÆT BILLEDE AF NAVMESHSURFACE MENU**
![navmeshsurface.png](navmeshsurface.png)

Her er der en del indstillinger at lege rundt med, men for nu trykker vi på Bake knappen.

**INDSÆT BILLEDE AF BAKED OVERFLADE**
![baked.png](baked.png)

Det blå område der tegner sig er vores navmeshsurface. Det er det område vores enemy kan gå på.
Desværre er det sådan at ikke alt er helt blå, det skyldes at den prøve at undgå potentielle obstacles.
Den letteste måde at fikse det her er at vælge `CollectObjects > Current Object Hierarchy`. Som set herunder:

![fixbakednavmesh.gif](fixbakednavmesh.gif)

### Navmesh Agent
Men før vores enemy kan finde rundt skal vi også lige fortælle vores enemy object at den kan gå.
Her giver vi den komponetet `Nav Mesh Agent`. Den fotæller unity at vores enemy object skal kunne navigere på en navmesh surface,
som den vi lige har lavet.

**INDSÆT BILLEDE AF NAV MESH AGENT MENU HER EVENTUELT**.
![navagent.png](navagent.png)

Vi skal dog stadig fortælle den hvor den skal gå hen. Det kan vi heldigvis nemt gøre med `SetDestination()` funktionen.
SetDestination tager imod en Vector3 position, som for eksempel vores spillers position.
Expand All @@ -30,7 +34,7 @@ eller lav en public NavMeshAgent og drag and drop den i Unity.
Vi skal have en reference til vores player, her skal vi igen gøre brug af `Tags`, heldigvis har unity allerede et player tag.
Giv vores playerobject player tagget og brug `FindWithTag("Player")`.

**INDSÆT BILLEDE AF AT VÆLGE PLAYER TAG PÅ PLAYER OBJECT**
![playertag.gif](playertag.gif)

```c#
public NavMeshAgent agent;
Expand All @@ -44,40 +48,52 @@ void Update(){
agent.SetDestination(player.transform.position);
}
```
... Enemy spawner ...

**INDSÆT GIF AF ENEMY GÅR MOD PLAYER**
### Enemy Spawner

![WalkTowardPlayer.gif](WalkTowardPlayer.gif)

<tip>
Bemærk at fjenden går meget hurtig.
Det kan fikses ved at enten gøre spileren hurtigere eller fjenden langsommere.
Til spileren har I selv allerede lavet en speed variable.
Men til Nav Agent har i ikke selv valgt speeden. Det gør i istedet ved at sætte <code>Steering > Speed</code>.

![SteeringSpeedNavAgent.png](SteeringSpeedNavAgent.png)
</tip>

## Random
Det er jo ikke så spændende at der kun er en fjende.
Til det laver vi et enemySpawner object. Siden det ikke er noget vi skal kunne se, giver det mening at lave et empty object.

**INDSÆT BILLEDE AF MENU MED MUS PÅ EMPTY OBJECT**
![ObjectField.png](ObjectField.png)

Så laver vi et enemySpawnerScript på vores enemySpawner.
Så laver vi et `EnemySpawnerScript` på vores `EnemySpawner`.
I det skal vi have en reference til det object vi gerne vil spawne, altså vores enemyobject.
Som med vores bullet kan vi spawne flere med `Instantiate()`.
Som med vores bullet kan vi spawne flere med `Instantiate()`.

```c#
public GameObject spawnObject

void Update(){
Initiate(spawnObject, transform.position, Quaternion.identity);
Instantiate(spawnObject, transform.position, Quaternion.identity);
}
```

**INDSÆT GIF AF SPAWNING FJENDER**
![Unity_nQmMxE5WQX.gif](Unity_nQmMxE5WQX.gif)

Det ville dog være kedeligt hvis de alle spawnede det sammes sted hver gang.
Så hvad nu hvis vi generede nogle tilfælge positioner til vores fjender.
Her kan vi bruge **Random.Range** der giver os et tilfældigt tal mellem 2 tal vi vælger.
Her kan vi bruge `Random.Range` der giver os et tilfældigt tal mellem 2 tal vi vælger.
Vi starter småt med et tal mellem -5 og 5.
```c#
Vector3 spawnPosition = transform.position;
spawnPosition.x = spawnPosition.x + Random.Range(-5, 5);
spawnPosition.z = spawnPosition.z + Random.Range(-5, 5);
Instantiate(prefab, spawnPosition, Quaternion.Identity);
Instantiate(spawnObject, spawnPosition, Quaternion.identity);
```
**GIF AF SPAWN AF FJENDER I TILFÆLDIG POSITION**.
![Unity_NrfFgqXym5.gif](Unity_NrfFgqXym5.gif)

Det er vigtig at huske at højre side af `=` tegnet bliver kørt først. Så selvom:

```C#
Expand All @@ -95,3 +111,5 @@ Eksempelvis hvis `val` er `1` så når den linje er kørt ville `val` være `2`
## Opgave
1. Få mønter til at spawne på tilfældige steder
2. Få mønter til at rotere

![Unity_InlU28VqFn.gif](Unity_InlU28VqFn.gif)

0 comments on commit 8d76b64

Please sign in to comment.