Search Unity

Controller [Released] Sticky3D Controller (1st & 3rd person character controller) SciFi & VR ready

Discussion in 'Tools In Progress' started by sstrong, Oct 28, 2020.

  1. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Flexible custom actions for Sticky Interactive-enabled objects (coming in S3D v1.0.4)

    There are three ways to perform custom actions when various events happen on a sticky interactive-enabled object in your game.

    1. Call a custom method by adding it in the Unity inspector
    2. In code, add a delegate Listener with custom parameters
    3. In code, add a default Listener with default Sticky parameters

    Here is an example where we combine the power of Sticky3D Controller with Sci-Fi Ship Controller.

    upload_2021-7-24_14-9-42.png

    Code (CSharp):
    1. void Init()
    2. {
    3.       if (lift1DoorControlInteractive != null)
    4.       {
    5.           lift1DoorControlInteractive.Initialise();
    6.           lift1DoorControlInteractive.SetIsTouchable(true);
    7.           lift1DoorControlInteractive.handHoldOffset = new Vector3(0f, 0.1f, 0.05f);
    8.           lift1DoorControlInteractive.handHoldRotation = new Vector3(-10f, 0f, 0f);
    9.  
    10.           // The door control has a 3-button panel to give the player some visual feedback
    11.           SSCDoorControl sscDoorControlLift1Doors = lift1DoorControl.GetComponent<SSCDoorControl>();
    12.  
    13.           if (sscDoorControlLift1Doors != null)
    14.           {
    15.               sscDoorControlLift1Doors.Initialise();
    16.  
    17.               // Hook up a listener to open the doors
    18.               lift1DoorControlInteractive.onTouched = new S3DInteractiveEvt1();
    19.               lift1DoorControlInteractive.onTouched.AddListener(delegate { Lift1DoorOpen(sscDoorControlLift1Doors); });
    20.           }
    21.       }
    22. }
    23.  
    24. /// <summary>
    25. /// This is called when the player looks at the door control panel, then attempts to touch it
    26. /// by clicking left mouse button, and finally does touch it with the palm of a hand.
    27. /// </summary>
    28. public void Lift1DoorOpen(SSCDoorControl sscDoorControl)
    29. {
    30.     if (lift1BottomDoors != null && sscDoorControl != null)
    31.     {
    32.         // Give visual feedback on door button and open doors if they are unlocked.
    33.         // Otherwise play an "access denied" audio clip.
    34.         sscDoorControl.SelectOpen();
    35.     }
    36. }
    37.  

    Code (CSharp):
    1. void Init()
    2. {
    3.     if (lift1DoorControlInteractive != null)
    4.     {
    5.         lift1DoorControlInteractive.Initialise();
    6.         lift1DoorControlInteractive.SetIsTouchable(true);
    7.         lift1DoorControlInteractive.handHoldOffset = new Vector3(0f, 0.1f, 0.05f);
    8.         lift1DoorControlInteractive.handHoldRotation = new Vector3(-10f, 0f, 0f);
    9.  
    10.         // The door control has a 3-button panel to give the player some visual feedback
    11.         SSCDoorControl sscDoorControlLift1Doors = lift1DoorControl.GetComponent<SSCDoorControl>();
    12.  
    13.         if (sscDoorControlLift1Doors != null)
    14.         {
    15.             sscDoorControlLift1Doors.Initialise();
    16.  
    17.             // Get notified when the player stops touching the door control buttons
    18.             lift1DoorControlInteractive.onStoppedTouching = new S3DInteractiveEvt2();
    19.             lift1DoorControlInteractive.onStoppedTouching.AddListener(Lift1DoorControlStopTouching);
    20.         }
    21.     }
    22. }
    23.  
    24. /// <summary>
    25. /// This is called when the player stops touching the door control panel
    26. /// </summary>
    27. /// <param name="stickyInteractiveID"></param>
    28. /// <param name="stickyID"></param>
    29. public void Lift1DoorControlStopTouching(int stickyInteractiveID, int stickyID)
    30. {
    31.     // The player has stopped touching the interactive door control panel, so stop trying to reach for it.
    32.     if (stickyID == s3dPlayer.StickyID && stickyInteractiveID == s3dPlayer.GetRightHandIKTargetInteractiveID())
    33.     {
    34.         s3dPlayer.SetRightHandIKTargetInteractive(null, false);
    35.     }
    36. }
     
  2. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Toon Series Compatibility is coming.

    We're planning to ensure Sticky3D Controller works well with the Toon Series. We've just purchased Toon City and Toon City People so that we can begin testing.

    @marincastefan keep up the good work!
     
    marincastefan likes this.
  3. marincastefan

    marincastefan

    Joined:
    Dec 10, 2015
    Posts:
    254
    That's awesome to hear! I'm eager to see how it goes :)
     
  4. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Here is the first tutorial for Sticky3D Controller that demonstrates some features coming shortly in version 1.0.4.



    It uses some of the excellent assets from the Toon Series by @marincastefan
     
    marincastefan likes this.
  5. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Here is a tutorial that demonstrates how interactive-enabled objects can be used in Sticky3D Controller version 1.0.4.



    Again, we're using Toon Series assets by SICS Games (@marincastefan) to populate the scene.
     
    docsavage and marincastefan like this.
  6. marincastefan

    marincastefan

    Joined:
    Dec 10, 2015
    Posts:
    254
    Very cool, I must say. I'm getting the itch to start a project with this type of functionality :)
     
    sstrong likes this.
  7. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    You might be wondering where is all this interactive-enabled wizardry that is coming in version 1.0.4.

    We're busy testing and working on some API refinements, making sure you can integrate them with your own assets. We're hoping to get vNext (1.0.4) released Real Soon Now. It is a significant step forward and will help you take your games to the next level.
     
  8. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Sticky3D version 1.0.4 is now live in the asset store.



    It includes the following updates:

    [NEW] First Person zoom
    [NEW] Hand IK with API - in Technical Preview
    [NEW] Look Interactive with API - in Technical Preview
    [NEW] Sticky Interactive objects with API - in Technical Preview
    [NEW] Head IK has optional move damping
    [NEW] First Person Free Look - in Technical Preview
    [NEW] Animate - option to invert bool animation values
    [NEW] Animate - option to toggle custom bool animation values
    [NEW] Display information like messages or gauges in a UI for the player
    [NEW] Sample script to show how to add custom inputs at runtime in your code
    [FIXED] DisableLook and DisableCharacter APIs do not disable look movement
    [FIXED] Animations may continue to run when DisableCharacter is called
    [FIXED] Third Person Free Look pitch up and down limits are reversed
    [FIXED] Auto Hide Cursor should have no effect when Look is not enabled
    [FIXED] Button custom inputs should not update Animate data unless button is pressed
    [IMPROVED] Create Proximity gameobjects from 3D Object menu in the Unity editor
    [IMPROVED] Disable Auto-hide Cursor when the character is disabled
     
  9. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Making Interactive buttons on meshes

    Coming in version 1.0.5 is the option to make interactive-enabled objects act more like clickable buttons rather than selectable items. Consider this "Call Elevator" example from Sci-Fi Ship Controller Tech Demo 3.

    upload_2021-9-9_8-21-55.png upload_2021-9-9_8-22-40.png

    upload_2021-9-9_8-26-44.png

    upload_2021-9-9_8-30-36.png

    This works very well for say an elevator button, but what if we just want to be able to click the button and call one or more actions every time it is clicked? That's what the new "Auto Unselect" option does.

    When "Auto Unselect" is enabled, only On Selected events are called and the interactive-enabled object is ready to be "selected" or "clicked" again.
     
    Last edited: Sep 9, 2021
  10. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Here's a little interact we made for a Tech Demo we're working on for Sci-Fi Ship Controller.



    You can read more about it here.
     
  11. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    upload_2021-9-15_7-15-30.png

    Sticky3D Controller version 1.0.5 is now available in the asset store.

    It includes the following updates since 1.0.4:

    [NEW] (Un)PauseCharacter API methods for use with game pause options
    [NEW] StickyInteractive - Auto Unselect option
    [NEW] Head IK has option to adjust for velocity of target and character
    [IMPROVED] StickyInteractive - unused events are hidden in the inspector
    [IMPROVED] StickyPartsModule - more API methods
     
    Bartolomeus755 likes this.
  12. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    VR input support for Sticky3D Controller.

    upload_2021-10-4_19-28-57.png

    This is a new feature coming in Version 1.0.6. Initially it will be supported for the Oculus Quest 2 but should work with other VR headsets and controllers that support OpenXR or Oculus using the Unity XR framework.

    For existing customers, we should have a beta version out soon for testing.
     
    tgamorris76 likes this.
  13. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    In third person, with Object Clipping enabled, we've added a new clipping feature called "Responsiveness".

    upload_2021-10-11_18-42-48.png

    This helps with the scenario when you're character is in a space ship (or other vehicle) that might be rapidly changing direction. By reducing the responsiveness to the distance between the character and the camera, the overall look can be improved.

    You can also set this at runtime, enabling you to cater for different scenarios in your game. For example, we make use of this new feature when integrating with one of our other assets, Sci-Fi Ship Controller, in Tech Demo 3.
     
  14. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    VR Support - what's important to you?

    Now that we've commenced work on providing VR support to Sticky3D, we're keen to hear from you want features of VR do you need (or want) for your character controller in your game?

    We're also keen to maintain compatibility with our Sci-Fi Ship Controller* asset so that people can build immersive games by combining these two products.

    Give us your thoughts either here or on our Discord channel.

    * SSC already supports VR (including Unity XR and headsets like the Oculus Quest 2).
     
  15. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    VR Hand animation

    We've added support for adding your own or third party animated VR hands to Sticky3D. We include instructions on how to import and add Oculus Hands to your Sticky3D Controller "rig" for use with the Oculus Quest 2.

    upload_2021-10-27_11-29-19.png

    Controller hand input is supplied by our new Sticky Input Module "UnityXR" input mode.

    For customers that want to test this, you'll need S3D version 1.0.6 Beta 4b or newer which is available via the Beta Program.
     
    Bartolomeus755 likes this.
  16. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    As we build out our VR functionality in Sticky3D, we'd like to hear from you about your preferences.

    What is you favourite movement mechanism in VR? e.g.
    1. Continuous moment with snap turn
    2. Teleport with a beam where you point say with a hand
    3. Teleport by moving a teleport "location" with say a controller joystick
    4. Hand hold positions (useful in zero-gravity scenarios)
    If teleportation is your thing, how should the user activate this "teleportation" mode? e.g. pull a controller trigger.

    We'd like Sticky3D (character) Controller to be flexible and easy to setup for any of your VR needs and scenarios. If you have an opinion, please add it here in the forum or chat to us on our Discord channel.
     
  17. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Coming in Sticky3D Controller version 1.0.6

    We're adding more tools to Sticky3D to make it even easier to test interactive actions in your games.

    upload_2021-11-5_7-0-7.png

    This component can be added to any empty gameobject in your scene for testing. Then hook it up to any event on an interactive-enabled object in your scene, play the scene in the editor, perform the action, and quickly see a message in the Unity console.

    Designed to be used during testing in the editor, this can be really helpful to work out why an action is happening at a particular time during game play. You can even keep calling your own game code at the same time.

    upload_2021-11-5_7-3-14.png

    The cool thing is, it also works with Virtual Reality (VR).
     
    Last edited: Nov 4, 2021
  18. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Sticky XR Interactor

    This is a new component coming in Sticky3D version 1.0.6. Currently it has 2 purposes; first to allow you to interact with objects in the environment via our Sticky Interactive system, and secondly, to enable teleportation for those who want to use that in VR games.

    upload_2021-11-6_16-40-39.png

    For customers want to test this prior to the next release, you will need Sticky3D Controller 1.0.5 from the Asset Store and the 1.0.6 Beta 5u patch or newer.

    The current Beta supports continuous move, smooth turn, snap turn, and teleportation in VR.
     
  19. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Switching objects between hands in VR

    You can point to an object in your other hand and snatch it without triggering the Drop action or calling any On Dropped events you can configured on the interactive-enabled object.

    The question is "Are there any scenarios where You would like to restrict or limit when a snatch can occur from the other hand?"

    If so, what are they? We'd love to hear your thoughts and suggestions as we continue building out our VR interaction mechanics in Sticky3D Controller. Let us know here or on our Discord channel.
     
  20. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Sticky3D Controller with VR interaction

    As we prepare a release of Sticky3D that supports VR, and includes integration with our built-in object interaction system, we'd like to get some feedback on how you'd like to use it within your game.

    upload_2021-12-2_17-45-25.png

    Also, if you own Sticky3D, and would like to give the latest beta a try, msg us here or on our Discord channel.
     
  21. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Sticky3D - low level systems working together

    Our design principle is to have most low-level systems within our character controller to work together. An example is Head IK and interactive-enabled objects. Previously, you needed to write 3 or 4 lines of code to make the head automatically turn to look at (interactive) objects that the player wanted to engage with.

    Now, you can do it with one check box in the editor or via an API call at runtime.

    upload_2021-12-6_16-14-5.png
     
    P3ndragonLLC likes this.
  22. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Sticky3D Controller version 1.0.6 is now available

    S3D_SSC_SpacePort2.png


    [NEW] Unity XR input support for VR - in Technical Preview
    [NEW] Look VR mode including snap turn - in Technical Preview
    [NEW] Sticky XR Interactor – in Technical Preview
    [NEW] Animate - Hand VR - in Technical Preview
    [NEW] Animate - Head IK - Look at Interactive (while idle)
    [NEW] Third Person clip object responsiveness
    [NEW] StickyInteractive - activate and deactivate events with API
    [IMPROVED] StickyInteractive is out of Technical Preview
    [IMPROVED] Look Interactive is out of Technical Preview
    [IMPROVED] Collision detection for attached objects

    The focus in this release was VR readiness, and to make it more compatible with Sci-Fi Ship Controller (which is also about to get a big update - the above image is from SSC Tech Demo 3).
     
  23. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Sticky3D Controller version 1.0.7 is now available

    This release includes the following updates:

    [FIXED] DisableHeadIK may not disable Head IK
    [FIXED] Head IK - may look up unexpectedly
    [IMPROVED] Head IK movement algorithm

    Together with improving Head IK overall, this release makes head IK look more natural when the character is on a moving object - like say in the cabin of a maneuvering space craft.
     
  24. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    VR Enhancements

    We're adding more features to the Interactive system for the character controller - especially around reading values from objects like levers and virtual joysticks in VR.

    2022-Jan.-03_202802.png

    Let us know here or on our Discord channel if there are other features you'd like to see in the near future in Sticky3D.
     
  25. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Regression Bug

    We've found a regression bug in Sticky3D version 1.0.7. When we introduced snap turn in VR, we inadvertently turned off Look Horizontal Damping for non-VR scenarios too.

    If you need the patch, you can get it from the Beta Program. The fix is in S3D 1.0.8 Beta 1e or newer.

    Workaround
    1. On the Look tab tick "Look VR Mode"
    2. Untick "Snap Turn"
    3. Untick "Look VR Mode"
    Applying a small amount of Horizontal (and Vertical) Damping can make camera movement more naturnal.
     
    Last edited: Jan 7, 2022
  26. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Blending Animations with Hand IK

    We have started to play around with transitioning between Hand IK targets and animation states. One scenario is grabbing an interactive-enabled object.

    When the hand is reaching for the object and then you want to hold the object in a hand, we'd like to be able to blend out the Hand IK and transition to the animation clip(s) of holding the object.

    If you have scenarios in your game where you want to do something similar, please add your comments here or on our Discord channel.
     
  27. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Integration with other Character models

    upload_2022-1-13_16-44-40.png

    We continue to expand support for more character models. Here we are testing some high quality models from Steph @ Stellar Game Assets. The scene is from Tech Demo 3 in Sci-Fi Ship Controller.

    We're currently working on blending options and transitions between Hand IK and animation clips when using our in-built object interaction system. In the above image, you can see Head IK is enabled, allowing the character to be guided by Sticky3D look interactive.
     
  28. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    upload_2022-1-19_8-51-40.png

    Sticky3D Controller version 1.0.8 is now available in the Asset Store. It includes the following updates:

    [NEW] StickyInteractive - Is Readable option for virtual levers
    [NEW] Animation API to play states with an offset from the beginning
    [NEW] Blend in and out animator layers via API at runtime
    [FIXED] 3rd person Free Look vertical movement glitches
    [FIXED] Look Horizontal Damping has no effect
    [FIXED] Hand Interact sample - displayMessage is null when Show Text disabled
    [FIXED] NullReferenceException when Grabbing an object that is not Touchable
    [FIXED] Reoccurring "Animator is not playing the AnimatorController" warning
    [IMPROVED] 1st and 3rd person Free Look is out of Technical Preview
    [IMPROVED] Include parameter name in Sticky Input linked Animation Actions
     
  29. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Unity Version Upgrade Announcement

    The next version of Sticky3D Controller (1.0.9) will require a minimum Unity version of 2019.4.32 LTS.

    Why are we doing this?
    Unity have dropped support for Collaborate and Plastic SCM requires a minimum version of 2019.4.32. With a distributed development team, we depend on collaboration to support our products.

    What if I cannot upgrade my Unity version?
    You can either stay on the last build of S3D that supports your Unity version, or get script-only updates of S3D and forego any changes to prefabs or newly added assets.
     
    Last edited: Feb 1, 2022
  30. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Help shape our road map in 2022

    If you'd like to help shape our Sticky3D (character) Controller road map, and see new features and capabilities added for your game, please drop us a note here or on our Discord channel.

    Things we'd like to know:
    • What is the scenario?
    • How do you see this working in your game?
    • What style of game are you building?
     
  31. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Dropping interactive objects in VR

    When grabbing (and dropping) interactive-enabled objects in your scene, it may not be obvious how to detect the user releasing the grip button on a VR controller.

    upload_2022-2-2_17-22-54.png

    Once configured, it is easy to then use this ReleaseGrip action in the Sticky Input Module.

    upload_2022-2-2_17-27-13.png
     
  32. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Coming in Sticky3D version 1.0.9

    upload_2022-2-4_10-29-54.png

    We are adding a centralised, high-performance, pooling system for managing objects in your scene. This is helpful when you want to instantiate many objects of the same kind like particle effects, sound effects, or weapon projectiles.

    For those familiar with the SSCManager in Sci-Fi Ship Controller, you'll find it works in a similar, consistent way, and you have full access to our runtime API to integrate it into your existing game code.
     
  33. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Sticky3D Controller Road-map

    Here are some of the things we have on our road map. Let us know what interests you so that we can prioritise our workload.
    • Point and sit mechanics as seen in some AAA games
    • Projectile weapon mechanics with object pooling
    • Camera setup and Look tab tutorial
    • On-screen pop-up text with object pooling
    • Foot step particles (dust) while walking (enhancement of our foot step system)
    • Integration of our Interactive-enabled object system with Sci-Fi Ship Controller XR (VR)
    • More professional demo walk and run animations
    • More support and testing with 3rd party character models and animation sets
    • VR levers and virtual in-game joysticks
    This is just a small subset of what is on our (extensive) in-house wish list. But like with all our assets, we are continually guided by what YOU are doing in your games. We are always open to ideas and suggestions.
     
  34. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Coming in Sticky3D version 1.0.9

    We've been hard at work on a few new features for Sticky3D Controller 1.0.9. These features will be useful in our Mars Experience that combines Sticky3D, Sci-Fi Ship Controller, and Landscape Builder.
    • Point and sit mechanics as seen in some AAA games
    • Generic Object pooling system
    • On-screen pop-up text options with object pooling
    How does this help?

    We'd like characters to be able to point at interactive-enabled objects in to be able to bring up a short list of options to select from. For example, if an object can be sat on, like a chair or bench, when the rectile hovers over that object a popup is displays that prompts the user to either "Sit" or "Ignore".

    Other examples could be "Grab" and object or "Buy" it.

    We will be including example of how you can create your own pooled objects by inheriting from the StickyGenericModule.
     
  35. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Configurable Sticky Popups leverage the generic object pooling system. In this image, the player is using a HUD reticle to hover over a seat in the cockpit of a drop ship. The seat is a Sticky3D interactive-enabled object in our Mars Experience mini-game.

    upload_2022-3-23_19-3-17.png

    This popup prefab is using the default UI Text elements but it is possible to inherit from our base class and use, for example, TextMesh Pro. You can also configure other styles of UI buttons and elements in the clickable popup menus.
     
    marincastefan likes this.
  36. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Head IK for player characters.

    If you want your player character's head to automatically follow the mouse or HUD reticle, don't forget to configure Look at Interactive.

    upload_2022-3-24_8-24-8.png

    upload_2022-3-24_8-25-20.png

    At runtime, you can also do this in code with our APIs.
    Code (CSharp):
    1. s3dPlayer.headIKMoveDamping = 0.1f;
    2.  
    3. s3dPlayer.EnableHeadIK(true);
    4.  
    5. // Get the head to follow the look at point
    6. s3dPlayer.SetHeadIKLookAtInteractive(true);
    7.  
    8. s3dPlayer.EnableLookInteractive();
    9.  
    10. // Make sure we get the look at point for the head ik target.
    11. // This will ensure the head attempts to look at the mouse
    12. // pointer or HUD reticle
    13. s3dPlayer.SetUpdateLookingAtPoint(true);
     
    Last edited: Mar 24, 2022
  37. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Here is a quick video for our new sitting mechanic that is coming in Sticky3D Controller version 1.0.9. It needs a bit more polish in this demo scene we're building with Sci-Fi Ship Controller, but it will give you some ideas on how to integrate it with your game.

     
  38. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    upload_2022-3-30_13-51-35.png

    Sticky3D version 1.0.9 is now available in the Asset Store. It includes the following updates since 1.0.8.

    [NEW] StickyManager - object management and pooling system - In Technical Preview
    [NEW] Sticky Interactor Bridge for non-S3D character hands - in Technical Preview
    [NEW] Sticky Generic Module - to use with object pooling system
    [NEW] Sticky Popup Module - pooled clickable popup menus for interactive objects
    [NEW] SampleGenericTextModule - shows how to create custom generic objects
    [NEW] SamplePopupOptions - shows how to create popup menus for objects
    [NEW] SampleMoveTo - shows how a character can be moved in code
    [NEW] SampleSitActionPopup - shows how a character can sit on interactive objects
    [NEW] DemoS3DTextSpawner - shows how to spawn custom generic objects
    [NEW] First person camera option to follow head bone position changes
    [FIXED] StickyXRInteractor can report incorrect object when object not Grabbable
    [IMPROVED] Add StickyInteractiveTester directly from 3D Object menu
    [IMPROVED] Revised readable levers
     
  39. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Triggering more Game Play Scenarios from NPC actions.

    We're currently working on some more game play scenarios. For example, where NPCs can walk around a space ship, take their seats, and then trigger some other action. With our integration with Sci-Fi Ship Controller, this might be NPCs getting seated, which triggers doors closing and the hover "train" moving away from the station.

    See our SSC Tech Demo 4 update or more details.
     
  40. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Here is an example of using Popups in a Sci-Fi setting** to say start the engines of a space ship or bring up a dialog screen allowing you to do repairs.

    upload_2022-4-16_19-34-38.png

    ** Screen shot from Sci-Fi Ship Controller's Tech Demo 4
     
  41. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Weapon framework

    We are planning to add a weapon system to Sticky3D. Initially we will be adding projectile and beam functionality. These will work in first person and third person.

    What features are important for your game? What weapon-related features are "must have", "nice to have", and "could be useful".

    Our general approach is to make a generic system (or framework) to allow you use your own, or 3rd party, artwork and assets. We will provide demo placeholder assets and animations.

    Leave comments below or on our Discord Channel.
     
  42. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    upload_2022-4-23_10-52-4.png

    Stashable items are coming to Sticky3D Controller. This will enable your characters to add interactive-enabled objects to their "stash" (aka Inventory). Later they could be used to equip the S3D character or be dropped.

    This could include weapons, food, drink, books, spare ammo, tools... well, just about anything useful in your game. And all this can be driven in your own game code using our extensive API (or called from your Visual Scripting tool).

    Would you like to use your own UI inventory display or use one we provide? We'd be happy to hear your thoughts. Leave a comment below or chat with us on our Discord Channel.
     
  43. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    upload_2022-4-26_20-28-56.png

    In Sticky3D we're adding the ability for your character to look at interactive-enabled objects by using the current camera direction. The default, is to use the mouse or cursor position.
     
  44. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    New in-editor setup for interactive object detection

    upload_2022-4-28_15-39-17.png

    For some time, you've been able to visually detect interactive-enabled object in the scene just by looking at or pointing at them. However, you've needed to write a little bit of C# code to hook things up. Now you don't.
     
  45. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Weapon system progress

    upload_2022-5-25_9-11-24.png

    Work continues on all the underlying systems required for our out-of-the-box weapon and inventory system coming to Sticky3D Controller.

    The plan is to allow you to switch between a FPS and TPS setup in-game (Sticky3D already can switch between first and third person at runtime).

    upload_2022-5-25_9-18-48.png

    Physical weapons, which inherit all the goodness of our Interactive-enabled object system, will support 3 types:
    • Beam Standard (seen above)
    • Projectile Raycast (which instantly hits targets in front of it that are within range)
    • Projectile Standard (which fires bullets or laser packets)
    Spent cartridges, if configured, use our new Dynamic Objects system which can adapt to different gravity situations.

    Detachable magazines (aka clips) are also interactive-enabled objects so can be picked up and dropped etc.

    Poolable (hit) decals inherit from our generic modules and can optionally fade out of view over time to avoid them "popping" out.

    upload_2022-5-25_9-26-32.png

    During in-house development and testing, we are using two excellent assets. The "Scarlett" character, who comes with her own ray gun, which is great for Sci-Fi games, is a high quality model from Steph @stellargameassets.

    The Modular City Alley Pack is from @Finward-Studios

    Obviously you can use your own weapon system with Sticky3D Controller, but we thought it would give you more options to have something in-built.
     
    Last edited: May 25, 2022
    Respaekt likes this.
  46. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Here is a subset of what is coming in Sticky3D Controller version 1.1.0.

    [NEW] Aim Inverse Kinematics
    [NEW] Poolable Decal and Effects modules
    [NEW] Poolable Beam and Projectile modules
    [NEW] Interactive-enabled Magazine (aka Clip) and Weapon modules
    [NEW] Poolable Dynamic Objects
    [NEW] StickyInteractive - Sittable object can be allocated (reserved)
    [NEW] StickyInteractive - Post Grabbed event
    [NEW] SampleSitActionNPC - shows how an NPC character can sit on interactive objects
    [NEW] StickyControlModule - Engage onInitialised event
    [NEW] StickyControlModule - Look Interactive - Lock to Camera
    [NEW] StickyControlModule - Engage interactive look change event
    [NEW] Sample Weapon Custom Reload script.
    [FIXED] First Person Follow Head Bone may be incorrect if starting in 3rd person before sitting
    [FIXED] Typo in ResetReferenceFrameLayerMask() API
    [FIXED] StickyDisplayModule - Unticking Lock Reticle to Cursor at runtime does not reset to centre
    [IMPROVED] StopMoving API now also resets input damping
    [IMPROVED] IsObstacle API checks for valid direction
    [IMPROVED] Added Sticky Anim Replacer documentation to the manual
    [IMPROVED] Reduce in-editor GC when looking at interactive-enabled objects
    [IMPROVED] Sticky Control Module - Moved Identification Settings to the Engage tab
    [IMPROVED] ToggleHoldInteractive API can now also instantly grab non-Touchable objects

    Our weapon system for our character controller is in development but making steady progress.
     
  47. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    upload_2022-6-16_10-8-24.png

    When building interactive environments, once Sticky3D 1.1.0 is released, characters will be able to:

    Look at*, touch*, grab*, drop*, stash, activate*, read, sit on, and/or select* interactive objects.

    Interactive objects, including weapons and magazines, can be configured to react to custom gravity.

    * These features are already available in the current release (1.0.9).
     
  48. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Weapon System Progress #2

    upload_2022-6-27_14-43-42.png

    We're making steady progress on our new out-of-the-box weapon system for Sticky3D Controller. Above, you can see that projectile weapons can fire more than one type of ammo. When finding magazines (a.k.a. "clips") your character can determine which ones hold compatible ammo for the current weapon.

    Reloading can automatically use compatible mags from an unseen "reserve" or from the character's "Stash" (inventory). This includes say a magazine being held in say the left hand.

    Different ammo for the same weapon can cause different amounts of damage and can inflict a higher or low impact force when it hits the target.

    Weapons have their own health, can heat up, cool down, or even burn out; making for some interesting gameplay scenarios.

    upload_2022-6-27_14-54-22.png
     
  49. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Here is a short clip that discusses some of the things we are working on for the next release of Sticky3D, along with a demo scene we're doing for Sci-Fi Ship Controller.

     
  50. sstrong

    sstrong

    Joined:
    Oct 16, 2013
    Posts:
    2,252
    Some of the changes coming in Sticky3D Controller version 1.1.0...

    [NEW] Weapon System - in Technical Preview
    [NEW] Stashable interactive objects - APIs for building custom inventory system
    [NEW] Aim Inverse Kinematics
    [NEW] Poolable Decal and Effects modules
    [NEW] Poolable Beam and Projectile modules
    [NEW] Interactive-enabled Magazine and Weapon modules
    [NEW] Poolable Dynamic Objects
    [NEW] StickyInteractive - Sittable object can be allocated (reserved)
    [NEW] StickyInteractive - Post Grabbed event
    [NEW] SampleSitActionNPC - shows how an NPC character can sit on interactive objects
    [NEW] StickyControlModule - Engage onInitialised event
    [NEW] StickyControlModule - Engage interactive look change event
    [NEW] StickyControlModule - Engage destroy and respawn events
    [NEW] StickyControlModule - Engage Respawning options
    [NEW] StickyControlModule - Look Interactive - Lock to Camera
    [NEW] StickyControlModule - Look zoom out factor
    [NEW] StickyDisplayModule - ToggleDisplayReticle() API method
    [NEW] Animate Action Conditions for held weapons and magazines
    [NEW] StickyPopupModule - SetCharacter API to associate popups with a character
    [NEW] Sample NPC Fire Weapon script
    [NEW] Sample Weapon Custom Reload script.
    [NEW] SSC Input Bridge component for sending data to Sci-Fi Ship Controller
    [FIXED] First Person Follow Head Bone may be incorrect if starting in 3rd person before sitting
    [FIXED] Typo in ResetReferenceFrameLayerMask() API
    [FIXED] StickyDisplayModule - Unticking Lock Reticle to Cursor at runtime does not reset to centre
    [FIXED] Set correct mass of demo Rod characters
    [FIXED] Follow Head Position in first person is not correct if enabled before scene starts
    [FIXED] StickyInteractive - IsAutoDeactivate
    [FIXED] s3d_briefcase1 model offset
    [IMPROVED] StopMoving API now also resets input damping
    [IMPROVED] IsObstacle API checks for valid direction
    [IMPROVED] Added Sticky Anim Replacer documentation to the manual
    [IMPROVED] Reduce in-editor GC when looking at interactive-enabled objects
    [IMPROVED] Sticky Control Module - Moved Identification Settings to the Engage tab
    [IMPROVED] Sticky Control Module - Condensed debug layout
    [IMPROVED] Sticky Input Module - Added change position button for Custom Inputs
    [IMPROVED] Sticky Interactive - Readable objects including levers and joysticks
    [IMPROVED] Sticky Interactive - Readable value debugging in the editor
    [IMPROVED] Sticky Popup Module - Sharpened text in demo prefabs
    [IMPROVED] ToggleHoldInteractive API can instantly grab non-Touchable objects