64
edits
| Line 48: | Line 48: | ||
| [https://www.youtube.com/watch?v=RbPW2_f4YVk| Test video:Use pulse sensor in unity3D ]<br> | [https://www.youtube.com/watch?v=RbPW2_f4YVk| Test video:Use pulse sensor in unity3D ]<br> | ||
| [[File:connect pulse sensor with Unity.png|left|250px|]] | [[File:connect pulse sensor with Unity.png|left|250px|]] | ||
| ———Unity script——————————————————————<br> | ———Unity script——————————————————————<br> | ||
| using System.Collections;<br> | using System.Collections;<br> | ||
| Line 64: | Line 65: | ||
| ———Unity script——————————————————————<br> | ———Unity script——————————————————————<br> | ||
| 3.realize the rotation and wave of monuments<br> | |||
| Since the pulse sensor is not so sensitive and have delay in any way, I simulate the heart beat | |||
| with sine trigonometric function.<br> | |||
| ———Unity script ————————————————————————————————————————————<br> | |||
| using System.Collections;<br> | |||
| using System.Collections.Generic;<br> | |||
| using UnityEngine;<br> | |||
| public class simulatepulse : MonoBehaviour {<br> | |||
| Vector3 tempos;<br> | |||
| float amplitudeY = 0.5f;<br> | |||
| float omegaY = 2.0f;<br> | |||
| float index;<br> | |||
| void Start () {<br> | |||
| float a = Random.value; <br> | |||
| amplitudeY = amplitudeY + a;<br> | |||
| }<br> | |||
| void Update () {<br> | |||
| float x0 = transform.position.x;<br> | |||
| float z0 = transform.position.z;<br> | |||
| float camerax = Camera.main.transform.position.x;<br> | |||
| float cameraz = Camera.main.transform.position.z;<br> | |||
| float dx = camerax - x0;<br> | |||
| float dz = cameraz - z0;<br> | |||
| index += Time.deltaTime;<br> | |||
| float y = Mathf.Abs (amplitudeY*Mathf.Sin (amplitudeY+(omegaY*index)));<br> | |||
| if((Mathf.Abs(dx) < 2) & (Mathf.Abs(dz) < 2) ){<br> | |||
| transform.localScale= new Vector3(1,1,y);<br> | |||
| }<br> | |||
| ———Unity script ————————————————————————————————————————————<br> | |||
| <br clear="all" /> | <br clear="all" /> | ||
edits