Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

Time based movement / animation

Discussion in 'Scripting' started by wadek3, Mar 24, 2013.

  1. wadek3

    wadek3

    Joined:
    Jan 16, 2013
    Posts:
    59
    First let me preface this by saying that I am really new to coding and Unity.


    I have an object with a Movie Texture on it. I would like another object to to track across this movie so that it 2D tracks an item within the movie. To achieve this I brought the movie into After Effects did 2D tracking on the item and exported the (x,y,z) coordinates to a spreadsheet. In that spread sheet I used a formula to convert the (x,y,z) AE coordinates to (x,y,z) Unity coordinates.

    So now I have the (x,y,z) coordinates that my object needs to move and I have the time from the start of the movie at which that movement needs to occur.

    I know that this works using an animation. However, I may end up making severa dozen levels that use this and the idea of setting that many keyframes is not fun. I would rather have a script that does it.

    I wrote the following script to make my object move and nothing seems to happen. I am trying to get time in milliseconds counting up.

    Code (csharp):
    1. #pragma strict
    2. var position : Vector3;
    3. var startTime = Time.time;
    4.  
    5.  
    6. function Start () {
    7. startTime = Time.time;
    8. }
    9.  
    10. function Update (){
    11.  
    12. var moveTimeA = startTime - Time.time;
    13.  
    14. var moveTimeB = (moveTimeA * 1000) % 1000;
    15.  
    16. if (moveTimeB == 18650){transform.position = Vector3(316,37,159);}
    17. if (moveTimeB == 18783){transform.position = Vector3(309,-23,159);}
    18. if (moveTimeB == 18800){transform.position = Vector3(307.195,-28.8281,159);}
    19. if (moveTimeB == 18816){transform.position = Vector3(304.578,-37.4141,159);}
    20. if (moveTimeB == 18833){transform.position = Vector3(302.984,-42.6523,159);}
    21. if (moveTimeB == 18850){transform.position = Vector3(300.305,-51.0625,159);}
    22. if (moveTimeB == 18866){transform.position = Vector3(298.711,-56.3242,159);}
    23. if (moveTimeB == 18883){transform.position = Vector3(296.418,-63.7891,159);}
    24. if (moveTimeB == 18900){transform.position = Vector3(293.93,-71.0977,159);}
    25. if (moveTimeB == 18916){transform.position = Vector3(292.051,-77.5312,159);}
    26. if (moveTimeB == 18933){transform.position = Vector3(289.359,-85.7539,159);}
    27. if (moveTimeB == 18950){transform.position = Vector3(287.797,-90.7969,159);}
    28. if (moveTimeB == 18966){transform.position = Vector3(285.07,-99.625,159);}
    29. if (moveTimeB == 18983){transform.position = Vector3(283.367,-105.09,159);}
    30. if (moveTimeB == 19000){transform.position = Vector3(280.891,-112.609,159);}
    31. if (moveTimeB == 19016){transform.position = Vector3(278.531,-120.238,159);}
    32. if (moveTimeB == 19033){transform.position = Vector3(276.293,-127.316,159);}
    33. if (moveTimeB == 19050){transform.position = Vector3(273.594,-135.5,159);}
    34. if (moveTimeB == 19066){transform.position = Vector3(271.855,-140.777,159);}
    35. if (moveTimeB == 19083){transform.position = Vector3(269.453,-148.637,159);}
    36. if (moveTimeB == 19100){transform.position = Vector3(267.195,-156.262,159);}
    37. if (moveTimeB == 19116){transform.position = Vector3(264.656,-163.203,159);}
    38. if (moveTimeB == 19133){transform.position = Vector3(262.27,-171.703,159);}
    39. if (moveTimeB == 19150){transform.position = Vector3(260.5,-177.293,159);}
    40. if (moveTimeB == 19166){transform.position = Vector3(257.707,-185.223,159);}
    41. if (moveTimeB == 19183){transform.position = Vector3(255.406,-193.66,159);}
    42. if (moveTimeB == 19200){transform.position = Vector3(253.273,-200.383,159);}
    43. if (moveTimeB == 19216){transform.position = Vector3(251.34,-206.645,159);}
    44. if (moveTimeB == 19233){transform.position = Vector3(248.391,-215.742,159);}
    45. if (moveTimeB == 19250){transform.position = Vector3(246.5,-221.676,159);}
    46. if (moveTimeB == 19266){transform.position = Vector3(242.691,-232.5,159);}
    47. if (moveTimeB == 19283){transform.position = Vector3(240.594,-239.449,159);}
    48. if (moveTimeB == 19300){transform.position = Vector3(237.656,-248.328,159);}
    49. if (moveTimeB == 19316){transform.position = Vector3(235.594,-255.07,159);}
    50. if (moveTimeB == 19333){transform.position = Vector3(233.156,-262.738,159);}
    51. if (moveTimeB == 19350){transform.position = Vector3(230.156,-272.184,159);}
    52. if (moveTimeB == 193667){transform.position = Vector3(227.949,-279.195,159);}
    53. if (moveTimeB == 19383){transform.position = Vector3(225.465,-286.992,159);}
    54. if (moveTimeB == 19400){transform.position = Vector3(222.57,-296.613,159);}
    55. if (moveTimeB == 19416){transform.position = Vector3(220.43,-303.348,159);}
    56. if (moveTimeB == 19433){transform.position = Vector3(217.91,-311.414,159);}
    57. if (moveTimeB == 19450){transform.position = Vector3(214.852,-321.285,159);}
    58. if (moveTimeB == 19466){transform.position = Vector3(212.734,-328.336,159);}
    59. if (moveTimeB == 19483){transform.position = Vector3(210.094,-336.746,159);}
    60. if (moveTimeB == 19500){transform.position = Vector3(206.871,-347.133,159);}
    61. if (moveTimeB == 19516){transform.position = Vector3(204.781,-354.199,159);}
    62. if (moveTimeB == 19533){transform.position = Vector3(201.914,-363.125,159);}
    63. if (moveTimeB == 19550){transform.position = Vector3(198.926,-373.195,159);}
    64. if (moveTimeB == 19566){transform.position = Vector3(196.309,-381.16,159);}
    65. if (moveTimeB == 19583){transform.position = Vector3(193.82,-390.211,159);}
    66. if (moveTimeB == 19600){transform.position = Vector3(190.891,-399.695,159);}
    67. if (moveTimeB == 19616){transform.position = Vector3(188.145,-408.82,159);}
    68. if (moveTimeB == 19650){transform.position = Vector3(180.074,-432.449,159);}
    69. if (moveTimeB == 19666){transform.position = Vector3(177.273,-444.145,159);}
    70. if (moveTimeB == 19683){transform.position = Vector3(176.312,-447.109,159);}
    71. if (moveTimeB == 19700){transform.position = Vector3(173.105,-458.871,159);}
    72. if (moveTimeB == 19733){transform.position = Vector3(166,-482.305,159);}
    73. if (moveTimeB == 19750){transform.position = Vector3(162.832,-494.809,159);}
    74. if (moveTimeB == 19766){transform.position = Vector3(161.762,-498.281,159);}
    75. if (moveTimeB == 19783){transform.position = Vector3(158.117,-510.703,159);}
    76. if (moveTimeB == 19800){transform.position = Vector3(155.5,-519.906,159);}
    77. if (moveTimeB == 19816){transform.position = Vector3(152.504,-529.945,159);}
    78. if (moveTimeB == 19833){transform.position = Vector3(148.926,-542.645,159);}
    79. if (moveTimeB == 19850){transform.position = Vector3(146.242,-551.871,159);}
    80. if (moveTimeB == 19866){transform.position = Vector3(143.07,-563.031,159);}
    81. if (moveTimeB == 19883){transform.position = Vector3(139.938,-574.172,159);}
    82. if (moveTimeB == 19916){transform.position = Vector3(132.969,-598.582,159);}
    83. if (moveTimeB == 19933){transform.position = Vector3(130.141,-608.387,159);}
    84. if (moveTimeB == 19950){transform.position = Vector3(126.211,-622.523,159);}
    85. if (moveTimeB == 19966){transform.position = Vector3(123.418,-632.309,159);}
    86. if (moveTimeB == 19983){transform.position = Vector3(120.168,-644.449,159);}
    87. if (moveTimeB == 20000){transform.position = Vector3(116.238,-658.461,159);}
    88. if (moveTimeB == 20016){transform.position = Vector3(113.176,-669.395,159);}
    89. if (moveTimeB == 20033){transform.position = Vector3(109.391,-682.445,159);}
    90. if (moveTimeB == 20050){transform.position = Vector3(106.176,-695.039,159);}
    91. if (moveTimeB == 20066){transform.position = Vector3(102.43,-708.309,159);}
    92. if (moveTimeB == 20083){transform.position = Vector3(98.2344,-724.16,159);}
    93. if (moveTimeB == 20100){transform.position = Vector3(95.0703,-736.371,159);}
    94. if (moveTimeB == 20116){transform.position = Vector3(91.6484,-747,159);}
    95. if (moveTimeB == 20133){transform.position = Vector3(86.9258,-757.039,159);}
    96. if (moveTimeB == 20150){transform.position = Vector3(76.9258,-775.039,159);}
    97. if (moveTimeB == 20166){transform.position = Vector3(71.4258,-785.539,159);}
    98. if (moveTimeB == 20183){transform.position = Vector3(65.9258,-797.039,159);}
    99. if (moveTimeB == 20200){transform.position = Vector3(61.5,-806,159);}
    100. if (moveTimeB == 20216){transform.position = Vector3(53,-820,159);}
    101. if (moveTimeB == 20233){transform.position = Vector3(46,-833,159);}
    102. if (moveTimeB == 20250){transform.position = Vector3(41.1055,-845.566,159);}
    103.  
    104. }
     
    Last edited: Mar 24, 2013
  2. ardo314

    ardo314

    Joined:
    Jul 7, 2012
    Posts:
    345
    Did you use Debug.Log to look at your moveTimeB ?
    Imho your checks dont make sense since the result of modulo 1000 will always be smaller than 1000.
     
  3. wadek3

    wadek3

    Joined:
    Jan 16, 2013
    Posts:
    59
    No I will try the Debug.Log. However, I also just ran across Keyframe in the scripting reference. This might be what I am trying to do but like I said I am really new to scripting so this stuff takes me a long time. I will try using Debug.Log and post and update.
     
  4. wadek3

    wadek3

    Joined:
    Jan 16, 2013
    Posts:
    59
    yeah my if functions with the moveTimeB are not registering using the Debug. Everything else works.