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

Visual Logic Editor (Antares VIZIO) : (video screens)

Discussion in 'Assets and Asset Store' started by Neodrop, Sep 1, 2010.

  1. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    Sure is it.
     
  2. EmadGh

    EmadGh

    Joined:
    Jun 10, 2009
    Posts:
    147
    Any news Neodrop?
     
  3. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    We have a good progress day after day, but still not ready to wide bata tests. Sorry for delay. We should release the best software. It must be polished to shine.
     
  4. EmadGh

    EmadGh

    Joined:
    Jun 10, 2009
    Posts:
    147
    Yes, your right. Keep going.
    Thanks.
     
  5. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    Today we have tested VIZIO on Android. All works perfectly.
     
  6. Demonith

    Demonith

    Joined:
    Mar 14, 2010
    Posts:
    200
    Where i can download this ?
     
  7. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    VIZIO : Any code in any supported language in one single user-created block.

    $Vizio_any_code.jpg

    Code (csharp):
    1.  
    2. using Antares.Vizio.Runtime;
    3. using UnityEngine;
    4.  
    5. [VisualLogicBlock("Smooth Look At", "Custom Blocks", ParentName = "Camera-Control")]
    6. public class SmoothLookAtBlock : LogicBlock
    7. {
    8.  
    9.     [Parameter(VariableType.In, typeof(Transform), Name = "Target Transform")]
    10.     public Variable target;
    11.  
    12.     [Parameter(VariableType.In, typeof(bool), Name = "Smooth")]
    13.     public Variable smooth;
    14.  
    15.     [Parameter(VariableType.In, typeof(float), Name = "Damping", DefaultValue = 6f)]
    16.     public Variable damping;
    17.  
    18.     [Parameter(VariableType.Out, typeof(string), Name = "Error", DefaultValue = 6f)]
    19.     public Variable error;
    20.  
    21.     [EntryTrigger]
    22.     public void In()
    23.     {
    24.         Transform targ = target.Value as Transform;
    25.  
    26.         if (targ!=null)
    27.         {
    28.             Transform thisTransform = Component.transform;
    29.  
    30.             if ((bool)smooth.Value)
    31.             {
    32.                 // Look at and dampen the rotation
    33.                 var rotation = Quaternion.LookRotation(targ.position - thisTransform.position);
    34.                 thisTransform.rotation = Quaternion.Slerp(thisTransform.rotation, rotation, Time.deltaTime * (float)damping.Value);
    35.             }
    36.             else
    37.             {
    38.                 // Just lookat
    39.                 thisTransform.LookAt(targ);
    40.             }
    41.  
    42.             ActivateTrigger();
    43.         }
    44.         else
    45.         {
    46.             error.Value = "Target is NULL";
    47.             ActivateTrigger("Error");
    48.         }
    49.     }
    50.  
    51.  
    52.     public override void Awake()
    53.     {
    54.         if (Component.rigidbody)
    55.             Component.rigidbody.freezeRotation = true;
    56.     }
    57.  
    58.     public override void OnInitializeDefaultData()
    59.     {
    60.         RegisterOutputTrigger("Exit");
    61.         RegisterOutputTrigger("Error");
    62.     }
    63.  
    64. }
    65.  
    66.  
     
    Last edited: Dec 22, 2010
  8. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    I realy want to share our work. But I can't share unfinished product. By patient.
     
  9. bigkahuna

    bigkahuna

    Joined:
    Apr 30, 2006
    Posts:
    5,434
    Sounds BRILLIANT! Looking forward to this (and waiting patiently ;) ).
     
  10. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    A little joke from our betatester :

    $unity3d_ass2%2B.png
     
  11. Demonith

    Demonith

    Joined:
    Mar 14, 2010
    Posts:
    200
    i wonth that not the project that in the middle
     
  12. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    Sure, not. ;)
     
  13. Rond

    Rond

    Joined:
    Oct 21, 2009
    Posts:
    175
    hehehe, motivational! :D
     
  14. Makandal

    Makandal

    Joined:
    Nov 3, 2010
    Posts:
    14
    That makes me think about a terrain I made for Terragen. It's a pic in black and white of one gf, laying on a bed. I then used the gray scale as heighfield and applied terraces, erosion (yes...) etc... It made a very nice terrain.

    More seriously, visual programming is the real future. A lot of tools in my job (oil and gas exploration) are already using similar approach for log interpretations or seismic processing for example. It makes things simpler and at the same time more logic and structured than written code.
    My problem with it is rather on the performance side.

    Finally, one important and very trivial question: is it possible to create blocks of blocks and seamlessly zoom in and out of these blocks ? Graphically, this is pretty important as a project is very quickly becoming messy on the screen. And for the programmer, the ability to pass quickly from the meta-structure to some unit blocks (i.e. zoom in and out) is also very very important.
     
  15. jcdied4me

    jcdied4me

    Joined:
    Dec 21, 2010
    Posts:
    5
    I can't wait for the open beta. Please keep me in mind :D. Great work!
     
  16. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    Yes. This is main feature wich will be implemented to the first final release.
    And about performance - all fine, believe me.
     
  17. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    Open Beta will be Open ;) Just as free downloading. May be over Asset Store (I can't be sure now).
     
    Last edited: Dec 23, 2010
  18. Demonith

    Demonith

    Joined:
    Mar 14, 2010
    Posts:
    200
  19. fmarkus

    fmarkus

    Joined:
    May 22, 2010
    Posts:
    181
  20. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    We are expand our closed-beta-testers count. Let me know, if someone (who we agree early) don't receive the inviting message.
     
  21. mrbdrm

    mrbdrm

    Joined:
    Mar 22, 2009
    Posts:
    510
    umm there is kids here and a porn image
    keep it up :)
     
  22. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    I think, this is soft image. But, no probs, I'll be more Puritan.
    BTW, children are everywhere
     
    Last edited: Dec 24, 2010
  23. rahuxx

    rahuxx

    Joined:
    May 8, 2009
    Posts:
    537
    can i get one.Neodrop!
     
  24. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    For closed beta test we need testers with a deep knowledge of Unity Engine.
    1) We know that there are some bugs.
    2) We know that there is some inconvenient stuff.
    3) We know that we miss some features.
    For the identification of things listed above (1,2,3) we require skilled and not too choosy testers.
    We don't want to release it publicly yet (not to frighten people :) )
     
    Last edited: Dec 24, 2010
  25. platinumtone

    platinumtone

    Joined:
    Dec 24, 2010
    Posts:
    3
    You are the man. I salute you!!

    2 shots of Vladimir!!
     
  26. dogzerx2

    dogzerx2

    Joined:
    Dec 27, 2009
    Posts:
    3,964
    pweease let me test it :<
     
  27. 3Duaun

    3Duaun

    Joined:
    Dec 29, 2009
    Posts:
    600
    +1 I and my team would love a go at testing VIZIO in our new iOS apps in development.

    P.S. no need to be more puritanical... IMO.
     
  28. rahuxx

    rahuxx

    Joined:
    May 8, 2009
    Posts:
    537
    good to know that.That will give me chance to use better version in future if it comes out as open beta.
    thanks
     
  29. KITT

    KITT

    Joined:
    Jul 17, 2009
    Posts:
    221
    I am building AI system for a Sim, would like to beta test Vizio. Unity Unity iPhone, I'm experienced but not too picky tester :)
     
  30. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    Welcome on board. I have PM you.
     
  31. EmadGh

    EmadGh

    Joined:
    Jun 10, 2009
    Posts:
    147
    Hey, I really want to be a tester man.
    You're my Hero.:D
     
  32. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    Look in PM
     
  33. DigiLusionist

    DigiLusionist

    Joined:
    Apr 30, 2007
    Posts:
    213
    I remember Virtools 1.0! This looks interesting.

    Anything that will help me learn to develop GUIs for Unity faster and better is what I want.
     
  34. the_gnoblin

    the_gnoblin

    Joined:
    Jan 10, 2009
    Posts:
    722
    MouseOrbitBlock


    Code (csharp):
    1. using Antares.Vizio.Runtime;
    2. using UnityEngine;
    3.  
    4. [VisualLogicBlock("Mouse Orbit", "Custom Blocks", ParentName = "Camera-Control")]
    5. public class MouseOrbitBlock : LogicBlock
    6. {
    7.     [Parameter(VariableType.In, typeof(Transform), Name = "Looker Transform")]
    8.     public Variable looker;
    9.  
    10.     [Parameter(VariableType.In, typeof(Transform), Name = "Target Transform")]
    11.     public Variable target;
    12.  
    13.     [Parameter(VariableType.In, typeof(float), Name = "Distance", DefaultValue = 10f)]
    14.     public Variable distance;
    15.     [Parameter(VariableType.In, typeof(float), Name = "xSpeed", DefaultValue = 250f)]
    16.     public Variable xSpeed;
    17.     [Parameter(VariableType.In, typeof(float), Name = "ySpeed", DefaultValue = 120f)]
    18.     public Variable ySpeed;
    19.     [Parameter(VariableType.In, typeof(float), Name = "yMinLimit", DefaultValue = -20f)]
    20.     public Variable yMinLimit;
    21.     [Parameter(VariableType.In, typeof(float), Name = "yMaxLimit", DefaultValue = 80f)]
    22.     public Variable yMaxLimit;
    23.  
    24.     [Parameter(VariableType.Out, typeof(string), Name = "Error")]
    25.     public Variable error;
    26.  
    27.     //[Parameter(VariableType.In, typeof(float), Name = "x")]
    28.     private float x = 0.0f;
    29.  
    30.     //[Parameter(VariableType.In, typeof(float), Name = "y")]
    31.     private float y = 0.0f;
    32.  
    33.     [EntryTrigger]
    34.     public void In()
    35.     {
    36.         Transform targ = target.Value as Transform;
    37.  
    38.         if (targ != null)
    39.         {
    40.             Transform thisTransform = looker.Value as Transform;//Component.transform;
    41.  
    42.             x += Input.GetAxis("Mouse X") * (float)xSpeed.Value * 0.02f;
    43.             y -= Input.GetAxis("Mouse Y") * (float)ySpeed.Value * 0.02f;
    44.  
    45.             y = ClampAngle(y, (float)yMinLimit.Value, (float)yMaxLimit.Value);
    46.  
    47.             Quaternion rotation = Quaternion.Euler(y, x, 0);
    48.             Vector3 position = rotation * (new Vector3(0.0f, 0.0f, -(float)distance.Value)) + targ.position;
    49.  
    50.             thisTransform.rotation = rotation;
    51.             thisTransform.position = position;
    52.  
    53.             ActivateTrigger();
    54.         }
    55.         else
    56.         {
    57.             error.Value = "Target is NULL";
    58.             ActivateTrigger("Error");
    59.         }
    60.     }
    61.  
    62.     public override void Awake()
    63.     {
    64.         Transform targ = target.Value as Transform;
    65.  
    66.         if (targ != null)
    67.         {
    68.             Transform thisTransform = looker.Value as Transform;
    69.  
    70.             Vector3 angles = thisTransform.eulerAngles;
    71.             x = angles.y;
    72.             y = angles.x;
    73.  
    74.             // Make the rigid body not change rotation
    75.             if (thisTransform.rigidbody)
    76.                 thisTransform.rigidbody.freezeRotation = true;
    77.         }
    78.     }
    79.  
    80.     public override void OnInitializeDefaultData()
    81.     {
    82.         RegisterOutputTrigger("Exit");
    83.         RegisterOutputTrigger("Error");
    84.     }
    85.  
    86.     static float ClampAngle (float angle, float min, float max)
    87.     {
    88.             if (angle < -360)
    89.                     angle += 360;
    90.             if (angle > 360)
    91.                     angle -= 360;
    92.             return Mathf.Clamp (angle, min, max);
    93.     }
    94. }
     

    Attached Files:

    Last edited: Dec 26, 2010
  35. the_gnoblin

    the_gnoblin

    Joined:
    Jan 10, 2009
    Posts:
    722
    SmoothFollowBlock


    Code (csharp):
    1. using Antares.Vizio.Runtime;
    2. using UnityEngine;
    3. /*
    4. This camera smoothes out rotation around the y-axis and height.
    5. Horizontal Distance to the target is always fixed.
    6.  
    7. There are many different ways to smooth the rotation but doing it this way gives you a lot of control over how the camera behaves.
    8.  
    9. For every of those smoothed values we calculate the wanted value and the current value.
    10. Then we smooth it using the Lerp function.
    11. Then we apply the smoothed values to the transform's position.
    12. */
    13. [VisualLogicBlock("Smooth Follow", "Custom Blocks", ParentName = "Camera-Control")]
    14. public class SmoothFollowBlock : LogicBlock
    15. {
    16.     [Parameter(VariableType.In, typeof(Transform), Name = "Looker Transform")]
    17.     public Variable looker;
    18.  
    19.     // The target we are following
    20.     [Parameter(VariableType.In, typeof(Transform), Name = "Target Transform")]
    21.     public Variable target;
    22.  
    23.     // The distance in the x-z plane to the target
    24.     [Parameter(VariableType.In, typeof(float), Name = "Distance", DefaultValue = 10f)]
    25.     public Variable distance;
    26.  
    27.     // the height we want the camera to be above the target
    28.     [Parameter(VariableType.In, typeof(float), Name = "Height", DefaultValue = 5f)]
    29.     public Variable height;
    30.  
    31.     [Parameter(VariableType.In, typeof(float), Name = "Height Damping", DefaultValue = 2f)]
    32.     public Variable heightDamping;
    33.  
    34.     [Parameter(VariableType.In, typeof(float), Name = "Rotation Damping", DefaultValue = 3f)]
    35.     public Variable rotationDamping;
    36.  
    37.     [Parameter(VariableType.Out, typeof(string), Name = "Error")]
    38.     public Variable error;
    39.  
    40.     [EntryTrigger]
    41.     public void In()
    42.     {
    43.         Transform targ = target.Value as Transform;
    44.  
    45.         // Early out if we don't have a target
    46.         if (targ != null)
    47.         {
    48.             Transform thisTransform = looker.Value as Transform;//Component.transform;
    49.        
    50.             // Calculate the current rotation angles
    51.                 float wantedRotationAngle = targ.eulerAngles.y;
    52.                 float wantedHeight = targ.position.y + (float)height.Value;
    53.                        
    54.                 float currentRotationAngle = thisTransform.eulerAngles.y;
    55.                 float currentHeight = thisTransform.position.y;
    56.                
    57.                 // Damp the rotation around the y-axis
    58.                 currentRotationAngle = Mathf.LerpAngle (currentRotationAngle, wantedRotationAngle, (float)rotationDamping.Value * Time.deltaTime);
    59.  
    60.                 // Damp the height
    61.                 currentHeight = Mathf.Lerp (currentHeight, wantedHeight, (float)heightDamping.Value * Time.deltaTime);
    62.  
    63.                 // Convert the angle into a rotation
    64.                 Quaternion currentRotation = Quaternion.Euler (0, currentRotationAngle, 0);
    65.                
    66.                 // Set the position of the camera on the x-z plane to:
    67.                 // distance meters behind the target
    68.                 thisTransform.position = targ.position;
    69.                 thisTransform.position -= currentRotation * Vector3.forward * (float)distance.Value;
    70.  
    71.                 // Set the height of the camera
    72.             Vector3 pos = thisTransform.position;
    73.                 pos.y = currentHeight;
    74.             thisTransform.position = pos;
    75.                
    76.                 // Always look at the target
    77.                 thisTransform.LookAt (targ);
    78.  
    79.             ActivateTrigger();
    80.         }
    81.         else
    82.         {
    83.             error.Value = "Target is NULL";
    84.             ActivateTrigger("Error");
    85.         }
    86.     }
    87.  
    88.     public override void OnInitializeDefaultData()
    89.     {
    90.         RegisterOutputTrigger("Exit");
    91.         RegisterOutputTrigger("Error");
    92.     }
    93.  
    94. }
    95.  
     

    Attached Files:

  36. the_gnoblin

    the_gnoblin

    Joined:
    Jan 10, 2009
    Posts:
    722

    Attached Files:

    Last edited: Dec 26, 2010
  37. the_gnoblin

    the_gnoblin

    Joined:
    Jan 10, 2009
    Posts:
    722
    "so easy an caveman--eh artist can do it!" (c) one of the beta-testers ;)

    script -> vizio graph example (see the full version of the picture in the attachment please)


    Code (csharp):
    1. var mySound : AudioSource;
    2. var go : GameObject;
    3.  
    4. function Update() {
    5. if (Input.GetKeyDown("f")) {
    6.    mySound.Play();
    7.    go.SetActiveRecursive(!go.active);
    8.  
    9.    }
    10. }
     

    Attached Files:

  38. fountain_eyes

    fountain_eyes

    Joined:
    Sep 29, 2010
    Posts:
    12
    I am interested in testing the beta

    I want to test with simulation purposes in mind as well as machinima with audio workings. experementing alot with your app to see what I can do in MANY different ways (making sure of these uses working before release), would this help you? I am very interested in helping you to make this shine for others

    exploring:
    - creating own code blocks and have them work
    - audio uses with animation (itween perhaps)
    - speed of simulations useing your application, as I call it
    - unconventional use, exploration
     
    Last edited: Dec 26, 2010
  39. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    Now we do not require new testers. Please, wait for Open Beta.
     
  40. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    We have created a Wizard for facilitating the creation of Custom Block for VIZIO (included in project) :

    $LBWizard.jpg
     
  41. 3Duaun

    3Duaun

    Joined:
    Dec 29, 2009
    Posts:
    600
    The custom block wizard is going to save me TONs of time with the many external classes we're going to be referencing from VIZIO.
     
  42. kshaja

    kshaja

    Joined:
    Sep 22, 2010
    Posts:
    148
    Oh, that sweet feeling of delayed pleasure :)
    When I check this thread every day I get that : I-can't-wait-anymore-feeling
    Then I don't check it for a 5 days ( excused ) and a lot new stuff there.
    Great work !!!
    Now I don't know what to do.
    Maybe I'll do what bears do, go to winter sleep, and when I wake up everything will be in place :)
    Happy New Year Neodrop!
     
  43. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    We have a Logick block generator for automaticaly creating the Logic Blocks from any assembly. But (sorry) this generator is a separate product (For corporate clients).
     
    Last edited: Dec 28, 2010
  44. 3Duaun

    3Duaun

    Joined:
    Dec 29, 2009
    Posts:
    600
    Would be great to have some brick in there from the "standards" that our Unity pipelines use:

    iTween
    SprintManager2
    EZGui
    Behave

    Just a side thought, as we'll have to create custom blocks for many of these on nearly every project we'd like to add Vizio to(for prototyping anyway). This process might take quite some time, if we can't export VIZIO graphs for later re-importing into other projects(after we've added all our standard custom blocks we re-use often).

    Will there be the ability to export graphs in the future? The ability to save reimport graphs would make VIZIO even more powerful?
     
    Last edited: Dec 28, 2010
  45. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    Yes. VIZIO architecture provide it
     
  46. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    As I have told above, we can create any LB (Logic Blocks) for any dotnet code. And sure, we will provide a LB sets for the popular solutions.
     
  47. 3Duaun

    3Duaun

    Joined:
    Dec 29, 2009
    Posts:
    600
    exciting news, thank you Neodrop. most of my iOS tests are working well so far :)
     
  48. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    Good to know it. Thank you.
     
  49. Jingle-Fett

    Jingle-Fett

    Joined:
    Oct 18, 2009
    Posts:
    614
    haha that :p

    Here's a screenshot of an unfinished FPS Walker graph. A little messy but whatever

    Edit: Yay my 100th post
     

    Attached Files:

  50. Neodrop

    Neodrop

    Joined:
    Oct 24, 2008
    Posts:
    1,359
    As soon as possible we'll make the Containers, which will help to arrange such code (by packing in small blocks - just like custom created blocks do it)