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.

Topics - westingtyler

Pages: [1] 2 3 ... 5
Hello. I updated to playmaker 1.8.5 using Unity 2017.2

After updating the DrawLine.cs from the ecosystem to end a yellow error about it, it added it to a folder called Effects in the project heirarchy in the custom actions folder. then there were two copies of DrawLine.cs, one in the Effects sub folder and the old one in the Custom Actions Folder, creating an error about something already being defined. so I deleted the old one. Both .cs files said version 1.1 in them.

Now I get this red error: "ArgumentException: Getting control 2's position in a group with only 2 controls when doing Repaint
UnityEngine.GUILayoutGroup.GetNext () (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/LayoutGroup.cs:115)
UnityEngine.GUILayoutUtility.BeginLayoutArea (UnityEngine.GUIStyle style, System.Type layoutType) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayoutUtility.cs:344)
UnityEngine.GUILayout.BeginArea (Rect screenRect, UnityEngine.GUIContent content, UnityEngine.GUIStyle style) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayout.cs:364)
UnityEngine.GUILayout.BeginArea (Rect screenRect) (at C:/buildslave/unity/build/Runtime/IMGUI/Managed/GUILayout.cs:346)
Net.FabreJean.PlayMaker.Ecosystem.EcosystemBrowser.OnGUI_ItemList () (at Assets/net.fabrejean/Editor/PlayMaker/Ecosystem/EcosystemBrowser.cs:1977)
Net.FabreJean.PlayMaker.Ecosystem.EcosystemBrowser.OnGUI_Main () (at Assets/net.fabrejean/Editor/PlayMaker/Ecosystem/EcosystemBrowser.cs:836)
Net.FabreJean.PlayMaker.Ecosystem.EcosystemBrowser.OnGUI () (at Assets/net.fabrejean/Editor/PlayMaker/Ecosystem/EcosystemBrowser.cs:1153)
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:232)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MethodBase.cs:115)
UnityEditor.HostView.Invoke (System.String methodName, System.Object obj) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:285)
UnityEditor.HostView.Invoke (System.String methodName) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:278)
UnityEditor.HostView.InvokeOnGUI (Rect onGUIPosition) (at C:/buildslave/unity/build/Editor/Mono/HostView.cs:245)

Playmaker Help / "Auto-update ecosystem custom actions" button?
« on: December 15, 2017, 11:33:15 PM »
I updated to Unity 2017.2 and Playmaker 1.8.5, and I get lots of yellow errors for custom actions about obsolete phrases and stuff.

Is there some kind of option to auto update all custom actions I've downloaded from the ecosystem? This would be really handy.

Playmaker Help / Generate FSM Variables at Runtime by Parsing a .TXT File?
« on: November 29, 2017, 06:53:01 AM »
I am stumped how to do this.

I can do a raw load into a string of a whole text file using EZ Save 2.

Then I can parse it using indicators like "if next character is a /" then save the last snipped as a new string entry in an array." adding a new string entry for each new /entry, up to infinity?

Okay, so:
My goal is to be able to write all my npc attributes code in a text file using like Notepad++ or Sublime, then load that file during runtime on a "blank" NPC character prefab to set all its properties, from its model and texture to its bark voice, to its walk speed, to its conversation topics and responses.


The problem is that my system is broader and more abstract than that; I don't have NPCs in my game, I have "entities" which can range from a potted plant to a blacksmith to a door, all of which can have wildly varying traits.

Some entities will be able to move and will therefore need variables for speed, frequency, footstep sounds, etc.

Some entities will be able to converse and will therefore need variable lists for an undefined number of possible text responses and query words.

I COULD make a single "Entity Blank" FSM on the prefab that contains 1 billion variables to describe everything from potted plants to knights and dragons, but in most cases, if I just have an FSM with all possible traits on every single entity, there will be a LOT of bloated FSMs with blank variables that are never used.

Therefore it would be nice if I could scan the entity's profile text file for 'CAN MOVE' then, if that trait type exists here, then create a speed variable and set it to what the text file says, and do the same for a footstep sound, a speed frequency.

I COULD have different fsm prefabs with pre-created blank variables representing every possible attribute for a given trait, (a "Can Walk" FSM with three variables for it)... but what about cases where, say, the entity can only walk over certain terrain types that I need to write out a list of, in its text file ahead of time? what if there are ten blocked terrain types? what if there are 20? what if most moving entities only have 3? do I just make an FSM for blocked terrain types, with 100 blank variables, just in case I need that many someday for some random special npc? Should I use an array if a potential trait list could be 0 to infinite?

Thank you for reading this if you did. I am not sure the best way to approach this issue or if I've been clear. And since I have so many characters, doing it wrong from the beginning could massively multiply my workload down the road.

What do you recommend?

Action Requests / get names of levels in the build?
« on: September 15, 2017, 01:27:37 AM »
Hello. I want to find key game objects in the main hub level, that are named after the levels in the build, and position them on a tool shelf or hide them based on whether you've found them yet or not.

i store each key's progression in an int variable in a text file using EZ Save 2.

so my fsm needs to be like:

get amount of levels in the build
find build level X
get name of it
retrieve the int named that
check if it's 0 or 1
if it's 1, put it on the shelf. if it's 0, hide the key somewhere or destroy it.
if you're above the number of levels in the build, stop. else:
find build level X+1
get name of it.

i can "get last loaded level" but that doesn't get me the levels listed in the build settings.

Action Requests / Letter to Int to String?[SOLVED]
« on: September 14, 2017, 03:35:03 AM »
Hello. I want to have random-seeming numbers appear on a display when you use a level key to "orient the sensors" to point at the new level to load.

What I really want to do is take the level name, auto convert its first five letters to integers, and display that, so it's not random each time, and each level has a unique one.

Basically, you'll be able to input these numbers as passwords even in a brand new game to go to any level at any time, and they'll always display the same when you use a key.

for example:

you used the "secret lab" key on the keyhole?

new coordinates to display: 195.318.520

a letter to int action would save a lot of time. a letter to int to string action (convert 1 letter to a string after first converting it to an int) would save even another step.

Playmaker Help / Create Object (from Prefab) increases draw calls?
« on: August 28, 2017, 02:00:02 PM »
Hello! In my game you can tunnel through the world by clicking on stone walls. Each wall block is a prefab, and when you click it, it destroys itself, creates a floor in its place, and creates new wall prefabs around that new floor tile.

using the Create Object action in playmaker, adds draw calls every time I do this, so i can't mine very much until there are hundreds or thousands of draw calls.

But all the walls use the same material and should not be adding draw calls.

Their geometry is simple squares, and they use the same material.

I wonder if it's because the Creat Object action uses the wrong terminology inside it?

from the unity help: Material Access: Be careful when accessing Renderer.material. This will duplicate the material and give you back the copy, which will opt that object out of batching consideration (as its material pointer is now unique). Use Renderer.sharedMaterial.

Could all these new draw calls be due to the action accessing Renderer.material instead of using Renderer.sharedMaterial?

If this turns out to be the case, I'll request a version of the action that uses the one that doesn't increase draw calls.

my player is tunneling block by block.

when my player clicks on the wall's box collider, I need to check the 4 box collider triggers around the wall to see which one the player is standing in (so i don't build an unnecessary wall IN the player.) I'll also check the box colliders around the wall clicked, to see if those invisible colliders are in another wall already, or if a wall NEEDS to be created there. this will ensure new walls are generated ONLY where there is empty space.

Basically, it's a tunneling system like in Dungeon Keeper, using rectangular walls with no up or down tunneling.

I can't just 'get collision info', because a rat might have run onto that area after the player moved into it, and it would then test the rat to see if it's the player standing there and say no, and make a wall in the player's face.

so I need to be able to check the names of objects standing in the collider trigger, to see if one is the player.
what is the best way to do this? does it need a new action?

Every mecanim tutorial I see involves scripting for this stuff, but I just want a playmaker action that's like "turn head to face player".

look at can work for the eyes if they are independent models, but I am talking about something that affects the mecanim bones.

I also want to be able to say "the object the player is holding is desired by the npc, so reach the npc's hand up and follow the object.

this is something about inverse kinematics or something. I just don't know how to do this in playmaker.

it's the same, I think, as making npc arms touch walls instead of going through them, if close enough.

does anyone have any leads about how to do this with playmaker? I need to make a mecanim npc's face and hands follow a game object as it moves around the scene.

I hope I'm being clear enough about the problem.

This would be useful for having objects float in wavy water (which uses a vertex displacement shader) or for putting bullet holes actually on objects rather than on their box colliders.

Basically, I need to dynamically generator some dialogue strings, and if it ends up being over four lines, I need to trim off the remainder and put it on a second, third, fourth, or fifth dialogue page. (and save them all so they can be flipped through like pages.)

I'm using a word-wrapped TextMeshPro game object, and we don't want dialogue text falling out the side of the box.

Can we get an action to test if it's being cut off, or to test the number of lines in the string.

There is a super janky way to do this by estimating the max characters in four lines, and trimming everything after, but that doesn't guarantee the pages of text won't be too long or short. We need to check the string on an individual basis.

playmaker 1.8.3
unity 5.4.1f1 (p or f?)
windows 10 64 bit

I submitted a bug report, but now I know how to reliably reproduce this.

Any fsm viewed during play mode ticks all its events to global, and they remain ticked after exiting play mode. For real, I have watched the program tick them all upon launching play mode, while already viewing the events tab. Obnoxious to have to go through and untick them every time, and probably not great for performance to have a million "1 through 18" events as global events. also, will it affect performance?

What gives? is it a bug or some setting?

Is there a way to do this in playmaker? I want to be able to play audio tapes in my game, pause them, and restart them from the saved point, and optionally set a loop point, like for a song with a start but no end.

Can we please have a feature in playmaker to make reading large fsms (pictured fsm is tiny) easier, by being able to do something like in the picture, where we can make colored lines around sections of an fsm to create fsm regions, possibly with large title states that have large fonts? this would be super helpful in making larger fsm's readable. Or just colored background shapes to put behind a section of states?

Having to do all this currently by using a bunch of state transitions in empty states like in the picture is lame-o.

I label sections of actions with an empty header state like ====backpack processing==== and color it purple, but this all seems silly and wasteful or something and doesn't stand out much, being the same size text as every other state title.

pretty please.

I think i've finally pinpointed it.

Any FSM, even within disconnected prefabs (since editing "applied" prefabs is just hellishly slow) editing, especially adding or deleting actions or states, gets super sluggish, making me wait 5 seconds between each addition or deletion, after opening Actions library for first time, after each time I launch Unity. It doesn't matter if it's a tiny or large FSM, new or old.

after learning this, now I know I should copy and paste a bunch of empty states in an FSM and name and arrange them BEFORE adding any actions, to make it work way faster. It's just as fast if I open the action library, add actions, save, exit unity, and come back in, and edit the fsm. as long as I don't do that initial opening of the action library, everything is speedy. are there any basic tips I am missing about this?

Before today I didn't understand why sometimes fsms would add and delete states and actions quickly sometimes, and mind-numbingly slow other times, but now I THINK I can control it, but I am hoping someone can fix it permanently with some simple setting or something.

Actually opening the action library takes like 6 seconds to open. it's blank, I type what I am searching for (although the letters don't appear), then 6 seconds later it types it into the search bar and loads all the actions.

Windows 10 64 bit. Playmaker 1.8.3. Unity 5.4.1p1
My project is 40 gigs, if that makes a difference. The final prepared exe is 1.4 gigs.

Set Position gives me vectors, but why doesn't it give me a game object option? I want to move a cursor to another slot in the inventory, and it seems silly to have to manually get position of that slot then set position each time when a single action should do all that. Does this already exist?

Pages: [1] 2 3 ... 5