So I am working on a game which is aesthetically supposed to be in the anime style. The aspect I am currently trying to achieve is the eyes. I am looking for a solution to having multiple different eyes being choices for my character.
With unreal I assume that alpha display as invisible so if I made relatively flat plains then an image like this :
should display on the plane without a problem.
if that is the case then I can effectively render the eyes correctly.
hypothetically the type of eye could be changed by using dynamic material blueprints.
I assume I am correct up to this point, however I want to develop a system that allows the pupil/iris to move around the white of the eye behind the eye lashes and highlight and effectively being masked to the white so when it reaches the edge it stops rendering.
I have created the eyes into separate images
- the pupil
- the white
- the eyelids
- the shine (hard to see but it’s there)
- the masks one with the eyelids included the other just the white
With these I could probably just use the material editor to combine the images…from there we could pan the pupil? using variables as inputs then we could control the position of the pupil (I don’t know of a pan in unreal except one that has a time input) the masks or possibly the white of the eyes alpha channel could be used to limit the eyes rendering.
Maybe an advanced feature would be moving the highlights based on environmental light, but that I can not even begin to theorize on.
So making the next leap is that assuming all of this works it would still work with dynamic materials.
The next part is animating the eyes…this I have three ideas in mind
This goes on the principle of ps2 era alpha card animation
basically all the possible animations are on an atlas and it pans the whole image to points on a grid that have different frames of the animation
I can imagine this approach would be fairly intensive since it would require a larger image and the panning would take more processing
so that is why I thought of this
The same as the first except instead of animation being driven by panning you had all images layered on top of one another with them being masked out completely by a full alpha multiply or something to that effect. the full alpha being toggled off for select frames based on a variable…kind of like a state machine…so idle is just the plain eye with iris pupil panning, and at random intervals it will transition to the blinking state that will cycle frames related to the blink animation, then return to the idle…then other states that relate to emotes or facial animation could be developed using the same method…
my thought here is that the process would create strain because the material holds all of the texture information that it will flood memory keeping everything loaded all of the time which makes me think about idea three or perhaps some sort of hybridization or a similar way to keep the textures loaded only as needed.
Having a material for every animation frame. this does seem like a little over kill, but it could hypothetically allow some redundant animation frames being used and I don’t know what the performance of this method would be.
so that is my current thought process, I have seen games the most impressive being Gal Gun: Double Peace
that have achieved amazing results in recreating the anime face and expressions…unfortunately they do not have developer notes I can go off of…that is why I am here. I want to get help or find someone who can develop the aesthetic and technology behind the face…I have only these speculations