Announcement

Collapse
No announcement yet.

how about making a survey for the most annoying things in blueprint editor ...

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    #16
    As TriNityGER said, the casting problem is a problem of your implementation instead of the engine.
    Using this validation:
    http://api.unrealengine.com/INT/Blue...ace/index.html

    and calling the interface method.
    Every "obstacle" knows how should react when a missile is hitting it, implementing its behahivor in the "onExplosion" interface implementation.
    pd: Excuse my English.

    Comment


      #17
      Originally posted by TriNityGER View Post
      You could use an interface for that and check if the hit object implements it. The interface has an method "onExplosion" and implementing objects can change their material based on that. This would remove the casting to specific classes and replace it with a single "implements interface" call.

      Originally posted by Alexarg View Post
      As TriNityGER said, the casting problem is a problem of your implementation instead of the engine.
      Using this validation:
      http://api.unrealengine.com/INT/Blue...ace/index.html
      and calling the interface method.
      Every "obstacle" knows how should react when a missile is hitting it, implementing its behahivor in the "onExplosion" interface implementation.

      Absolutely! My example wasn't the most practical as solutions go, just a hypothetical way of thinking about Casting and why it exists... Because new devs often post in frustration about Casting... Its like all their Blueprint Classes are locked away in different rooms in some crazy hotel. So it can helpful to see where Casting is actually useful for a change... Rather than an obstacle / puzzle you have to figure out and solve....

      As regards Interfaces vs Casting or Pros/Cons for the OP. Interfaces are incredibly useful, especially for comms between UI and Game Logic. But they're a little more abstract at first to get used to. They also require you to assemble a list of classes that support specific interfaces and call them all in a loop, which adds another layer of complexity when you're just starting out. That's why some devs prefer Event Dispatchers. One call and all of them are activated wherever they reside in whatever Blueprint etc.

      But setting up Event Dispatchers can also be a little messy when you're just getting started. I find one of the best examples of why they exist in the first place or how they differ from Interfaces, is to imagine objects spawned at runtime. For example, imagine a game that spawns traffic cone meshes players have to run over. After a cone is hit, it should fall over etc. But how do you setup a Hit or Overlap event on a dynamic object like this. You can't have a Hit / Overlap event in advance unless its part of a BP. So Event Dispatchers can help here. In UDK, this concept was called Attach-To-Event, which was a little more intuitive perhaps.

      Comment


        #18
        Well, often the best solution is to have clean class structure. So every object reacting on hit is a child of the specific class with an abstract event. It's super convenient for content creators to work in with such setup.
        Of course, it could be not easy to develop a clean code architecture like this if overall game design changes often xD

        Comment


          #19
          Originally posted by franktech View Post
          You can't select multiple Variables in the left-hand-side Variable-pane and have those create a series of Gets all in one go.
          There is a reason for that though isnt there, its because the selection in that panel relates directly to the defaults property panel for that variable. I had thought about multiple selection myself as a way to quickly change variable types but Im not sure it would work, the details panel in the level editor portion works abit different and allows different values for multi-selection but thats because those variables have been flagged specifically.


          Just to touch on casting, if youre really accessing an object of a specific type so often then it might be best to have a reference to that type rather than one of its parents.

          Comment


            #20
            today i have something new that waste my time:
            a dlc or something added to my project kills/overwrite my project settings^^
            i wonder why my gamepad did not work in my level. my input settings are lost.

            Comment


              #21
              Originally posted by DotCam View Post
              Actually this is possible, you just need to create a "get" node for each variable you want and then select them all, ctrl+c, ctrl+v into the blueprint you want to copy to, then right click on each variable node and select "Promote to variable". This will add the variable name/type to the blueprint.
              i mean the list where variables is listed, it already have a context menu, i like to see a multiselect here + copy/paste. thats intuitiv.
              or at least a hint use copy/paste via blueprint there.

              Comment


                #22
                Originally posted by DotCam View Post

                Having to use shift+f1 to regain mouse control is something you can turn off in Editor Preferences, however using it this way will require you to click somewhere in the viewport in order to gain control of your character in game. This will allow you to use the console immediately upon hitting play.

                Go to: Edit -> Editor Preferences -> Select the "Play" tab under Level Editor -> Uncheck the "Game gets mouse control" option.

                If you want the command line during development, go to:

                Window -> Developer Tools -> Output Log
                i mean this window its not in the menu to open. (a menu will work also if you have not the keybinding to it ..)


                Last edited by MarkusR; 05-05-2018, 04:37 AM.

                Comment


                  #23
                  why do we need this excessive casting
                  why are included objects not visible in design
                  (current) why do we have multiple "attach to" and every node does not work - we just need parent object a at b
                  why its not intuitive - we need someone that knows solutions and watching (out of date) appreciated videos
                  copy/paste multiple actors from scene into blueprint components did not work.
                  Originally posted by DotCam View Post
                  Can you go into a bit more details for these questions? Such as what you are trying to do for each? For example on the "Attach To" one, is this in Component view or in the graph editor?
                  Thanks
                  about blueprint design
                  example classes C = A + B
                  A = Cast C into A
                  B = Cast C into B
                  the blueprint know a,b,c me dissatisfies that a & b is hidden in c.
                  if you replace a with a compatible class you need to edit the cast in blueprint, if you forget this the cast fail.
                  what i like to see is a compleate blueprint design where you see gamemode,playerstate,player,playercontroller,playeranimation,playerhud.
                  because everything act together.

                  "Attach To" was a time wasting thing in graph editor.

                  Comment


                    #24
                    Originally posted by franktech View Post

                    Next to perhaps Event Dispatchers, Casting is probably the least well explained thing.
                    Let me see if I can try a different approach. Imagine you're firing Missiles at a Building.
                    If a Missile hits the building you want the Mesh Material to reflect burn marks/damage.

                    But all around this building are obstacles: lampposts, cars, trees, animals, characters...
                    These will get new material changes too, but unique for animals / characters / cars etc.

                    How can you implement this? Maybe add Tags to all the different actors ahead of time...
                    That's work though. So instead you could use Casting to discern which object is which.
                    Cast to Character... If successful, use the special Character-Material, if not cast again....
                    Look for Animal object... Look for Car... Look for Foliage... Detect Lamppost/Building....

                    In UDK Visual-Scripting wasn't object oriented, so there was no way to detect Classes...
                    Or types etc... What that meant was you ended up with lots of silent failures. Not good!
                    So Epic made a very deliberate decision to add typing / classes into UE4 to end this!!
                    its difficult to explain what i mean.
                    the blueprint designer shall just give me that objects that are there, provide direct. (in my imagination the cast will be a blackbox for me)
                    and if there are incompatible changes elsewhere my nodes should stay as ghosts.

                    Comment


                      #25
                      Originally posted by Alexarg View Post
                      As TriNityGER said, the casting problem is a problem of your implementation instead of the engine.
                      Using this validation:
                      http://api.unrealengine.com/INT/Blue...ace/index.html
                      and calling the interface method.
                      Every "obstacle" knows how should react when a missile is hitting it, implementing its behahivor in the "onExplosion" interface implementation.
                      i understand interfaces and i used it for my project but it did not change the game concept
                      with "gamemode,playerstate,player,playercontroller,playeranimation,playerhud,..."
                      i explained above.
                      its split in a bunch of blueprints but typically they interwork.
                      every time i think about how to reach this blueprint from this blueprint.
                      its unnecessary complicated in blueprint design.
                      what i am missing is a hierarchy blueprint editor as well.

                      Comment


                        #26
                        today i had something new, the container (from a dlc) did not stack in level editor because a stupid checkbox.

                        Comment

                        Working...
                        X