3/7
Start your day with a Warm-up
Unreality vs Expectation
So we are fairly deep into Unreal Engine at this point, congrats!
Tell me what you thought Unreal Engine would be like compared to what it is really like. Do you love it? Do you loathe it? Is there anything that just clicked in your brain, the aha moment? Will you continue to mess with UE after this class? What have you found interesting? What have you found tiresome? Talk about it.
half page
TO EXPORT LEVELS BETWEEN GAMES
STEP 0: Insert an external drive it literally will not work w/o it (i promise)
STEP 1: Open your content browser!
STEP 2: Right Click Your Level
STEP 3: Open "ASSET ACTIONS"
STEP 4: Hit MIGRATE
STEP 5: Check all the levels/assets you want added into a new game
STEP 6: Find the content folder in your second game
STEP 7: Click that content folder
STEP 8: Re-open your game and it should be there
STEP 9: If its not then its probably asking you to import the changes in the bottom right
STEP 10: If its not yelling at you try again or cry
[another note i dont know why unreal freezes when it does but maybe people just have computer that crash]
Brought to you by Marbles
What are you learning?
Unreal Engine - The Big Team Project
Game is due April 25, 2025
Why is it important?
It's time to come together and create using the tools you have explored
How do you show that you understand? What is the assignment?
You and your team will create a game with a Beowulf Theme
How you do this is up to you, your technical ability and your imagination
Game Requirements
15 Full Minutes of gameplay - 15 Points
10 original 3D assets (they must be 100 percent original and not based on someone else's work).
Your 3D assets must be as realistic as your talent allows and must include color
Your game must have a purpose or goal (meaning you are not just walking around).
If you complete your assets or the game early, create more.
You will not be done with your game until the deadline.
Points
Each day during this assignment, you will earn a participation point
You are expected to be working on your project with your team during this time. If you are on your phone, watching videos or otherwise not working on your project you will lose your point for the day.
Participation - 25 Points
15 Minutes of Gameplay - 15 Points
10 original 3D Assets - 5 Points
Total 45 Points
Beowulf Final Project Teams
AM Teams
Team JJ MaK
James, Michael, Jett, Kalvey
Team Hanasaca
Haven, Nadine, Salli, Casselina
Team NoJuKh
Noah, Julien, Khan
Team EMiKa
Emily, Milla, Kaleb
Team JaFiLeTe
Jack, Terom Finn, Leo
Team ToCoDe
Toleen, Corbin, Devin
PM Teams
Team LAOA
Loghan, Angel, Owen, Abby
Team MIA
Marcy, Archer, Isaac
Team HAJ
Aaliyah, Hailey, Josh
Team WebEmIsAn
Weber, Emylida, Angel, Isabel
Team DaSLo
Daxton, Logan, Sky
Team VictorLee
Victoria Leeanna
Icons above left to right
Kismet library member
Widget event
Callable function
Damage system event
Pure function
Macro
Asynchronous function
We will be using a blue callable function in this lesson
Select the platform
In Outliner
Select the floor
Click Convert to Blueprint
Make it a sub Class Floor Blueprint
In the Floor_Blueprint
Go to event graph
Add event hit
From other pull out cast to BP ThirdPersonCharacter
As BP ThirdPerson pull out apply damage
Base damage 999
Compile Save Test
That's it for today
Time to fix the enemy healthbar
Open up WB_EnemyHealthBar
Select Graph
So what is happening here is that it is getting the health of the first enemy only
We will do the same thing but use the event tick to accomplish this
Open up your Enemy BP event graph
Find where you added your event tick and drag out your health widget
So let's delete all the stuff we added in the Enemy Health Bar Widget (The Get Percent will stay there, no worries)
In the designer Space of the widget
Change the name of ProgressBar_0 to Health
Make sure Is Variable is checked
Remove the binding of the percentage
Open up your enemy BP event graph
Find your event tick
drag in the health widget
From the health widget node, pull out Get Widget
From the output of Get Widget, pull out Cast to WB_EnemyHealthBar
Connect the output of your Set World Rotation to the Cast to WB_EnemyHealthBar
From the As WB_EnemyHealthBar output in Cast to WB_EnemyHealthBar, pull out a Get Health Node
From the output, create a set percent node
Pull out a a GET health variable.
From the health, we want to divide so pull out a divide and add 50 or whatever you set your health variable
Connect the output on the divide to the percent input
Let's nice up the shooting mechanic a little bit
Open BP_ThirdPersonCharacter
Look up YAW in the Details Panel
Check Use Controller Rotation Yaw
Compile, Save, test
Find the shooting system in the third person character BP
From SpawnActorBP Bullet
Pull out Set Use Controller Rotation Yaw
Once you create the node, check the box Use Controller Rotation Yaw
Pull out Delay Until Next Tick
Pull out Set Use Controller Rotation Yaw
Uncheck it
Compile, Save and Test
We can now shoot with more precision
Add an ending to the game in your level
find the farthest point your player can get to
Click the +
search for trigger volume
Move the trigger volume cube to where you want the ending of your game to happen
Size it
With your trigger volume selected in the details panel
Open your Level Blueprint
In your level blueprint
right click and select dropdown for Add Event for Trigger Volume
select the collision dropdown
Select Add On Actor Begin Overlap
From other actor
Pull out Cast to BP_ThirdPersonCharacter Node
Open up your UI folder
Right Click
Create a widget blueprint
User Widget
Name it WB_Victory
Open up the widget
Add a Canvas Panel
Add an image to the panel
Click the Anchors drop down and select the full size screen
Set all your anchor points to 0
Set the color to Black
This is the image that the game will fade into
Name the image FadeScreen
Click Window
Select Animations
The Animations Panel will open up
Click the +
Name the animation Fade
Click the + in track
Hover over All named Widgets
Select FadeScreen
Click on the color and opacity
change the alpha to 0.0
click ok
click add keyframe
Your animation will start the image as see through (that's the alpha channel)
Scrub to one second
Set the alpha to 1.0
Add keyframe
Compile, Save, Test by pressing play button
Add text
Change the text to You Win
Mess with the appearance to make it how you like
Add the anchors
Add another Animation just like the fade to black
Compile and save
Back to BP_Thirdpersoncharacter
Copy end paste everything after Add Mapping Context
Open your level blueprint
paste the nodes
Switch the class to WB_Victory in the widget
connect to the input of Cast to BP_ThirdPersonCharacter
Open the Event Graph in the WB_Victory widget
Delete everything but Event Construct (this is like the begin on play)
Drag in your Fade Animation
From the Fade node pull out play animation
Connect to the Event Construct Node
Copy and paste the Play Animation
Drag in your WinFade
Connect to the input In Animation
Connect the two play animation nodes (white)
Compile and save
Switch to designer mode
Select your FadeScreen and set your color alpha to 0 so that it the default is clear
Do the same for the Text
Compile and save
Test
restarting the game
Back to Level event graph
From the add to Viewport node, pull out a delay
make the delay 3 seconds
pull out an open level (by name) node
add the name of your level
Create a sounds folder
Find some wav sounds and add them to the sounds folder
They must be wav files
Open your Shotgun animation file
Open the Jog_Fwd_Rifle animation
Pause the animation and use the scrubber to find where the character is about to touch the ground
Right Click
Add Notify
Play a sound
Select the Play Sound
Select your audio
Copy and paste each footstep in the proper frame
Test
Go to BP ThirdpersonCharacter
In the shooting system after the final set, pull out Spawn Sound at Location
Location will be Get Actor Location
Select your shot sound
Let's get rid of the enemy health bar after you have eliminated the enemy
In your Enemy Blueprint Health System
Pull out Destroy Component (Health Widget