top of page

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

Screen Shot 2020-05-12 at 7.22.52 PM.png
Screen Shot 2020-05-12 at 9.46.41 PM.png

edit the whole body,

add armature,

and create animation

Screen Shot 2020-05-12 at 10.08.10 PM.pn
Screen Shot 2020-05-12 at 9.58.05 PM.png
Screen Shot 2020-05-12 at 10.02.47 PM.pn

modification on Ears and 

create animation

0001.png

Add armature and create animation

Try to put the organisms into landscape scene

Screen Shot 2020-05-12 at 6.50.24 PM.png

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

Screen Shot 2020-05-13 at 7.28.52 PM.png
Screen Shot 2020-05-13 at 7.29.06 PM.png
Screen Shot 2020-05-13 at 7.28.05 PM.png
Screen Shot 2020-05-13 at 7.28.56 PM.png
Screen Shot 2020-05-12 at 10.23.36 PM.pn
Screen Shot 2020-05-13 at 7.27.30 PM.png
Screen Shot 2020-05-13 at 7.32.27 PM.png
Screen Shot 2020-05-13 at 7.32.56 PM.png

Simulation of floating object​ in Unity

Screen Shot 2020-05-13 at 7.11.28 PM.png

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;
    }

}

Screen Shot 2020-05-13 at 7.11.47 PM.png

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);
}
    }
  }

Screen Shot 2020-05-13 at 7.11.47 PM.png

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

IMG_2016 2.JPG
Recording 1: Waves at beach
00:00 / 10:08
Recording 2: hydrophone buried in sand below water
00:00 / 10:08
Recording 3: Waves beside shore
00:00 / 10:08
Recording 4: sound made by organisms in seashells in water
00:00 / 10:08

 

 

 

 

 

 

 

 

 

After editing in Reaper

Used Effect: VST:ReaEQ (Cockos)

VST:ReaVerbate (Cockos)

VST:ReaFir (FFT+ EQ+Dynamics Processor) (Cockos)

Screen Shot 2020-05-11 at 6.30.44 PM.png
Audio for Speaker 1
00:00 / 10:09
Audio for Speaker 3
00:00 / 10:09
Audio for Speaker 2
00:00 / 10:09
Audio for Speaker 4
00:00 / 10:09

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

.png
.png

Edit soundtrack according to the position of the camera in the view.

Lighting in Unity (Animate the lighting)

Screen Shot 2020-05-13 at 7.09.17 PM.png

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.

bottom of page