Search Unity

Input.Touches - Simple Gesture Solution

Discussion in 'Assets and Asset Store' started by Song_Tan, Apr 28, 2012.

  1. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    I'm guessing you are getting a null reference error for the particle prefab? You have to assign a prefab. If you are not sure, please look carefully at my example in TapDemo scene and TapDemo.cs. I used variable indicator as the particlePrefab but before I call Instantiate, I declared the variable in the code and manually assigned it in Inspector.
     
  2. Mars91

    Mars91

    Joined:
    Mar 6, 2012
    Posts:
    572
    My problem is related to position and not to the prefab.
     
  3. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    You mentioned about no prefab in game? Can you be more specific? like show me what's on the error log?

    If there's no error, is the problem is the prefab is not showing? In that case, I'll need to know the prefab, what exactly it's and where and how your camera is placed with respect to the prefab being spawned.
     
  4. DannyB

    DannyB

    Joined:
    Jun 20, 2012
    Posts:
    214
    Hey,

    I am trying to create a scrollable area (without using any Unity GUI elements).
    So the way I see it, I need to track both drag and swipe - dragging moves the scrollable area exactly by the same number of pixels of the drag, thats easy.
    Swiping keeps some inertia to the scrollable area. That by itself is also easy.

    The thing is - at least to my understanding - that the swipe gesture alone is not enough to handle both, the drag gesture is also not enough.
    So I was trying to use both onDrag and onSwipe.

    I would imagine that the Swipe event should only be triggered when the "drag" occurred over a short amount of time.
    I mean, the difference between dragging and swiping, is that swiping starts and finishes quickly - so time, not distance.

    In any case, I am still trying different approaches, but I was hoping that swipe would be time based.
    Right now my onSwipe delegate is being called even when I do what I consider a drag and not a swipe. I guess that's the best way to summarize.

    Am I missing something obvious? Or not obvious?.... :)
     
  5. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    I understand the issue. There were time when I myself is struggling to juggle these two to the right balance. The thing with swipe is, it's situational. There are time when each swipe will to be fast and there are time when even a slow drag across the screen has to be consider a swipe. Ultimately, swipe is for situation when you need to identified user has move a finger across the screen and lifted, all in one direction. On the other hand, drag is to a way to know if the user finger has moved while touching the screen with no regard to direction.

    In your case, I would suggest you to drop the onDrag and uses only onSwipe. You can configure SwipeDetector to detect swipe even at a very low speed, with a high time allowance. That way, you get a swipe event regardless of the speed. You can then set a speed and duration threshold in your own code after the event fired to decide should this be a "swipe" or "drag" by your own defination.

    Not sure if this answer your question. :)
     
  6. DannyB

    DannyB

    Joined:
    Jun 20, 2012
    Posts:
    214
    Thanks Songtan, you are quick.

    As a matter of fact, I think I found a very nice and simple solution and I think your other users would benefit from this idea of mine.
    1. I have used only OnDrag - I am tracking onDrag, onDragStart and onDragEnd
    2. On start, I remember the time and position
    3. During drag, I just move my element
    4. On Drag End, I see if it is a "flick" - meaning, if the time difference from start to end is short enough, if so, I do something in addition - which in my case, is update some velocity variable that is then handled by my Update() to create inertia

    So, while I understand your Swipe argument, there is definitely an onFlick missing.
    I think you can easily add it to the package.
    OnFlick does NOT have any event that is called DURING the flick, as a flick is considered a flick only when it is done.

    So, future users who would want to make a scrollable element, would simply do:
    On Drag = update the position of their element
    On Flick = use the events speed and direction to continue the inertia.

    In other words, OnFlick is designed so it can be used as a complementary event to other (drag or otherwise) events.

    How does this sound?
     
  7. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    I agree. It's a very sound suggestion. :)

    I'll do what I can in the next update. But I must apologize cause it will be some time off from now. Been quite busy time recently. Thanks for your understanding.
     
  8. DannyB

    DannyB

    Joined:
    Jun 20, 2012
    Posts:
    214
    Excellent, no rush as far as I am concerned.
     
  9. Djaydino

    Djaydino

    Joined:
    Aug 19, 2012
    Posts:
    48
    hi i just bought this asset and i got 3 errors on it (all about the same line) :

    Assets/InputTouches/ExampleScripts/C#/TapDemo.cs(150,59): error CS1061: Type `UnityEngine.ParticleSystem' does not contain a definition for `startLifetime' and no extension method `startLifetime' of type `UnityEngine.ParticleSystem' could be found (are you missing a using directive or an assembly reference?)

    i changed the line :

    into

    and have no error now. but dont know if this is ok.

    could you also make some example scripts in .js pls
    i never used C# yet.
     
  10. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    Sorry for the slow respond. Very interesting indeed.

    I'm not sure how this happen, but startEnergy is the startLifeTime equivalent of current ParticleSystem in legacy ParticleSystem. I'm pretty sure if you are using the latest Unity and the shuriken particle system, you would need startLifeTIme instead of startEnergy. Hence the reason the code is written in such way and I havent got feedback about such error so far.

    See this 2 links:
    http://docs.unity3d.com/Documentation/ScriptReference/ParticleSystem.html
    http://docs.unity3d.com/Documentation/ScriptReference/Particle.html

    I'm not sure would there in any repercusion doing such change in your case (changing startLifeTime to startEnergy). But if it eliminates the error and the demo works without any obvious anormaly then I suppose it's fine.

    I promise I'll translate one or two of the demo scene into .js in the next update. If you need any immediate example or a certain solution in a hurry, please let me know. I'll see what I can do.
     
  11. Mars91

    Mars91

    Joined:
    Mar 6, 2012
    Posts:
    572
    Hi I need you help to write a drag script
    What function I have to use?

    Gesture.onDraggingStartE

    Gesture.onDraggingE
     
  12. DannyB

    DannyB

    Joined:
    Jun 20, 2012
    Posts:
    214
    It depends on what data do you need during the drag.
    onDragStart and onDragEnd will call your functions when a drag is started or ended respectively.
    onDragging will call your function repeatedly during the drag.

    The best way to figure out what is best for your needs is to simply Debug.Log some members of the DragInfo class.
    To see what is available, look at the PublicClass.cs, and look for the DragInfo class definition.

    If you need something to move with the drag, you will need onDragging.
    You can still use onDragStart and onDragEnd in ADDITION to onDragging, to do something on on your dragged objects.

    For example:
    onStart - highlight the object
    onDragging - move the object with the drag coordinates
    onEnd - stop highlighting the object
     
  13. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    Thanks again Danny. :)

    There are some very basic lines of code in Listener.js in the package which should help you get started. I've extended it a bit further to help you understand better what Danny is saying about DragInfo class.

    Code (csharp):
    1.  
    2. function OnEnable(){
    3.     Gesture.onDraggingStartE += OnDraggingStart;
    4.     Gesture.onDraggingE += OnDragging;
    5. }
    6.  
    7. function OnDisable(){
    8.     Gesture.onDraggingStartE -= OnDraggingStart;
    9.     Gesture.onDraggingE -= OnDragging;
    10. }
    11.  
    12. function OnDragging(info:DragInfo){
    13.     //info.pos - cursor pos
    14.     //info.delta - move direction of the drag
    15.     //info.fingerCount - how many finger is doing the drag
    16.     //info.isMouse - is the drag being emulate by mouse
    17.    
    18.     //get previous screen pos
    19.     Vector2 pos=info.pos-info.delta;
    20.  
    21.     Debug.Log("user is dragging on screen from "+pos+" to "+info.pos);
    22. }
    23.  
    24. function OnDraggingStart(info:DragInfo){
    25.     //info.pos - cursor pos
    26.     //info.delta - move direction of the drag
    27.     //info.fingerCount - how many finger is doing the drag
    28.     //info.isMouse - is the drag being emulate by mouse
    29.  
    30.     Debug.Log("A drag event with "+info.fingerCount+" finger(s) has been detected");
    31. }
    32.  
     
  14. Count_Zer0

    Count_Zer0

    Joined:
    Sep 12, 2012
    Posts:
    6
    Is it possible to mask out an area from the Gestures?

    Use case example:

    I have a slider that I want to grab and move but I do not want Gesture to recognize the touch and rotate the screen around when I'm interacting with the slider.

    Thanks,

    -jason
     
  15. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    Hi Jason,

    Yes, it can be done. All the events, except rotation (screen twisting) is past with the screen position where the input gesture take place. You can use that information to check if the gesture has been performed in the screen space you allocated, or interact with any of the GUI element before carry on with the subsequent code.

    I'll add input position to the rotation event in the next update.
     
  16. taforyou

    taforyou

    Joined:
    Jul 15, 2012
    Posts:
    13
    i want to try it but do you have any chance for discount in future ?
     
  17. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    Thanks for the interest. I'm afraid there wont be a discount coming in the foreseeable future, at least on the AssetStore anyway. But I could give you a discount of $5 if you do a direct purchase from me. Please note that you wont be able to get the copy from AssetStore of course, but from a external link which I provide. If you are happy with that, please let me know. :)
     
  18. Djaydino

    Djaydino

    Joined:
    Aug 19, 2012
    Posts:
    48
    is there an update coming soon, with .js samples?
    only a copy from the scripts converted into .js is enough
    or even just the important parts so its easy to copy/paste it maybe
     
    Last edited: Oct 8, 2012
  19. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    I'm afraid not. I still havent finish converting all of the examples. Plus there's a few modification I need to do before the release. Very sorry to dissapoint.

    Anyway, is there any specific example that you need? I could finish it quickly and send it to you.
     
  20. Djaydino

    Djaydino

    Joined:
    Aug 19, 2012
    Posts:
    48
    maybe start with a multi touch sample

    as what i need atm is to raycast multiple rays.
    i have multiple raycast already atm but not using Input.Touchs
    and would like to use it for several levels

    but on some other levels i will need to slide some objects

    so those 2 would be a nice start thx
     
  21. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    Not sure what you mean by multiple raycast for several levels. I assume you have different objects in different position that you need to cast against?

    Anyway I've sent you a package with some JS example, specifically TapDemo and SwipeDemo. These should cover enough ground for your need. You can check the raycast example in TapDemo. It's just a matter of using the event position to perform a raycast then cycle through all objects/buttons to see which of them is hit and perform the appropriate action (a lot of if and else if).

    As for the slide, you can either use drag or swipe. I'm not sure what you are looking for but those two example have both drag and swipe event.

    Hope this helps
     
  22. valan

    valan

    Joined:
    Oct 8, 2012
    Posts:
    9
    hi i am getting problems in javascript

    Button3D.js(38,17): BCE0019: 'onShortTapE' is not a member of 'UnityEngine.GameObject'.

    this is what i get
     
    Last edited: Oct 11, 2012
  23. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    It's not the problem with javascript. For your information onShortTapE is obsolete, please use onMultiTapE instead. I've send you a download link to the next update which contain up to date examples in javascript. You can refer to that. :)
     
  24. Djaydino

    Djaydino

    Joined:
    Aug 19, 2012
    Posts:
    48
    thank you, this helped me a lot
     
  25. valan

    valan

    Joined:
    Oct 8, 2012
    Posts:
    9
    hi,

    even with onMultiTapE i am getting the same error
     
  26. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    hm, I must apologize that I missread the error you show me. I think the problem lies with your code as you are using those event delagates as members of GameObject. how do you access onMultiTapE? Like this?

    Gesture.onMultiTapE+=YourFunction;

    If so, make sure you dont have any other variable named as "Gesture" in the script. Please look at the example JS script and keep to that format.
     
  27. Mars91

    Mars91

    Joined:
    Mar 6, 2012
    Posts:
    572
    I manage to drag stuff but I really can figure out how to drag only one single object because I have more than a single "draggable object".

    Thank you
     
  28. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    You can track a single drag object throughout a drag sequence using onDraggingStartE and on DraggingEndE. When onDraggingStartE, recorded the object being detected so through out the onDraggingE, move only that object. When onDraggingEndE fired, cleared that object. This way only one object will be interacted at only one time.

    You can refer to TapDemo.cs. There are 2 drag-able objects in the scene. The same concept is used to prevent a single drag sequence to pick up both object.
     
  29. Mars91

    Mars91

    Joined:
    Mar 6, 2012
    Posts:
    572
    Hi. I wrote this script and gived to 5 draggable object but when I'm dragging all the object with this script start following the mouse

    Code (csharp):
    1.  
    2. var canBeDragged : boolean = true;
    3. var dragObj : GameObject;
    4.  
    5. private var canBeDraggedPrivate : boolean;
    6.  
    7.  
    8.  
    9. function Start(){
    10.     Physics.IgnoreLayerCollision(0, 10, true);
    11.     canBeDraggedPrivate = canBeDragged;
    12. }
    13.  
    14. function Update(){
    15.  
    16. }
    17.  
    18.  
    19. function OnEnable(){
    20.     Gesture.onDraggingStartE += OnDraggingStart;
    21.     Gesture.onDraggingE += OnDragging;
    22.     Gesture.onDraggingEndE += OnDraggingEnd;
    23. }
    24.  
    25.  
    26.  
    27. function OnDisable(){
    28.     Gesture.onDraggingStartE -= OnDraggingStart;
    29.     Gesture.onDraggingE -= OnDragging;
    30.     Gesture.onDraggingEndE -= OnDraggingEnd;
    31. }
    32.  
    33.  
    34. function OnDragging(info:DragInfo){
    35.     if(canBeDraggedPrivate){       
    36.         ObjToCursor(info, dragObj);
    37.     }
    38.  
    39. }
    40.  
    41.  
    42. function OnDraggingStart(info : DragInfo){
    43.     var ray : Ray = Camera.main.ScreenPointToRay(info.pos);
    44.     var hit : RaycastHit;
    45.    
    46.     if(Physics.Raycast(ray, hit, Mathf.Infinity)){
    47.         if(hit.collider.transform == dragObj.transform){
    48.             ObjToCursor(info, dragObj);
    49.         }
    50.     }
    51. }
    52.  
    53. function ObjToCursor(dragInfo : DragInfo, obj : GameObject){
    54.     var p : Vector3 = Camera.main.ScreenToWorldPoint(new Vector3(dragInfo.pos.x, dragInfo.pos.y, 30));
    55.     obj.transform.position = p;
    56. }
    57.  
    58. function OnDraggingEnd(dragInfo : DragInfo){
    59.    
    60. }
    61.  
     
  30. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    Made a little modification with your code. The problem is you didnt set the canBeDragged flag properly so all objects is always in draggable state.

    Code (csharp):
    1.  
    2.     private var isBeingDrag : boolean=false;;
    3.  
    4.     function Start(){
    5.         Physics.IgnoreLayerCollision(0, 10, true);
    6.     }
    7.    
    8.     function OnEnable(){
    9.         Gesture.onDraggingStartE += OnDraggingStart;
    10.         Gesture.onDraggingE += OnDragging;
    11.         Gesture.onDraggingEndE += OnDraggingEnd;
    12.     }
    13.    
    14.     function OnDisable(){
    15.         Gesture.onDraggingStartE -= OnDraggingStart;
    16.         Gesture.onDraggingE -= OnDragging;
    17.         Gesture.onDraggingEndE -= OnDraggingEnd;
    18.     }
    19.      
    20.     function OnDraggingStart(info : DragInfo){
    21.         var ray : Ray = Camera.main.ScreenPointToRay(info.pos);
    22.         var hit : RaycastHit;
    23.        
    24.         if(Physics.Raycast(ray, hit, Mathf.Infinity)){
    25.             if(hit.collider.transform == transform){
    26.                 isBeingDrag=true;
    27.                 ObjToCursor(info, dragObj);
    28.             }
    29.         }
    30.     }
    31.    
    32.     function OnDragging(info:DragInfo){
    33.         if(isBeingDrag){      
    34.             ObjToCursor(info, dragObj);
    35.         }
    36.     }
    37.  
    38.     function OnDraggingEnd(dragInfo : DragInfo){
    39.         isBeingDrag=false;
    40.     }
    41.      
    42.     function ObjToCursor(dragInfo : DragInfo, obj : GameObject){
    43.         var p : Vector3 = Camera.main.ScreenToWorldPoint(new Vector3(dragInfo.pos.x, dragInfo.pos.y, 30));
    44.         obj.transform.position = p;
    45.     }
    46.  
     
  31. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    Can I request for Orbit camera, make it possible to lock so it does not roll, and limit the rotation.
     
  32. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    Happy to oblige, but can you be more specific? Is RTSCam doesnt fit what you want? It doesnt roll and the rotation in X-axis can be limited.
     
  33. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    I want to look at an object but only be able to rotate it XY axis only. Currently it can roll in Z axis. The object I'm looking at is on a floor plane so it its better to limit so it does not cut through a certain angle as well.
     
  34. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    Just pm a script to you, please check it out and see if it's what you need.
     
  35. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    yeah, that is it, thanks!
     
  36. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    It's about damn time. Version 1.1.3 is finally live on AssetStore. After almost 3 weeks I first submitted it. Turns out there's some faulty submission of some sort that the earlier submissions were overlooked. I hereby apologies to anyone who have been waiting for the small fix and JS example port that I've promised.

    Anyhow, it's now live and hence this post. The details of the updates are as follow:
    • Added JS counterpart to all the C# examples
    • Added isFlick variable to DragInfo, indicate if it's a (very) short drag
    • Pinch Event now pass PinchInfo which include the magnitude of the pinch as well as the finger's position.
    • Pinch Event now pass RotateInfo which include the magnitude of the rotation as well as the finger's position.
     
  37. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    Hi Song, I found some issues with this scrpt.

    First, I noticed you create a child camera and reparent it. It loses my initial position I want to set to start at. Could u fix that please. Also, is that a limit to how close we can zoom into/out. I did not see it.
     
  38. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    Just fix the issue and pm another copy to you. Please check it out.
     
  39. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    Hi, this version will move my camera upon startup. Can it fix the starting location to what I've set it to.
     
  40. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    Terribly sorry, I found some mistake in the code which might have cause the issue. I've resend the package.

    Also worth mentioning is the camera will pivot around the track object and look directly at it. So you have to make sure the starting rotation of your camera is facing the target otherwise you will get some displacement once you start it.


    A quick anouncement, I will be traveling on the coming few days so I apologize in advance for any delay in responding to any question. Thanks for understanding.
     
  41. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    Christmas/New Year sales! Currently at $15 down from $25. Limited duration only! Get it while it last!

    Sorry for the shameless plugging. :)

    Have a great holiday season!
     
    Last edited: Dec 20, 2012
  42. imtrobin

    imtrobin

    Joined:
    Nov 30, 2009
    Posts:
    1,548
    hi, can u put the new camera into the pack as well
     
  43. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    Very well. Give me sometime and I'll update the package
     
  44. Simplex

    Simplex

    Joined:
    Dec 15, 2012
    Posts:
    15
    Hi Song,

    Just purchased your package and have a problem applying a simple tap function.

    I have place a prefab of the Gesture.cs into my scene and I have added a sphere so that when I touch the sphere the sphere should turn red.

    I have also attached an empty game object to which I attached the following script.

    I have a public game object to which I attach the sphere. Now the object does not turn red when I tap it. Can you please assist.

    public class GestureManagerScript : MonoBehaviour {


    public Transform Circle;


    void OnEnable()
    {
    Gesture.onMultiTapE += EnableReset;
    }

    void OnDisable()
    {

    Gesture.onMultiTapE -= EnableReset;
    }

    // Use this for initialization
    void Start () {

    }

    // Update is called once per frame
    void Update () {

    }

    //reset game
    void EnableReset(Tap tap)
    {

    Ray ray = Camera.main.ScreenPointToRay(tap.pos);
    RaycastHit hit;

    if (Physics.Raycast(ray,out hit,0)) {

    if (hit.collider.transform == Circle) {

    Circle.renderer.material.color = Color.red;

    }


    }



    }

    }
     
  45. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    Hi Simplex,

    Thanks for using the kit. I notice the problem with your code is that you are performing raycast with 0 casting range, hence it's not going to hit anything. Ideally you want to cast as far as the object is possibly from the camera. Since I'm not sure about that either, I normally put infinity for a start just to be sure. So instead of
    Code (csharp):
    1. if (Physics.Raycast(ray,out hit,0)) {
    2.  
    it should be been
    Code (csharp):
    1. if (Physics.Raycast(ray, out hit, Mathf.Infinity)) {
     
  46. Simplex

    Simplex

    Joined:
    Dec 15, 2012
    Posts:
    15
    I have tried with the MathF.Infinity and it still doesn't work.
     
  47. Song_Tan

    Song_Tan

    Joined:
    Apr 9, 2011
    Posts:
    2,993
    The code looks fine for all I can tell. So if it's not working, it must have been other reasons. I would recommend you to change the code to following for finding out what's wrong.

    Code (csharp):
    1. void EnableReset(Tap tap)
    2. {
    3.     Debug.Log("tap detected");
    4.     Ray ray = Camera.main.ScreenPointToRay(tap.pos);
    5.     RaycastHit hit;
    6.     if (Physics.Raycast(ray,out hit,0)) {
    7.         if (hit.collider.transform == Circle) {
    8.             Circle.renderer.material.color = Color.red;
    9.             Debug.Log("correct circle has been tapped");
    10.         }
    11.         else Debug.Draw("hit other collider");
    12.     }
    13.     else Debug.Log("nothing is hit");
    14. }
    15.  
    So looking at the log after each tap you will know exactly what happen, if the event has been fire, something has been hit or what not.


    A few that I can think of as why your code is not working are:
    1. the circle transform that you are using is not using diffuse shader hence setting color directly via material.color=Color.red will not work. You should use material.SetColor() instead if you are not using diffuse shader.

    2. you are using Camera.main to construct your raycast ray. To do so you must make sure that you have the only one camera tagged "Main Camera" in the scene and that is the camera looking at the target transform.

    3. Raycast only cast against collider. If the target transform has not collider on it, you wouldnt be able to detect it.
     
  48. johnny12345

    johnny12345

    Joined:
    Oct 8, 2012
    Posts:
    45
    ive just bought your asset,im not a scripter and i would like to know how to comment out the projectile object and label from the swipe demo basically all i want is the swipe and the indicator locations

    thanks
     
  49. johnny12345

    johnny12345

    Joined:
    Oct 8, 2012
    Posts:
    45
    another question im using playmaker and i need to get the touch position so i can store it in a vector3 so i can fire off a raycast when finger touches the screen but i dont see any finger down finger up
     
  50. johnny12345

    johnny12345

    Joined:
    Oct 8, 2012
    Posts:
    45
    the first question has been solved,i just need to expose the touch event so i can store it in a vector 3 thankyou