COMPILATIONS

PROJECTS

HLSL, Shadergraph, Blender, C#

CS348E: RL Character Animation, Motion Matching. (PYBULLET)


EXTRA: PERSONAL ART (2D)

About me:
I'm a new grad from Stanford University where I studied computer graphics. I love all kinds of art!! When I'm not in school, I'm an illustrator and I love participating in artist allies, and embarking on many strange art journeys.
I am a 3D artist and Unity Engine generalist. Looking for work after I finish my undergrad in December 2024!
[email protected]
reel
resume
new website (carrd)
old website (melissaran.github.io)

Projects in Unity Engine

Ranked by how much I personally enjoy them!

#1

In this project, I combine Shadergraph and ray marching methods to create interesting volumetric and refractive shaders. Shader breakdowns are linked below :)
Solo project, all art is my own.

#2

A mobile game for children, with an illustrated storyline. The game consists of 7 "chapters," each framing an educational AR activity that teaches grade-school science topics. I was heavily involved many aspects of this paper, from game dev, to pilot testing, to art.(That's why I'm the third author on this paper, out of 12. Believe me, it's a flex!)The research poster, and published article is linked below!

#3

Flower generator/ breeder

Totally procedural flowers bloom and intermingle, exchanging genetic info... I mean, uh, tons of parameters in an overly complex data structure...Solo project that took me ~ a week. I like this one because years later, I can still explain it. Each plant contains parameters, like number of nodes, number of offshoots per node, node length, color, and thickness profile. Flowers contain angles of separation between petals, detail width profiles, etc. All these properties are lerped, then saturated when "bred" ... From a parametric description, the flowers are generated and rigged in realtime.

#4

Cake Decorator ft. more Procedural Meshes

Another old side project (team of two) that took me ~ 1 month.
All assets in this project are my own.My favorite thing about this project is the combination of user generated meshes and cute low-poly art!
You can draw using "icings" (tubular meshes) of various shapes, color, and width profiles. You can also "glaze" a cake. The coat of icing on the cake is generated using a modified polar coordinate Marching Squares algorithm, combined with vertex colors.Just to be extra, I implemented a GIF export feature from binary. That's why you see these really pixellated gifs to the right.

#5

My Tumblr Anime Fangame phase

90% of the art and game logic you see above was made by me, in high school. Clearly I had too much time. I don't remember much about it now, but I was staring at Unity and Blender all day for months, to indulge myself and friends online. Isn't this kinda cute?
I would post updates on Tumblr regularly, and get people to join me in a Discord to help me out a bit.

#6

VR Projects

Witch Sim (VR)
I had a lot of fun making this! Special thanks to William Liu
All models, textures, and animations are my own, save the drawings in the book.

thinking at night (VR)
For ARTSTUDI 169. Please play while holding a pillow :-)
Solo project.

#7

Town Generator (ESA Award 2019)

Solo project. All assets are my own.
Procedurally generated towns.

About me:
I'm a new grad from Stanford University where I studied computer graphics. I love all kinds of art!! When I'm not in school, I'm an illustrator and I love participating in artist allies, and embarking on many strange art journeys.
I am a 3D artist and Unity Engine generalist. Looking for work after I finish my undergrad in December 2024!
[email protected]
reel
resume
new website (carrd)
old website (melissaran.github.io)

For these projects I was instructed by Karen Liu. Made with Python, PyBullet.

FRAME-BY-FRAME MOTION MATCHING USING MOCAP ANIMATIONS

WHAT IS MOTION MATCHING?
Your character in a video game may stroll, stumble, sprint, or run their hand against a wall depending on factors such as...
* The player's desired speed
* A sudden change in the player's desired velocity or direction
* The character's proximity to obstacles.
* The character's pervious state (sitting to standing, running to jogging, etc.)
Motion Matching maps a set of parameters characters (say, high forward velocity) to a pre-defined animation (running), creating richer and more context-aware movements for controllable characters.In this project, I leverage a database of mo-capped animations to build a library of animations, each indexed by characteristics such as joint angles and COM velocity. (To be specific, I use a KD tree. It's so powerful!) To challenge my understanding, I extended baseline deliverables by adding jumping functionality and also implemented pose interpolation. The final result is above.


RL SWIMMER:
Super dry summary: Used reinforcement learning to teach a skeleton to float, and then, to swim. Designed and implemented reward and observation space for human body, in order to achieve swimming motion. Implement feasible action space, enforcing skeletal hierarchy and joint angle limitations.

So what is Reinforcement Learning anyway? At this time, April 22nd 2025, I cannot answer this fully and accurately because it's been a while since I took this class. However, I'm sure of this much:I want a skeleton to swim: she's a hierarchy of transforms, one for each of 14 body parts. She's also an array of joint angles -- and each joint has varying degrees of freedom (DOFs) depending on which axis it can or cannot rotate around. So, her pose is represented by an array of scalars = joint angles = DOFs.Using this information, I need to teach her to swim by:1. Defining a scalar reward for her. For example, if I want to teach her to float, I may choose the Y value of her COM as a reward.
2. Defining an action space for her. I need to specify how she can respond to her reward using her joints, which can get complicated when enforcing realistic human joint limits.
3. Defining observation space. As she is learning, extra information may help her, such as the water level, or a sinusoidal time scalar, to give her a sense of rhythm (helpful for swimming perhaps?).
I feed all this information into a black box that is Reinforcement Learning. There are perhaps gnarly things like Hessian matrices involved. The outcome can be seen above.

Please enjoy some fun projects :)

Miffy Pinball: SDF-based Collision Processing (P5JS)

Need I say more? You can play this here.

Fruit Fight - Networking game! (P5JS)

Show your friends how fruity you are. Outlast, outwit, outfruit. Thanks Chris for the video :-)

Interior parallax shader (graph)

SDF-Cavity Decal (graph)

Volume Visualizer (graph)

Underwhelming? Yes but it interacts with the depth buffer and scales correctly.
ദ്ദി ˉ͈̀꒳ˉ͈́ )✧

URP Shader fun... WIP project!

Raymarched and refractive SDF and volume shaders for URP, among other things.
All textures, models, shaders, code etc. are my own :)
download (Mac 119mb)The shaders you see here are....

SDF-Cavity Decal

Refractive parametric UV-tangent-space eyeball

Volume Visualizer (from 3d texture)

Interior parallax shader

JUNE + SECRET ATLELIER

Realtime environment piece I made in Blender (Eevee). Breakdown is embedded below, and also in my reel! All models and textures belong to me, as well as concept art. (In my personal art, I do not use AI.)I created this environment as a part of my art book project, where my goal was to fill 40 pages with original illustration and 3d art within one month, June 2024. I sell this book at vendor events, which I post about on my instagram!This year I have really fallen in love with books. Isn't it crazy that drawings, photos, 3d renders, texts, and even stuff like QR codes can come together to create something new? Please enjoy...

MOON STORY

I was a CURIS intern at Stanford summer 2023 and 2021. Moonstory is an outdoors AR learning journey that I worked very hard on, made in Unity. My contributions include a wide range of things such as... implementing the narrative/ progress system, implementing AR learning activities, creating sprites and artworks, 3d modeling, shaders, wrangling UI, fighting Niantic Lightship, placating child study participants, etc. I definitely pulled late nights for this project, so I'm happy it was accepted to CHI 2024. Thank you to my mentor Alan Cheng for introducing me to HCI research, I had a good time!ARTICLE (ACM)

GLSL PROJECTS (Shadertoy)

Raymarched cloth bells

SEE REVISED CODE (V2)
SEE OLD CODE (V0)

V0: looks good but has a lot of implementation mistakes. I made this freshman year.

V1: corrected normal and light functions, reduce redundant operations. Without DOF and with different color effects.

V2: add DOF

MORE SHADERS of dubious quality

Below: a spicy noodle simulation and a vine grower :)
Password: pup2022

Moon Festival is a short CG animation I created with a team of 10, in two weeks during my internship at Pixar. Below the video, I go into more detail about my experience with this project.Thanks so much to my amazing and kind peers and mentors. I hope you enjoy it!Password: pup2022

My contributions were concept art, tackling numerous shading challenges (including food and the moon monster), helping to create storyboards, and making graphics for our signage-heavy set. I've included these artworks below.Early during the ideation phase I made concept art of this gross egg monster in the sky, thinking about Junji Ito drawings, and the team decided to go with it. This monster had little basis in physical reality: optically, it didn't behave exactly like a moon or an egg, so it was a challenge for me to shade it. I've included a few photos I took of my screen during the shading process, as well as some scallion pancakes I am really proud of.When making illustrations for, and shading the electric signage in the scene, I wanted to convey a retro, familiar, and neon feeling, drawing from my memories of Asian snack packaging and Chinese TV ads I watched as a kid, but with a subtly cursed twist.Please enjoy this gallery of artwork I managed to salvage from the depths of our team Discord channel.