Categories
Advanced and Experimental 3D computer Animation Techniques Project 2

Week 3 Write character and weapon blue print in Unreal engine

This week, I completed the following tasks in the character blueprint:

  • Set up footstep sounds
  • Added mouse input for aiming down sights
  • Created a transition to zoom the head during aiming
  • Adjusted walking speed while aiming
  • Added depth of field effect when aiming
  • Set footstep sounds specifically for aiming movement
  • Created the weapon blueprint
  • Wrote a custom event for weapon firing
  • Added a weapon state machine
  • Added weapon sound effects, bullet effects, and reload effects
  • Implemented bullet hit effects
  • Created a function to count bullets
  • Built the reload blueprint
  • Added natural bullet spread
  • Added recoil effect when firing
  • Added bullet glow effects

This week, my main focus was still on blueprint scripting. Once the character and enemy blueprints are done, I can just drag them into the map and use them directly. Although there are many follow-up steps afterward, the blueprints are definitely the top priority.

After finishing them, I’ll move on to reworking some model textures, building the scenes, creating the UI and main menu, and finally packaging the game.

Last week’s recording wasn’t very clear, and Windows Game Bar can’t capture multiple windows well.

Especially when I opened the blueprint editor, it kept recording the main window—pretty awkward!

This week, I found a recording software called OBS Studio, and I’ve discovered it works really well.

Set up footstep sounds:

I selected the audio files and created a single cue. Then, I added an audio modulator to unify the pitch and volume across these sounds, while also introducing random variations in pitch and volume. This way, when played back, the audio feels much more dynamic and natural:

Then, I went back to the animation asset and added a “Notify” — “Play Sound” — selecting the sound cue I just created.

Added mouse input for aiming down sights

Similar to before, I added mouse input, set it up as IA_focus (for aiming function), and linked it inside the character blueprint. This lets me control the focus with the mouse smoothly.

I used a timer to make the aiming zoom effect transition more smoothly. This approach will also come in handy later for toggling the flashlight and handling other action transitions.

Adjusted walking speed while aiming:

In the speed calculation function, I added a condition that if the character is aiming, the selected float value becomes 150(150 for the speed of walk with aiming).

Then I add blueprints for the weapon, cause there are some functions like reload ammo and ammo calculation, I need to split these from character blueprint, otherwise, it will be mass.

Then, in the weapon blueprint, attach (or spawn) the weapon to the character’s arm.

In the weapon blueprint, I set up the following event icons: fire_weapon, change bullets, and recoil.

In fire_weapon, I configured three states: start firing, firing, and stop firing. Then I used play animation montage to connect the animation assets to each of these states.

The rest of the operations are all shown in my screen recording:

Categories
Advanced and Experimental 3D computer Animation Techniques Project 2

Week 2 Write character blue print in Unreal engine

This week, I mainly worked on setting up the character blueprint, including:

  • Character capsule setup and camera setup
  • Character state machine setup (idle, walk, run)
  • Implemented camera rotation control using mouse movement
  • Added shift key input to trigger the running state and linked it to the state machine, enabling communication between the character blueprint and the animation blueprint
  • Added weapon drag effect (weapon swings slightly caused by camera movement)
  • Added character detail lighting (I wanted to create a warm light to simulate a body-attached light source, combined with a cold light for contrast)
  • Effect testing

Before getting started, I will provide all the assets I used and the link to the tutorial I followed. Since the tutorial I found is from the Chinese platform Bilibili, I won’t be able to share a YouTube link for the video resource.

Assets used:

1.Environment:

Dark fantasy greatsword pack | Unreal Engine 5 + UNITY – Naked Singularity Studiohttps://www.youtube.com/watch?v=_xR6SHgfhPU

2. Morbid Pack

Morbid Pack Volume 1 – https://www.fab.com/listings/8b88ac2e-9b50-4381-91d1-46683a89178b

3. Serpent Model I Created in Last Semester — Collaboration Units
(Full process: modeling, UVs, texturing, rigging)

4. Gargoyle Model I Created in Last Semester — Collaboration Units
(Full process: modeling, UVs, texturing, rigging)

5. Tutorial:

The course is taught by the creator of the game “Deathly Stillness”, which is available on Steam. Through the course, I learned how to create character and enemy blueprints, The character and zombie asset packs (including skeletal meshes, animation assets, and audio assets) were provided as part of the course and used for practice.

https://www.bilibili.com/cheese/play/ss32685?csource=Share_copylink&from_spmid=333.873.selfDef.purchased_lecture&plat_id=362&share_from=lesson&share_medium=iphone&share_plat=ios&share_session_id=B94F4E1E-BB07-40B1-83E1-A53774E26305&share_source=COPY&share_tag=s_i&spmid=united.player-video-detail.0.0&timestamp=1747402290&unique_k=528infI

Character capsule setup and camera setup

At the beginning, I set up the Animation Blueprint, Character Blueprint, and Blend Space for the character.

When I started setting up my character, the first step was to create a Character Blueprint. Inside the blueprint, I added the character mesh and carefully adjusted its position so it sat correctly within the capsule collider. This ensures that the character’s mesh and collision boundaries are properly aligned, which is really important for smooth movement and interaction.

I applied the same process for setting up the camera. I attached the camera to the character blueprint and positioned it in a way that works well with the gameplay perspective I want to achieve.

These might seem like basic steps, but getting them right early on saves a lot of trouble later in the pipeline—especially when starting to work with the animation blueprint and player controls.

Since the screenshots were taken later in the process, they include some updates like the arm texture and a few event icon features I added along the way.

Character state machine setup (idle, walk, run)

Inside the Animation Blueprint, I set up the State Machine, including Idle, Walk, and Run states.

Idle
Move

In the Blend Space, I blended the Idle, Walk, and Run animations, and set up the corresponding movement speeds.

For example, I set the walking speed to 300 and running speed to 750. Since my scene is quite large, I needed the character to move a bit faster to fit the scene.

Implemented camera rotation control using mouse movement

在角色蓝图的文件夹中,我增加了输入的文件夹,并加入了鼠标可以控制角色摄像机视野旋转的input action:

I also changed the bool input to Axis 2D, since the mouse controls the camera rotation based on X and Y movement on the screen plane. Using a bool would only allow simple on/off states, while Axis 2D lets me read continuous input values, which is more suitable for smooth camera control.

I used the Input Mapping Context to organize all the input settings and define the input devices, making the control setup more clean and modular.

I added a Look event in the event graph to call IA_look

Added shift key input to trigger the running state and linked it to the state machine, enabling communication between the character blueprint and the animation blueprint

In IA_run, I used a bool because it’s a simple on/off check—whether the key is pressed or not.

Similarly, I set up the Shift key input within the Input Mapping Context.

I added an if-run boolean check in the running graph. Then, I created a speed calculation function that uses this boolean—if the character is running, it sets the speed to 750, otherwise to 300.

Added character detail lighting (I wanted to create a warm light to simulate a body-attached light source, combined with a cold light for contrast)

This was my first attempt at adding a warm light attached to the character, so I added a point light inside the capsule.

Later during testing, I adjusted the light settings and created a toggleable flashlight-like feature for illumination.

IA_open_light
Open light function
I added this feature in the later stage, so I recorded it using the current version of the project files.

Categories
Advanced and Experimental 3D computer Animation Techniques Sessions with George

Week 4 Continue adjust animation

In this shot, George suggested that I redistribute the timing of each action, so the overall animation follows a slow-in, fast-out, slow-in principle.

Currently, my timing is more like slow-slow-fast-slow. Before the character stretches her leg toward the body, I added a preparation pose to build up energy, but George suggested removing it because it feels a bit awkward.

He also recommended speeding up the actions after the character lands and as she stands up, as well as making the following step forward quicker.

So I made some adjustments, but I noticed there are still some issues. For example, when the character is preparing to jump, I had her hold the pose completely still for three frames, but this made the movement feel a bit stiff. If I try to add a slight movement during those three frames, it ends up looking twitchy because the hold is so short.

Categories
Advanced and Experimental 3D computer Animation Techniques Sessions with George

Week 3 Key pose adjustment and spline

This week, I received feedback from George, made some changes to the key poses, and deepened my understanding of the animation.

It’s clear that the character’s foot poses need significant adjustments. As the end point of the limbs, the feet tend to have a slight delay at the beginning and during the movement — they don’t move exactly in sync with the legs or on the same level.

Here’s my spline:

Categories
Advanced and Experimental 3D computer Animation Techniques Sessions with George

Week 2 Advanced Body Mechanics Blocking

Moving Holds

Moving Hold means that when a character is holding a pose, they shouldn’t be completely still — there needs to be some slight movement. Even something as subtle as breathing, a small head tilt, or a gentle body shift can make the character feel more alive. If a character stays perfectly frozen for a few frames, it immediately gives off a “mannequin” vibe, especially in 3D animation where complete stillness feels unnatural. Compared to 2D, where we can use line wiggles or stylized shaking to fake subtle movement, in 3D we really have to animate those micro-movements by hand.

My personal understanding is: don’t let your character die on screen. Even just a few frames of subtle “fake movement” can add tension and realism to the shot.


Copied Pairs

Copied Pairs are a specific technique used to create moving holds. The process is actually pretty straightforward — you take your key pose and duplicate it, then move the duplicated keys a few frames forward on the timeline. This creates a pair of identical keyframes that hold the pose for a bit.

At first it might seem like a lazy shortcut, but in practice, you can slightly adjust the in-between to add a soft transition — like the character shifting weight, breathing, or gently swaying. It creates a subtle sense of motion within a hold.

I see this as a way to refine your blocking — beyond just having key poses and breakdowns, you’re adding mini-transitions that give your animation more depth and rhythm.

This is my attempt to moving holds and copy pairs:

I added a pause to the pose where the character opens her arms — I felt like she was building up energy for the next sequence of movements, kind of like a gymnast preparing for a routine. Then I copied and pasted the keyframes and extended their duration. In the spline phase, I adjusted the curves to give her a slight sense of motion, so it feels like she’s subtly shifting, not completely still.

BREAKDOWNS & Arcs

During blocking, it’s important to pay attention to the movement of the hands, limbs, and the COG — making sure their motion follows arcs instead of straight lines.

My blocking:

Categories
Advanced and Experimental 3D computer Animation Techniques

Week 1 Advanced Body Mechanics Planning

  • Going over acting with the body and pantomime
  • Planning body mechanicsshot
  • 3D animation workflow checklist

Pantomime & Acting with the body

Body Mechanics Plan:

George suggest to make the animation shorter as there are too many poses, and it last too long, so I make some changes of my plan. After the character stand up, she will move forward for one step and stop there:

Reference video:

Workflow checklist:

When I am animating, it’s easy to feel overwhelmed by the sheer number of steps between your initial idea and a polished final shot. This week, teacher introduce his workflow checklist to us, and it is really helpful.

Planning

  • Thumbnails: Quick sketches to explore poses, ideas, and storytelling to show key poses. Focus on silhouette, emotion, and staging. No need for detail — clarity is the goal.
  • References
  • Journal workflow
  • Layout
  • Staging
  • Composition
  • Story

Blocking

  • Stepped key poses
  • Fundamental approach
  • Easy to edit
  • Inner monologue timing tool
  • Arcs
  • Weight check
  • Compare thumbnails
  • Watch at speed

Splining

  • Work in small sections
  • Inbetween: adding secondary/key breakdowns for smoother transitions.
  • Inbetweens are the frames that bridge the gap between key poses. They smooth out transitions, add weight and timing nuance, and define the rhythm of a movement. It can be manipulated in graph editor, adjusted curves, or added breakdown keys.
  • Arcs

Polish

  • New mindset: reviewing your animation with fresh eyes.
  • Non-performance texture
  • Fix tiny things like toe splays on blinks — like breath cycles, toe splay, or tiny eye movements. These often-forgotten details are what truly bring a character to life and separate good animation from great.