News Forums RAIN Release Notes RAIN v2.1 Developer tools of the Sentio Platform

This topic contains 8 replies, has 6 voices, and was last updated by  Thodi 2 years, 4 months ago.

Viewing 9 posts - 1 through 9 (of 9 total)
  • Author
    Posts
  • #32873

    Jester
    Keymaster

    Hello All! The newest RAIN is here! The upgrade includes a new interface, wiki docs, and new tutorials. Get the lasest version and head over to the Tutorials page for a walkthrough and Sample Project

    http://rivaltheory.com/community/tutorials/

    To grab the latest version of RAIN please click “Check for Updates” in your RAIN menu or if you don’t have RAIN in your project download it here http://rivaltheory.com/rain/download/
    —————————————

    IMPORTANT NOTES:
    - This release is only valid for Unity 4.3 or later. It won’t work on Unity 4.2.x or earlier.
    - If I see an error message like this: ‘RAIN.Navigation.NavigationManager’ does not contain a definition for ‘instance’; change ‘NavigationManager.instance’ to ‘NavigationManager.Instance’

    RAIN 2.1 Release Notes

    Upgrades:
    - Wiki documentation has been significantly upgraded. Click on the red question mark symbol in any RAIN Editor and you will be linked to relevant help from the wiki.
    - Numerous performance improvements throughout RAIN.
    - - Reduced GC time
    - - Improved pathfinding speed
    - - Improved memory access speed
    - - Improved expression evaluation speed
    - Tree binding subtrees are now visible in the Behavior Tree editor when a “Current AI” is selected.
    - Added support for dragging/moving list items in RAIN Editor windows
    - Improved color choosers and visualization toggles throughout the RAIN Editor
    - Behavior tree editor now indicates the last return value of each node during debugging
    - Added damping time to Mecanim Motor parameters
    - Added code support for enumerating Custom Elements on the AI
    - MoveLookTarget positions are now displayed in AI memory, making movement debugging easier
    - Behavior Trees may now be placed in subfolders within the Behavior Tree folder structure. This helps organize large collections of behaviors.

    Changes:
    - Move action will now return success or failure based only on movement, not on facing, when both face and move targets are indicated.
    - Misc. API changes. See code comments and API docs for details.
    - Mecanim Motor UI cleaned up, now only shows parameters in use.
    - Navigation Target range is now used as a close enough distance when moving to the target
    - Behavior Tree nodes are now placed inline when added through the Behavior Tree editor, rather than at the end of the current container node.
    - gameobject(“objectname”), navigationtarget(“targetname”), and waypoints(“waypoint route/network name”) as functions usable in Expressions.

    Bug Fixes:
    - Fixed bugs with Expression evaluation
    - Fixed unary operators not parsing correctly in Expressions
    - Fixed an issue with waypoint patrol routes not resuming properly after interruption
    - Fixed an issue with jitter when using both Move and Face targets simultaneously
    - Fix for importing behavior tree XML (was not saving).
    - Removed check for incorrect animations as it won’t compile for WP8.
    - Fix for close enough distance (on Move node) not being used in some cases.
    - Misc. editor fixes and stabilization

    Other:
    - The RAIN Editor now sends an anonymous ping to the update server once every 24 hours. No personal data is sent, only the RAIN version #, Unity version #, and unique device id. See the Rival Theory privacy policy (http://rivaltheory.com/privacy-policy/) for more information, and feel free to contact us at support@rivaltheory.com with any questions.

    #32876

    kilik
    Participant

    Big up ! just say thank’s

    #32878

    Jester
    Keymaster

    You’re very welcome!

    #32956

    sundayhd
    Participant

    Thanks

    #33001

    Stiffer
    Participant

    This is awsome ! I love it!
    Thanks guys!

    #33014

    Jester
    Keymaster

    @Stiffer @sundayhd You’re very welcome! Let me know how everything goes!

    #33118

    Thodi
    Participant

    Hi there, thanks for the update all looks cool.
    I have installed it, with Unity 4.5 … now I am getting four compile errors:

    Assets/AI/Actions/CheckBlockingWolfTarget.cs(51,106): error CS1061: Type RAIN.Entities.Aspects.RAINAspect' does not contain a definition forForward' and no extension method Forward' of typeRAIN.Entities.Aspects.RAINAspect' could be found (are you missing a using directive or an assembly reference?)
    Assets/AI/Actions/CheckBlockingWolfTarget.cs(51,71): error CS1502: The best overloaded method match for `UnityEngine.Vector3.Angle(UnityEngine.Vector3, UnityEngine.Vector3)' has some invalid arguments
    Assets/AI/Actions/CheckBlockingWolfTarget.cs(51,71): error CS1503: Argument #2' cannot convertobject' expression to type `UnityEngine.Vector3'
    Assets/AI/Actions/CheckBlockingWolfTarget.cs(55,36): error CS0019: Operator <' cannot be applied to operands of typeobject' and `float'

    All in the code:

    using UnityEngine;
    using System.Collections;
    using System.Collections.Generic;
    using RAIN.Core;
    using RAIN.Entities.Aspects;
    using RAIN.Action;
    using System.Linq;
    [RAINAction]
    public class CheckBlockingWolfTarget : RAINAction
    {
        public CheckBlockingWolfTarget()
        {
            actionName = "CheckBlockingWolfTarget";
        }
        public override void Start(AI ai)
        {
            base.Start(ai);
        }
        public override ActionResult Execute(AI ai)
        {
    		if(ai.WorkingMemory.ItemExists ("blockingWolfTargets"))
    		{
    			var currentPosition = ai.Kinematic.Position;
    			var matches = ai.WorkingMemory.GetItem<List<RAINAspect>>("blockingWolfTargets");
    			var filteredMatches = new List<RAINAspect>(matches);
    			foreach(var match in matches.ToList ())
    			{
    				var form = match.Entity.Form;
    				if(form == null)
    				{
    					matches.Remove (match);
    					continue;
    				}
    				//var inCombat = match.Entity.Form.GetComponentInChildren<AIRig>().AI.WorkingMemory.ItemExists ("attackTarget");
    				var nonAiWolfBehaviourScript = form.GetComponent<NonAIWolfBehaviour>();
    				if(nonAiWolfBehaviourScript.currentTarget != null)
    				{
    					continue;
    				}
    				var angleBetweenDirections1 = Vector3.Angle (ai.Kinematic.Forward, match.Forward);
    				var angleBetweenDirections2 = Vector3.Angle (ai.Kinematic.Forward, match.Position - ai.Kinematic.Position);
    				// if(angleBetweenDirections1 < 1f angleBetweenDirections2 < 1f Mathf.Abs(Vector3.Distance(currentPosition, match.Position)) <= 2f)
    			 	if(angleBetweenDirections1 < 1f && angleBetweenDirections2 < 1f && Mathf.Abs(Vector3.Distance(currentPosition, match.Position)) <= 2f)
    				{
    					continue;
    				}
    				filteredMatches.Remove (match);
    			}
    			if(filteredMatches.Count == 0)
    			{
    				ai.WorkingMemory.RemoveItem ("blockingWolfTargets");
    				return ActionResult.FAILURE;
    			}
            	return ActionResult.SUCCESS;
    		}
    		return ActionResult.FAILURE;
        }

    Help please? Would be much appreciated … thanks … ps sorry if this question is in the wrong place.

    • This reply was modified 2 years, 4 months ago by  prime. Reason: edited to add code tags for readability
    #33123

    prime
    Keymaster

    Sorry, we meant to deprecate the method rather than just pulling it entirely. To get the forward angle of the aspect, you could do:

    Vector3 tForward = Quaternion.Euler(match.Orientation) * Vector3.forward;
    #33135

    Thodi
    Participant

    Ok, thanks … fyi we found unity 4.5 unworkably slow have rolled back to 4.3 and RAIN 2.0 … so we’ll try your suggestion down the line.

Viewing 9 posts - 1 through 9 (of 9 total)

You must be logged in to reply to this topic.