Sign in to follow this  
LiziPizi

Path system

Recommended Posts

I'm creating a path system because the Unity engine doesn't provide any.

Let's say I have a script called CircularPath, this path is a circle shape path which has radius, center point and angle variables. The angle variable specifies where the object is on the circle circumference. Now, if I create the path object which holds the CircularPath script and I create a game object which I want it move in the path, I want the game object to be snapped to it's rightful position already in the editor mode and not only in play mode then how do I do it?

 

I tried using the attribute ExecuteInEditMode but it doesn't good for my need.

I hope someone can help me with that,

Thank you in advance.        

Edited by Elgauly

Share this post


Link to post
Share on other sites

What type of "path" system? I understand "circular" and "angular", but by "path" do you mean navigation? 

Have you looked at the navigation mesh system?

 

I am talking about 2d path, which I can attach to an object and then the object move on the path in a fixed speed. No physics needed.

GameMaker engine have it, it looks like this: https://docs.yoyogames.com/source/dadiospice/001_advanced%20use/004_paths.html 

I'm trying to make the same thing but without editor.

Edited by Elgauly

Share this post


Link to post
Share on other sites

So more like this spline controller? There are quite a few motion systems out there, including a bunch on the Unity store for free or low cost if you don't feel like re-inventing the wheel.

 

I looked for it along time ago. There is an animation system call leantween which is free that have this path system in its non-free version.

I'm not going to pay money for this. 

Share this post


Link to post
Share on other sites
ExecuteInEditMode will behave slightly differently than running normally, but you should be able to at least get the object to move to its starting point in Awake.

I'm assuming you're going to set the object's transform relative to its parent? If you're trying to set its position relative to ITSELF at edit time, you're going to be in for a world of pain.

You might also need a custom inspector which can manipulate your component. https://unity3d.com/learn/tutorials/topics/interface-essentials/building-custom-inspector

If you absolutely need it, here is another thing you can use: http://answers.unity3d.com/questions/39313/how-do-i-get-a-callback-every-frame-in-edit-mode.html Edited by Nypyren

Share this post


Link to post
Share on other sites

I'm assuming you're going to set the object's transform relative to its parent? If you're trying to set its position relative to ITSELF at edit time, you're going to be in for a world of pain.

Can you explain yourself please? 

Edited by Elgauly

Share this post


Link to post
Share on other sites

I'm assuming you're going to set the object's transform relative to its parent? If you're trying to set its position relative to ITSELF at edit time, you're going to be in for a world of pain.

Can you explain yourself please?


A circular path needs a center point, or some other way of keeping the overall circle shape in a stable location. If you are defining the center point as the position of the transform of the same object that you want to travel in the circle, then moving that transform will move the center point. If you then repeat the process, you would see your game object fly off in a straight line, indefinitely, instead of travelling in a circle.

So, you need your center point to be defined some other way. The most "Unity-like" way to do that would be to treat the parent gameobject's transform's position as the center of the circle. Edited by Nypyren

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this