What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal
RebornBuddy Forums

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

[TOOL] Smoothify

mh66

Community Developer
Joined
Jun 21, 2016
Messages
1,050
Hello everyone,

I've scripted a routine that might help some of you making edgy profiles more human-like or even flying routines.








HOW IT WORKS
01_howitworks.png

Smoothify will replace hotspots with waypaths being way more smooth and curved.








HOW TO USE
02_howtouse.png

copy/paste hotspots, set your parameters and click on "Smoothify".








PARAMETERS
03_parameter.png

MaxDistance: maximum distance between replaced hotspot and new waypath
Step: minimum distance between added waypoints
NextCTM: Corresponds to PathPrecision (distance between char and current Click-To-Move-Event when next CTM is triggered)
Cycle: check if transition between first and last waypoint is desired
Invert: check if you want to change direction of path

Notes:
  • Smoothify will autocorrect values for specific waypoints that may cause bottish behaviour
  • If you set MaxDistance to a very hight value (eg "9999"), Smoothify will create a waypath being as curved as possible.
  • If you record your path with ZapRecorder you might want to use a distance of 30









EXAMPLE
635072480565210363.PNG


Furthermore, I've attached 2 profiles for "Vale Of Eternal Blossoms":

View attachment [Smoothify] Edgy.xml
contains the original edgy flying path

View attachment [Smoothify] Smoothified (10, 4, Cycle).xml
contains the smoothified flying path with parameters MaxDistance=10, Step=2, Cycle

Having uploaded the script on JSFiddle, it's quite easy modifying and adapting the function to your needs. If anyone is interested in the math behind it for improvements and adjustments, let me know and I will provide some notes.

http://jsfiddle.net/58zt099v/37/embedded/result/


Sorry for doubleposting. Didn't know where this topic fits more.
 
Last edited:
This is an interesting project. Anything that can adjust the behavior to be more human-like in appearance is most welcome.

How does this handle elevation choppiness (aka, when a flight results in flying too low to the ground or vertical zig-zags every few meters). ?
 
Nice idea!
Would it be possible to extend this project to include obstructions (3D blackspots if you will), to avoid collisions with objects when traversing the smoothed path?
 
This is an interesting project. Anything that can adjust the behavior to be more human-like in appearance is most welcome.

How does this handle elevation choppiness (aka, when a flight results in flying too low to the ground or vertical zig-zags every few meters). ?

What Smoothify actually does, is changing an existing waypath and smoothifies it. If 2 flying points are too far away from each other, HB jumps in and auto-assists by adding additional points according to mesh data (that's what I assume).

If you want a very smooth flying path, you need to record a quite accurate beforehand. Have you tried the profiles I attached? The first one was recorded with ZapRecorder with a distance of 40m; the second one is the smoothified version of this particular recorded one.

When I scripted this routine the idea of improving HB flying assist mode came to my mind. If you could catch the last, current and next ClickToMove-Event, you could smoothify the path by creating a plugin, that will add additional flying points on-the-fly.
 
Last edited:
Way easier than that; these new waypoints lie on an arc

132bab7e7e.png

132bc54ac4.png
 
ohhhh ok I see what its doing. Is this some kind of interpolation or did you just make this up? It's a cool solution, I like it. Good work!
 
I've scripted this algorithm myself with some vector geometry and trigonometric functions. I intend to script a plugin that will jump in honorbuddy's click-to-move-events and adds waypoints on the fly So way less edgy flying (that's what I aim for) :)
 
Updated:
- NextCTM - Smoothify will consider PathPrecision (distance between char and current Click-To-Move-event when next CTM is triggered) for calculating coordinates
- Invert: Although users will use the same profile, you can now invert the direction so it's unlikely anyone will see you are using the same profile
 
Does this work with ground mount profiles also or just flying? I tried it on my ground mount profile for legion and it just stood there and dident move at all. Or am i doing somting worng, tried 1-4 steps, max distance from 5-15, CTM om 10-50 and cycle
 
it's actually for flying profiles only as GB won't let you set PathPrecision (the setting NextCTM depends on)
 
Back
Top