コード例 #1
0
        public static NodeState Tick(int index, INodeBlob blob, IBlackboard bb)
        {
            var look      = bb.GetData <BTInputLookData>().Value;
            var direction = quaternion.LookRotation(new float3(look.x, 0, look.y), math.up());

            bb.GetDataRef <BTTransformRotationData>().Value = direction;
            return(NodeState.Success);
        }
コード例 #2
0
        public static NodeState Tick(int index, INodeBlob blob, IBlackboard bb)
        {
            var input     = bb.GetData <BTInputMoveData>();
            var direction = new Vector3(input.Value.x, 0, input.Value.y).normalized;
            var speed     = blob.GetNodeData <InputMoveToCharacterVelocityNode>(index).Speed;

            bb.GetDataRef <BTCharacterSimpleMoveVelocity>().Value = direction * speed;
            return(NodeState.Success);
        }
コード例 #3
0
        public static NodeState Tick(int index, INodeBlob blob, IBlackboard bb)
        {
            var inputValue = bb.ReadInputActionValue <InputAimPositionNode, Vector2>(index, blob);

            if (!inputValue.HasValue)
            {
                return(NodeState.Failure);
            }
            bb.GetDataRef <BTInputAimPositionData>().Value = inputValue.Value;
            return(NodeState.Success);
        }
コード例 #4
0
        public static NodeState Tick(int index, INodeBlob blob, IBlackboard bb)
        {
            var move = bb.GetData <BTInputMoveData>().Value;

            if (math.lengthsq(move) <= math.FLT_MIN_NORMAL)
            {
                return(NodeState.Success);
            }

            var direction = quaternion.LookRotationSafe(new float3(move.x, 0, move.y), math.up());

            bb.GetDataRef <BTTransformRotationData>().Value = direction;
            return(NodeState.Success);
        }