Polarith AI Pro

DMC

New member
I didn't see an existing integration with Polarith's AI tool.

Disclaimer: I haven't opened the product.
I watched the videos, analyzed the structure, and determined I was interested in their implementation.

I was reading through BD Movement Pack, and there was the topic of it working in 3D space: https://opsive.com/support/documentation/behavior-designer-movement-pack/

It seemed to me, from what I saw and the architecture it implied, these chaps might have something.

If these guys are going to be around (even more likely if they integrate with others), and the base is good, it could be very applicable to UCC and BD.

UCC chars would instantiate a "flyer" prefab when flight is invoked, in my imagining of things.

If you aren't interested, or don't get around to it before I work on flight, I'll probably get stuck with it; Dragons gotta fly, ya know.

However, if you don't make a flight pack, I can't buy it...so, there is that.
Additionally, it will be harder for me grumble about your convoluted, though extremely performant, implementation, receive professional support on the topic, whilst laying the burden of the unity update on you, if you don't.
 
I have actually had a Polarith license for awhile thinking that I would some day to an integration with Behavior Designer and the Movement Pack. There hasn't been many requests for an integration though so that's why I've held off. If anybody else is interested feel free to like this post or respond to this thread.
 
Fair. No point making things that won't be used.

However, sometimes people don't know what they want until it is offered.

McDonald's isn't famous for products people need, and at the end of the order they ask if you want fries.

Many people here are, possibly, not going to be using click to move or flight engines because UCC doesn't offer that; It's possible the people who want those things aren't here. <-Sales Pitch
 
If anyone finds it useful, here's a simple sketch of a flight ability implementation using UCC and Polarith AI Move.

using Opsive.UltimateCharacterController.Character.Abilities;
using Polarith.AI.Move;
using UnityEngine;

public class Flight : Ability
{
public AIMContext Context;
public float Speed;
public int ObjectiveAsSpeed = -1;
[Tooltip("The maximum number of degrees the character can rotate.")]
[SerializeField]
protected float m_MaxRotationAngle = 0.5f;
float velocity;

public override void Update() {
base.Update();

if (Context.ObjectiveCount == 0 || Context.DecidedValues.Count <= 0) return;

if (ObjectiveAsSpeed > 0 && ObjectiveAsSpeed < Context.DecidedValues.Count) {
velocity = Context.DecidedValues[ObjectiveAsSpeed] * Speed;
velocity = velocity > Speed ? Speed : velocity;
} else {
velocity = Speed;
}
}

public override void UpdatePosition() {


m_CharacterLocomotion.DesiredMovement = Context.DecidedDirection.normalized * velocity;
Debug.Log(m_CharacterLocomotion.DesiredMovement);
}

public override void UpdateRotation() {
Quaternion targetRotation = Quaternion.LookRotation(Context.DecidedDirection);
float angle = Quaternion.Angle(Quaternion.identity, targetRotation);
if (angle > m_MaxRotationAngle) {
targetRotation = Quaternion.Slerp(Quaternion.identity, targetRotation, m_MaxRotationAngle / angle);
}
m_CharacterLocomotion.DesiredRotation = targetRotation;
}
}

In this implementation, I had to disable gravity and collisions in UCC and manage them separately. For Behavior Designer, it's enough to activate the ability and manage the AIMContext enable/disable behavior if performance is a concern.
 
Back
Top