From d27d5deb938323c75c7f841ef3b540ad2d6b4b52 Mon Sep 17 00:00:00 2001 From: Krzysztof kuhy Rudnicki Date: Mon, 5 Jan 2026 18:31:10 +0100 Subject: [PATCH] feat: finish step 3 --- .../Content/Blueprints/BP_Bullet.uasset | Bin 125848 -> 128010 bytes .../Content/Blueprints/BP_Player.uasset | Bin 342548 -> 342128 bytes games/unreal/tutorial/part-3-create-bullet.md | 16 ++++++++-------- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/games/unreal/BulletHellGame/BulletHellGame/Content/Blueprints/BP_Bullet.uasset b/games/unreal/BulletHellGame/BulletHellGame/Content/Blueprints/BP_Bullet.uasset index 2d17a593f3ccd6297c4c42a48b35cc855683176c..ad3e01c5674c98c1149549dd27de8b578d490c21 100644 GIT binary patch delta 28790 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 L_HD!YUhn?^f}r=t diff --git a/games/unreal/tutorial/part-3-create-bullet.md b/games/unreal/tutorial/part-3-create-bullet.md index bff648f..ff9d6f4 100644 --- a/games/unreal/tutorial/part-3-create-bullet.md +++ b/games/unreal/tutorial/part-3-create-bullet.md @@ -474,14 +474,14 @@ The entry node should now show two input pins: SpawnLocation and Direction 13. **Convert angle from degrees to a direction vector:** In Unreal's top-down view (looking down Z axis): - - X axis = forward/back (up/down on screen) - - Y axis = left/right + - X axis = up/down on screen (vertical) + - Y axis = left/right on screen (horizontal) - Angle 0° = straight up = direction (1, 0, 0) - Angle 90° = right = direction (0, 1, 0) ``` - Direction.X = Cos(angle) - Direction.Y = Sin(angle) + Direction.X = Cos(angle) // Cos for vertical (forward/up) + Direction.Y = Sin(angle) // Sin for horizontal offset Direction.Z = 0 ``` @@ -492,11 +492,11 @@ The entry node should now show two input pins: SpawnLocation and Direction - Connect your angle (from step 12) to the input - Output is angle in radians - **b) Calculate X component (Cos):** + **b) Calculate X component (Cos - forward/up direction):** - Right-click → `Cos (Radians)` → add it - Connect the Degrees To Radians output to Cos input - **c) Calculate Y component (Sin):** + **c) Calculate Y component (Sin - horizontal offset):** - Right-click → `Sin (Radians)` → add it - To connect the SAME radians value to Sin (without losing the Cos connection): - **Option 1:** Ctrl+drag from "Degrees To Radians" output to Sin input (creates second wire) @@ -505,8 +505,8 @@ The entry node should now show two input pins: SpawnLocation and Direction **d) Make the direction vector:** - Right-click → `Make Vector` - - Connect Cos result to X - - Connect Sin result to Y + - Connect Cos result to X (forward/up direction) + - Connect Sin result to Y (horizontal spread) - Set Z = 0 14. **Spawn the bullet:**