World of visible and invisible.
LO CHEUK YIU
In sound of forest, why do different species of animals hear and recognise their mates in such a noisy environment? It is because they hear different range of frequency corresponds to the total spectrum of sound. None can listen sound created by all creatures, but living beings share the space of communication. There are existing overlapping sound that human beings are unable to hear. What about the vision?
Is there possibilities that there are invisible creatures penetrating across our bodies, living in the same world with us but overlapping invisibly with human. Thus, This project could also be interpreted as questioning the vision of human and the existence of the invisibility.
Sketches for the project
References for the project
References for the sound
Tomoko Sauvage: https://o-o-o-o.org/sound/
Jezriley French: https://soundcloud.com/jezrileyfrench/sets/examples-of-hydrophones
Idea Development
Video Making
Balloon fish in the gallery (Download files from Turbosquid)
Edit of Downloaded Models
edit the whole body,
add armature,
and create animation
modification on Ears and
create animation
Add armature and create animation
Try to put the organisms into landscape scene
Final outcome of the video
changing one specie every 5 seconds
For the arrangement in lighting and the video, one colour of light in the room reveals two species. Thus, the type of species is changed every five seconds (same as the flashing time of light).
Balloon fish in the gallery (Download files from Turbosquid)
Change all fish into metallic texture with material attached in blender in order to imitate the texture of foil balloon
Simulation of floating object in Blender
Simulation of floating object in Unity
Try to add a Windzone in Unity as wind and turbulence in blender works will. But the script of windzone has failed and I try to used other methods (see the two scripts below).
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WindArea : MonoBehaviour
{
public float strength;
public Vector3 direction;
void Start()
{
var wind = gameObject.AddComponent<WindZone>();
wind.mode = WindZoneMode.Directional;
wind.windMain = 0.70f;
wind.windTurbulence = 0.1f;
wind.windPulseMagnitude = 2.0f;
wind.windPulseFrequency = 0.25f;
}
}
Add script of floating properties and clamp the objects in a specific area.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LO_antonia_balloonfloat : MonoBehaviour
{
public float floatStrength = 2f;
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
GetComponent<Rigidbody>().AddForce(Vector3.up * floatStrength);
Vector3 AddNoiseOnAngle ( float min, float max) {
// Find random angle between min & max inclusive
float xNoise = Random.Range (-7, 1);
float yNoise = Random.Range (-1, 2);
float zNoise = Random.Range (-6, -2);
// Convert Angle to Vector3
Vector3 noise = new Vector3 (
Mathf.Sin (2 * Mathf.PI * xNoise /360),
Mathf.Sin (2 * Mathf.PI * yNoise /360),
Mathf.Sin (2 * Mathf.PI * zNoise /360)
);
return noise;
}
{
if(transform.position.x < -3)
transform.position = new Vector3(-3, transform.position.y, transform.position.z);
if(transform.position.x > 19)
transform.position = new Vector3 (19, transform.position.y, transform.position.z);
if(transform.position.y < 1)
transform.position = new Vector3(transform.position.x, 1, transform.position.z);
if(transform.position.y > 2)
transform.position = new Vector3(transform.position.x, 2, transform.position.z);
if(transform.position.z < -2)
transform.position = new Vector3(transform.position.x, transform.position.y, -2);
if(transform.position.z > -3)
transform.position = new Vector3 (transform.position.x, transform.position.y, -3);
}
}
}
Add a script of dragging force
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class LO_antonia_SimpleFloating : MonoBehaviour {
public bool animPos = true;
public Vector3 posAmplitude = Vector3.one;
public Vector3 posSpeed = Vector3.one;
public bool animRot = true;
public Vector3 rotAmplitude = Vector3.one*20;
public Vector3 rotSpeed = Vector3.one;
public bool animScale = false;
public Vector3 scaleAmplitude = Vector3.one*0.1f;
public Vector3 scaleSpeed = Vector3.one;
private Vector3 origPos;
private Vector3 origRot;
private Vector3 origScale;
private float startAnimOffset = 0;
/**
* Awake
*/
void Awake() {
origPos = transform.position;
origRot = transform.eulerAngles;
origScale = transform.localScale;
startAnimOffset = Random.Range(0f, 540f); // so that the xyz anims are already offset from each other since the start
}
/**
* Update
*/
void Update() {
/* position */
if(animPos) {
Vector3 pos;
pos.x = origPos.x + posAmplitude.x*Mathf.Sin(posSpeed.x*Time.time + startAnimOffset);
pos.y = origPos.y + posAmplitude.y*Mathf.Sin(posSpeed.y*Time.time + startAnimOffset);
pos.z = origPos.z + posAmplitude.z*Mathf.Sin(posSpeed.z*Time.time + startAnimOffset);
transform.position = pos;
}
/* rotation */
if(animRot) {
Vector3 rot;
rot.x = origRot.x + rotAmplitude.x*Mathf.Sin(rotSpeed.x*Time.time + startAnimOffset);
rot.y = origRot.y + rotAmplitude.y*Mathf.Sin(rotSpeed.y*Time.time + startAnimOffset);
rot.z = origRot.z + rotAmplitude.z*Mathf.Sin(rotSpeed.z*Time.time + startAnimOffset);
transform.eulerAngles = rot;
}
/* scale */
if(animScale) {
Vector3 scale;
scale.x = origScale.x * (1+scaleAmplitude.x*Mathf.Sin(scaleSpeed.x*Time.time + startAnimOffset));
scale.y = origScale.y * (1+scaleAmplitude.y*Mathf.Sin(scaleSpeed.y*Time.time + startAnimOffset));
scale.z = origScale.z * (1+scaleAmplitude.z*Mathf.Sin(scaleSpeed.z*Time.time + startAnimOffset));
transform.localScale = scale;
}
}
}
Recording for the project
Recording Equipment: Hydrophone
After editing in Reaper
Used Effect: VST:ReaEQ (Cockos)
VST:ReaVerbate (Cockos)
VST:ReaFir (FFT+ EQ+Dynamics Processor) (Cockos)
Differences of four audios are the volume of different soundtrack.
All of the audios include four soundtrack recorded in different place. The volume of three soundtracks remains at the same level, only one soundtrack is a bit louder. This arrangement is aimed at providing audience experiencing the space of sound.
Four audios are placed at the four top corners in the gallery room.
Setting of the project
Edit soundtrack according to the position of the camera in the view.
Lighting in Unity (Animate the lighting)
Screenshots of the gallery space in Unity
Testing of the piece in Unity
Representational video of my project
LO Cheuk Yiu, Peaceful coexistence, video, 2020
Tangibility and visibility is the evidence of existence. All lives see and hear at a certain range, but we co-eixt peacefully.