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 14, 2024
1 parent c59d2a6 commit ffa9b13
Show file tree
Hide file tree
Showing 8 changed files with 67 additions and 0 deletions.
Binary file added ~Documentation/images/AnimationTransitionA.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/AnimationTransitionB.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.
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_L5hnkcZ1dv.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
67 changes: 67 additions & 0 deletions ~Documentation/topics/Opgave-1-3D-og-Lyd.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,8 +51,75 @@ Så skulle idle gerne virke 🕺💃

![SkeletonIdle.gif](SkeletonIdle.gif)

## Animator Window

Som vi tidligere så så var der et **Animator** Window. Dette vindue er hvor vi kan lave animationer og transitions mellem dem.
Når i åbner den ville I se nogle tabs i toppen. Disse tabs er:
- **Parameters**: Her kan vi lave parametre som vi kan bruge til at skifte mellem animationer.
- **Layers**: Her kan vi lave flere lag (noget vi ikke skal bruge på denne camp).

For at lave en parameter skal vi trykke på `+` knappen og vælge hvilken type parameter vi vil have.
De vigstigste typer for os er:
- **Float**: En float er et decimal tal. Dette kan bruges til at skifte mellem animationer baseret på en værdi.
- **Trigger**: En trigger er en bool der bliver sat til `true` en enkelt gang når den bliver kaldt. Men så snart der sker en transition bliver den `false`. Dette kan bruges til at skifte mellem animationer baseret på en handling.

![AnimatorControllerParams.gif](AnimatorControllerParams.gif)

Tilføj nogle flere animationer (en for at gå/at løbe og en for at skyde). Vi valgte `Running_B` og `1H_Ranged_Shoot` for at gøre dette.

![AnimatorControllerNodes.png](AnimatorControllerNodes.png)

Nu mangler vi blot at lave transitions mellem animationerne. Dette gøres ved at trække en linje fra en animation til en anden.

Derudover er det også vigtig at definere hvad der skal til for at skifte mellem animationerne. Dette gøres ved at klikke på en transition og kigge på `Conditions` i inspektoren. I den nedstående gif ser vi hvordan vi sætter transitions og hvordan man sætter conditions op for `Shoot`:

![AnimationTransitionA.gif](AnimationTransitionA.gif)

Og her er så det samme men for walking `Speed`.

![AnimationTransitionB.gif](AnimationTransitionB.gif)

## Animator kode

Parameterne er klar men koden mangler stadig.
For at få animationen til at virke i koden, skal vi først have en reference til `Animator` componentet. Dette gøres ved at skrive `public Animator animator;` inde i scriptet der skal bruge det.
(Hvilke er `PlayerMovement` i dette tilfælde).

```C#
public Animator animator;

void Update()
{
// ...
// Animation kode går under her (efter movement kode)
animator.SetFloat("Speed", rb.velocity.magnitude);
}
```

```C#
void Update()
{
if (...) // Dette er det eksisterende if statement i Shooting
// scriptet der styrer om spilleren skyder
{
animator.SetTrigger("Shoot");
}
}
```

Men åh nej, der er jo stadig et problem! Vores transitions er for langsomme:

![AnimatorProblemTransTime.gif](AnimatorProblemTransTime.gif)

For at fikse det skal i fjerne `Has Exit Time` fra alle transitions.
Derudover skal i også fjerne `Transition Duration` fra alle transitions. (kan gøres ved at slide timelinen)

![Unity_L5hnkcZ1dv.gif](Unity_L5hnkcZ1dv.gif)

## Opgave B
- Gør det samme for fjender men med skelet modellen.



## Lyd

0 comments on commit ffa9b13

Please sign in to comment.