playMaker

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - mrminico

Pages: [1] 2 3 ... 5
1
General Discussion / Move towards 2d & PUN actions?
« on: September 16, 2018, 06:28:05 PM »
Hi everyone I was wondering is there a way to make move towards in 2d space or use exisiting actions to replicate functionality.

Another thing I noticed the PUN proxy doesn't work in unity 2018 is PUN not supported anymore for playmaker in unity 2018?

2
General Discussion / Re: Which actions are used to move wheel colliders?
« on: August 28, 2018, 12:30:37 AM »
Alright
Hi,

 Good point, I think people where using SetProperty to access motorTorque and SteerAngle, but that's sub optimal.

 I made the necessary actions on the ecosystem:

SetWheelColliderMotorTorque
setWheelColliderSteerAngle

I also made
GetWheelColliderRpm

use WheelColliderGetWorldPose ( Unity 5 and up) to get the wheel position and rotations and apply it to your visual wheel.

Let me know if all goes well.

Bye,

 Jean

Hi,

 Good point, I think people where using SetProperty to access motorTorque and SteerAngle, but that's sub optimal.

 I made the necessary actions on the ecosystem:

SetWheelColliderMotorTorque
setWheelColliderSteerAngle

I also made
GetWheelColliderRpm

use WheelColliderGetWorldPose ( Unity 5 and up) to get the wheel position and rotations and apply it to your visual wheel.

Let me know if all goes well.

Bye,

 Jean


Hello Jean,

I got around to using the torque and steering actions they worked excellently my only issue was getting it to stop but I ended up using set property and found Torque brake. If you can make a Brake torque action whenever you have time that would be nice to have too. As for the wheel collider get world pose action I'm not so sure how to properly use that one all my visual representation of the wheels were rotating out of whack so I guess I have to tinker with that action more.

3
General Discussion / Re: Which actions are used to move wheel colliders?
« on: August 27, 2018, 06:08:01 AM »
Thanks Jean  ;D I'll test it out later and get back to you here.

4
General Discussion / Which actions are used to move wheel colliders?
« on: August 26, 2018, 10:05:28 PM »
Hello everyone,

Does anyone have any idea what actions move and rotate wheel colliders?

5
Hi,

 well, the best way to make sure you are trying to optimize the right aspect of your game, is to profile it.

 it could be sound uncompression, or some of the actions that are taking up performances and not PlayMaker itself.

 for example, if you use the action FindGameObject, every frame on a large hierarchy, you will experience some perfs issues, because Unity own api to search a gameobject by name is slow.

Now if you profile this scene, your first guess as your profiler will show will be to say that PlayMaker is to blame because everything points to PlayMaker internal methods, but if you dig deeper, you'll see that it's actually the Unity api that is used by an action, itself used by PlayMaker that is the issue.

 tricky to debug indeed, especially when you have no experience in coding, it becomes obscur as to what exactly is the problem.


 Bye,

 Jean

Agreed. I always use the profiler before making any assumptions. Out of all my years in using playmaker not even the worst FSM's would give me severe frame drops the same way unoptimized assets would.

The only time I see playmaker becoming an issue is when you needlessly abuse actions on every frame. I've done a lot of research on optimization and most of my optimal FSM practices come from understanding Unity not playmaker. Playmaker only serves as the bridge that grants functionality based on certain parameters you need to build for (identical to programming only predefined) 

Although picking up playmaker can be very easy (for some) having optimal results can be a matter of checking the right options in playmaker (or Unity) since the game engine demands this.

I remember during my newbie stages there was a case that I was experiencing SEVERE frame drops in a 2d mobile game i was developing. I was going nuts and thought it was playmaker since the profiler kept showing playmaker at the top of the list. After messing around more with unity i found the main problem.

This.




Unity would automatically convert the mesh type of each sprite and will add extra verts and tris per sprite mesh. This was very bad since I had a lot going on in my screen.


I then did this which gave me good results and lessen the amount of tris and verts per sprite mesh. The game was running at an amazing 60FPS on lowend devices.



All I had to do was select the sprite files and change the mesh type to full rect which made plane meshes for EVERY object which is only 4 verts and 2 tris each.



So whenever I have to optimize anything in a game 90% of the time its never a playmaker issue. Aside from profiling, understanding Unity (And your job role lol) is most definitely the first step in making anything optimal including FSMs.


 


6
I'm not using prefabs (yet... lol) but I try not to blame PM too much for any performance issues. There are TONS of things PM can do in one frame and since I haven't optimized my scene with some GPU memory hacks (Which I'll be posting here) Its safe to say that my scene is flooded which impacts performance. I do however keep in mind the amount of update activity its a good thing to practice.

7
General Discussion / Re: Rewired/Cinemachine Actions discussion
« on: August 23, 2018, 12:59:05 AM »
Quote
Thanks for explaining. My confusion is coming from your mixture of joystick terms in while you're talking about the mouse. Here you say you used a mouse map for the "right analog sticks" which doesn't make sense to me because the mouse has no relationship to any analog sticks and a mouse map cannot be used on a joystick. If I understand correctly, you mean you created mouse map to control the Cinemachine camera's X and Y axes, but you did not know you could also map these actions on a Joystick Map and use a joystick to control the camera. That makes sense if that's the case.

Yesss! Exactly that sorry for the confusion. But that's exactly what I did I'll be trying the joystick map as soon as I'm back the project that uses ReWired. You have been phenomenally helpful Guavaman! Thanks for all the support and assistance. If there's anything else in regards to Playmaker / ReWired I'll make sure to mention you. I'll come back here once I've experimented with the updated cinemachine integration just to let you know that everything is okay.

8
General Discussion / Re: Is there a coroutine action here in playmaker?
« on: August 21, 2018, 09:19:59 PM »
Hi,
So i did some quick testing,
and i updated an older action of mine called "Countdown Timer"
If you set the same variable in 'Time' and 'Store value' it will continue where it left.

To restart the timer you will need to set the value back to the time you wish tho.(use set float value)

you can get it on the Ecosystem

Thanks for the action update I didn't know countdown timer was even a thing haha. So functionality wise I'm guessing the timer be used as if you're running a coroutine while having additional actions that "store variables". I'll mess around with it when I get the chance.

9
General Discussion / Re: Rewired/Cinemachine Actions discussion
« on: August 21, 2018, 09:11:16 PM »
WOOOOW No wonder I using ReWired mouse inputs to control the cameras through joystick instead of using Controller inputs.

This statement is quite confusing to me. What do you mean by "using Rewired mouse inputs?" If you are using Rewired to control the camera with a joystick, you're using Rewired to control the camera with a joystick. There's no way possible you could be accidentally using the mouse to control a joystick.

In Rewired, there are nothing but:
Actions
Controller Maps

Your Actions can be named whatever you want. You can call them:
Look X
Mouse X
Upside-down Flying Ninja Robot Zombie Pizza from Galaxy X

Regardless of the name, they are all exactly the same.

To use these Actions, you must create some Controller Maps for the different controller types you want to support.

When you create a Controller Map for a Joystick, you are creating bindings between joystick elements and Actions.

When you create a Controller Map for a Mouse, you are creating binding between mouse elements and Actions.

Even if that Action's name was "Mouse X", when you made a Joystick Map using that Action, it's equally as valid as making a Joystick Map with an Action named "Look X." There's absolutely no difference.

If you were using Actions in Rewired called "Mouse X" and "Mouse Y" and making Joystick Maps with those two Actions, that's perfectly valid and will work. You will get the exact same result as if you change the names to "Look X" and "Look Y".

Sorry for the confusion By Mouse X and Y I was referring to the Mouse Axis. I thought ReWired Cinemachine integration only worked with those. I'm well aware that naming conventions don't matter in this case but thank you once again! :)

Are you saying you were using ReInput.controllers.Mouse to get the values of the mouse directly? Because if you're using Player-Actions, you're using whatever current input device is mapped to those Actions and assigned to the Player whether it be a mouse, joystick, or keyboard.

Alright I opened unity up so I can retrace everything I did so there wont be any more confusion. (Sorry in advance  :'( my ReWired terminology is all off)

Heres What I did:

I used a mouse map for the right analog sticks and assigned mouse horizontal and mouse Vertical in the element section. I then assigned the mouse map to the player. At the time I thought only mouse maps would work with the integration.
 

10
    Hi Everyone,
    • Avoid calling actions on every frame in starting states unless neccessary

    Hi,

    Thanks for sharing your tips, very useful!

     on that point, I don't think it counts. It's perfectly valid to have a start state doing something everyframe, I do that all the time, on fsm that are responsible for continous animations for example.

    If you have experienced trouble, can you explain the case, I think it deserves more attention as you might have a misconception on some features.

    Bye,

     Jean[/list]
    That's a valid way to use every frame and is exactly what I meant by use only if necessary. A bad example would be trying to get a variable every frame that you can easily assign at the start of the first frame. There are definitely many ways to go about it. And I've seen some performance hits especially when I do heavy maths at start states on every frame D:

    11
    General Discussion / Re: Rewired/Cinemachine Actions discussion
    « on: August 21, 2018, 08:34:49 PM »
    WOOOOW No wonder I using ReWired mouse inputs to control the cameras through joystick instead of using Controller inputs.

    This statement is quite confusing to me. What do you mean by "using Rewired mouse inputs?" If you are using Rewired to control the camera with a joystick, you're using Rewired to control the camera with a joystick. There's no way possible you could be accidentally using the mouse to control a joystick.

    In Rewired, there are nothing but:
    Actions
    Controller Maps

    Your Actions can be named whatever you want. You can call them:
    Look X
    Mouse X
    Upside-down Flying Ninja Robot Zombie Pizza from Galaxy X

    Regardless of the name, they are all exactly the same.

    To use these Actions, you must create some Controller Maps for the different controller types you want to support.

    When you create a Controller Map for a Joystick, you are creating bindings between joystick elements and Actions.

    When you create a Controller Map for a Mouse, you are creating binding between mouse elements and Actions.

    Even if that Action's name was "Mouse X", when you made a Joystick Map using that Action, it's equally as valid as making a Joystick Map with an Action named "Look X." There's absolutely no difference.

    If you were using Actions in Rewired called "Mouse X" and "Mouse Y" and making Joystick Maps with those two Actions, that's perfectly valid and will work. You will get the exact same result as if you change the names to "Look X" and "Look Y".

    Sorry for the confusion By Mouse X and Y I was referring to the Mouse Axis. I thought ReWired Cinemachine integration only worked with those. I'm well aware that naming conventions don't matter in this case but thank you once again! :)

    12
    General Discussion / Re: Is there a coroutine action here in playmaker?
    « on: August 20, 2018, 04:36:30 PM »
    Hi.
    In The sample he showed i would do something like this :

    State 1:
    action 'Get distance'
    Then a 'float compare' and if less than 0.05 go to next state.
    Then the lerp stuff on line 20

    state 2 :
    print reached the target
    'wait' set to 3 sec and finish

    state 3
    coroutine finished

    there are many other similar ways you can use this.

    for example on state 1 send a event (doSomething) to another fsm
    then on state 2 send a event (StopDoSomething)

    on the other fsm have 2 global transitions (doSomething and StopDoSomething)
    and set them to global.

    Here is a video about local/global :


    Hi Djay thanks for the tip and video link. Conceptually I'm aware there are ways to mimic the functionality of a coroutine but the method you purposed isn't exactly what I was questioning. The video was just an example hahaha ^_^'.

    To put it in better words is there an action that can yield to then continue where it last left as would a coroutine?

    A good example would be having a wait timer that's interrupted the moment you exit. When you go back to the state the wait resumes from the last float it was in.

    13
    General Discussion / Re: Rewired/Cinemachine Actions discussion
    « on: August 20, 2018, 04:01:02 PM »
    Quote
    No you do not have to use mouse X and mouse Y. Those are nothing but names of Actions. You can call them whatever you want. The entire purpose of the integration is to be able to use Rewired, which by definition means you can use any controller type you want. The reason they start "Mouse X" and "Mouse Y" is that is what the Cinemachine camera scripts use for the default action names. They're just defaults.

    WOOOOW No wonder I using ReWired mouse inputs to control the cameras through joystick instead of using Controller inputs. Alright, I definitely have tons of testing to do I'll definitely do it all as soon as I get the time to. Thanks for the information Guavaman :)

    14
    General Discussion / Re: Rewired/Cinemachine Actions discussion
    « on: August 20, 2018, 11:07:36 AM »
    I've already released the new update that includes the final new version of the Cinemachine integration. It will be available on the Unity Asset Store most likely this week.

    Awesome! I'll give you feedback on it as soon as I test it out I know this isn't a priority so I wouldn't want to distract you from whatever roadmap you have planned for ReWired. I really appreciate the time you spent on small integration. Thanks again!

    Just one question tho. Does cinemachine API locks you out of using inputs? I see we have to use mouse X and Y. I was giving it some thought and perhaps because me using the mouse x & y through the joystick was the reason it all felt off. I know cinemachine lets you plug in unity's input but i just found it weird you didn't use input instead. You probably had your reasons for that I was just wondering ^_^

    15
    General Discussion / Is there a coroutine action here in playmaker?
    « on: August 20, 2018, 10:53:51 AM »
    Hello everyone,

    I've noticed most actions here has an every frame option. I was brainstorming of possible ways to do things on every frame within a set amount of time and read on how coroutines work. I was looking at this video

    https://www.youtube.com/watch?v=bM3CXzj5xM4

    and saw that coroutines would be great to have for small tasks that you don't need to call on every frame.

    Does anyone know how to achieve this functionality in playmaker with current actions? or is it something I'll need to find a programmer to do?



     

    Pages: [1] 2 3 ... 5