Search Unity

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.