Since my last journal entry, I have been blocking in more of my Unity project. As mentioned before, I am basically reinterpreting Duchamp's The Bride Stripped Bare by her Bachelors, Even into an interactive, postmodern context.
I plan to do this by having the player shoot at a large feminine object. Each succesful hit rewards the player with a slightly misshapen copy of the large feminine object. They repeat until all targets are hit.
My plan is to have a rough playthrough by the end of this year. Then I can continually refine, expand and change things for the remaining months.
I also found a handy to-do list type thing in GitHub. I need to start using this as I keep forgetting about changes I need to make.
I now have many targets along the object of desire. They each have an in-world UI to display the text in. It is pretty much just for debugging at the moment.
I also built a trigger that drops a number of object of desire clones on to the player. However I may need to make a basket to keep them in. Or maybe the player has to cycle through them to choose their favourite?
I also added a trigger zone that send the player back to the start. The idea is to make this seemless so it seems like they are climbing higher and higher but also picking up where they left off.
I now have a working,  looping experience. There are however, many issues with this so far, and they can probably be worked out from the video. The dispenser drops many desire rewards instead of the number of targets that had been destroyed on the large object of desire. I do have a script that counts how many targets have been destroyed, I just need it to be utilised in other places.
The targets also just have a number that runs down, there's no feedback to know they are actually doing something.
I am going to attempt to give the player a choice at the end of each run. They can choose to have the desire object acompany them or discard them. I'm not exactly sure how this would work yet but I know I am going to need some functionality that allows the user to select items.
I began work on the selection functionality. I plan to get it working as quickly as possible so I can move back to the design and I can refine it later.
I plan to have a circle grow around the player reticle when it hovers over a selectable object. Although the functionality is different, it would look like the GUI in The Legend of Zelda: Breath of the Wild.
I can see this type of radial animation being irritating to make in Unity, so I am going to quickly make one in After Effects, then I can export it as a png sequence for Unity.
I added a little bit of acceleration on the radial wipe to make it more interesting. It also pulses when it is full to give a bit of feedback on the selection.
I did a bit of research on how to get this animation into Unity, and nobody recommends this kind of animation for UI because it is so expensive. I just want the functionality now and I'll fix it later. I managed to turn it into a sprite and child it to the camera so it appears as on screen UI, despite being in world-space.
I also fixed the dispenser so it drops the correct number of rewards and only runs once per run.
Now I need to build the functionality for the animation to play when a selectable object is looked at. And to select the object after the animation is complete. I thought this was going to be a little bit tricky to achieve, as it is always difficult to code something that should only happen once.
I managed to get it working relatively quickly however. I needed to split the animation into two in unity. I then used the animator to handle what animation to paly and how to play it. So the speed is increased from zero to one when a selectable object is pointed at. When the player looks away, the animation plays at -1x speed until it is back at the beginning. When the animation is complete, an event triggers a function that sets a public boolean to let other objects know the animation is complete. Also, the animator automatically continues to the next animation which fades it out.
I cleaned up a couple of issues I was having with a couple of the interactions. The circle fill bar UI would only work for one object at a time and I could not work out why. It turns out, that the desire objects set the animation back to the beginning when the player is not pointed at them. This means one object would set the animation back to the beginning when another was being pointed at. I was able to fix this by creating a 'selectable object' tag that will allow me to make sure the selectable objects do not conflict with one another.
I fixed an issue where the red targets would disappear when they were pointed at by the player. I worked out that they were not actually disappearing, but instead the animation that is triggered by looking at it set its position in global space, meaning that it moved to the position of the first target. This was easily fixed by giving the object a parent so the animation transfor was based in local space.
I am also thinking about how the player can interact with the rewards at the end. I am thinking about getting them to inspect the object then choose whether they wish to keep or discard it. Sort of like a tinder swipe left or right kind of thing.
The past few days I have just been trying to finalise this desire scene so I can add it to the narrative I have made so far. My main concern at the moment, is that I am saying too many things at once, and there is nothing cohesive holding it together, and no apparent motive for my creative decisions.
Hopefully this is a case of occasionally taking a step back, looking at the project as a whole, then making the right changes kind of problem and not anything too drastic.
I only noticed the feedback from Paul in our last meeting last night, so I am going to have a look through it this morning.
Thankfully, I think I have covered most of the points made in the written feedback in a journal post at the end of November, which means I haven't missed anything but Paul also left a couple of artists I may be interested in at the end of the note.
The first of which is Alan Warbuton, from what I've seen, his work tends to focus on British corporate culture, and he explores it in 3D.
One piece has stood out to me in particular, 'Z'. In other works I would feel shallow for focussing on what is usually a purely technical aspect, but in this case it is the focus of the entire piece, and that is the z-depth. Z-depth in computer graphics is essentially how far away a polygon is to the virtual camera. The closer the object is, the later it will be drawn. This prevents objects from being drawn on top of one another.
However, in this piece, Warburton takes us through a still landscape in which the only rendering is z-depth. This creates a ghostly atmosphere. The world feels cold and dead, the z-depth creates the illusion of fog. I think this effect would be quite easy to implement so I may look into it deeper.
This got me thinking, the effect looks quite natural, maybe a bit eerie. What if the colours were inverted?- the closest objects being white and the furthers away black.



Anyways, I think this can be a relatively easy way of making the shaders more interesting that I'll keep in mind. I can see it combined with a regular albedo colour/ texture for objects that need to stand out.
This piece, Soft Crash, is of particular interest to me as it deals with similar-ish themes (late-capitalist, surreal, digital). It is also dense with imagery, almost overwhelmingly so. The piece is made up of six different scenes, but they seem to be quite cohesive?
I think Spherical Harmonics may be Warburton's most powerful piece that I have seen yet. I like the simplicity and the quitness of the objects, that internally explode, revealing their digital innards but with no effect to the scene around them. It's like these traditional artistic tropes- the still life, the female nude are screaming into the void but all of  their actions are self-referential.
I much prefer the focused, quiet nature of this piece compared to the loud mess of 'Soft Crash'.
The artist likely had something else in mind when creating this work, but I can't help but read it in the context of my own. These familiar objects expose their aura to us, but in reality they are hollow. This reality is perfect, but empty.
I may need to go back and rewrite my brief. I feel like I am losing focus, and I can't really remember what I am trying to achieve. I think I need to establish a direction, and simplify my approach. A big part of the problem is, that while I have been researching, my understanding of semiotics, postmodernism and reification has changed. I don't think I realised that until now, and this may partly explain why I feel lost.
Okay, after writing a little bit about my attitude to each theme in my sketchbook, I have articulated what I want to explore:
In late-capitalism, or postmodernism there is an attitude that nothing truely new can be created, and all movements are references to the past. On an individual level, relationship to reality are mediated by representations in Media e.g. true love, what is 'cool', patriotism etc.
Most work has become aesthetic, artists now look and behave like artists, which seems almost paradoxical. Looking edgy and avant-garde now has a specific look, which involves wearing dungarees and bleaching your hair. I think this aestheticisation leads to a degree of narcissism, in which to prove your identity it needs to be advertised through social media etc.
This has turned in to a bit of a ramble so I shall try to be concise...
I aim to explore how commodities mediate our experience of the human condition.
By commodities, I mean any object or action in late-capitalist society designed with the intent of proucing capital.
By human condition, I mean experiences that are uniquely and universally human. I split this into three areas:
-birth, infancy and the relationship to the mother
-love, conflict and desire - sexual maturity
I will explore this through three commodities, each containing an aura of the human condition in postmodernity.
I spent an hour or two last night going through a tutorial on HSLS and Cg. I am not yet sure of the difference between the two. I think HSLS may be unity specific and holds a container for Cg- which stands for C Graphics. I have no idea how to code with C, apparently it is much more difficult than C# but I a lot of shader code doesn't seem that complex so I am hoping I can learn enough in a reasonably short time to achieve an understanding that would allow me more freedom with custom shaders.
I am stepping away from the shader graph purely due to the lack of documentation on it. Rendering objects based on a Z-buffer is theoretically really simple (I think) but I couldn't find a comprehensive guide to it in the shader graph. I could however, find guides to it in 'ShaderLab'.
I am using Alan Zuconni's shader tutorials. So far they have been fairly easy to understand, but I haven't gotten in to the actual coding yet.
I am most interested in trying out two types of shader. The Z-buffer shader, like I showed in the gifs yesterday, and an outline shader. I don't know how these would look together, but I just want to have the chance to play around with them. I like the simplicity of them both; the z-buffer makes a hazy computer graphicy looking scene, and the outlines lack close detail, possibly appearing memory like.
I found a tutorial on edge-detection a while back, where Daniel Ilett takes image effects from Super Mario: Odyssey, and recreates them in Unity.

Edge detection in Mario: Odyssey on right

His tutorial covers a basic edge-detection in within a couple of paragraphs, so hopefully this would be easy to achieve...

Edge detection in Daniel Ilett's tutorial

I had my tutorial with Paul today and we pretty much just discussed the themes and possible ways forward. It was a positive session and I think it reminded me that this project is still a work in progress and if I keep moving forward and making, I'll produce the best thing I can.

Later on however, I continued my tutorials on Unity's shader language until I realised the language hasn't been supported by Unity for years. I will have to find tutorials on shading in Unity's Universal Render Pipeline. The tutorial is still useful on conceptualising how shaders work so I may still finish them.
After heading back home for christmas, I didn't get as much work done. When I did, I didn't document it. I will use this journal entry to round off the year to show where my work is at before I start working again for semester 2.
Essentially I just used my time getting into Unity's graphics. This proved a surprisingly difficult task because Unity essentially removed support for writing shaders. Instead, users are encouraged to use the shader graph. For the most part this seems to work fine for me but tutorials for the shader graph are rare, and it takes me a while to translate shader code written in HLSL or CG into the shader graph.
I still managed to create a z-depth shader. After reading up on CG one night I realised I don't need to access the renderer's Z depth map, I could just recreated by mapping the distance between the player and the material to a 0-1 value. If I want a colour, I can just multiply it by the colour. This was irritatingly simple to achieve, but at least I learned a lot about computer graphics.
Certain shaders can be applied to the entire rendered image. For example, these can be the post processing effects in Unity like bloom and motion blur. However, now with the scriptable render pipelines, it is much more difficult to apply these sorts of effects.
If I understand correctly, Unity used to make the generated render passes easily accessible. This is no longer the case and I had to use a script Cyan Gamedev wrote for their blog. This can be applied as a render feature in the post processing renderer allowing for screen shaders to be written and applied via the shader graph. Due to the lack of documentation, this took me a long time to figure out.
Now I can relatively easily apply image-effects to the whole screen.
I can now add effects like dither easily. I also discovered that Unity has built in UV manipulations. If I link this to sin(t) then I can get some trippy effects.
Back to Top