Announcement

Collapse
No announcement yet.

Limit on Spawn actor? (shotgun not spawning all projectiles)

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

  • Limit on Spawn actor? (shotgun not spawning all projectiles)

    Been stuck on this problem for a long time.
    Finally cleaned up my blue print into a macro and tried out all sorts of things like print strings, debug lines and replacing the scene component with an obeject (barrel was originally a scene component, but used a visible cone for a bit to insure rotation was setting properly)

    Finally I put a delay between the spawning in the loop. I saw that this way it WOULD go through the entire process and reset as desired spawning each and every projectile.

    Of course even set really low .0001 the delay is enough that the "pellets" clearly don,t all leave at once and come out right in a row.



    here is an image of my blue print and a video of what it does with and without the delay.
    I would appreciate insight on how to get them all to spawn at once.

    (i even tried just putting the spawn in a chain of 20 of them by copy/pasting them. It has same effect as if there is no delay.)
    Attached Files

  • replied
    PROBLEM SOLVED:

    just updating in case anyone comes across this needing help, or about to waste time answering.

    I made the projectiles have simple collisions.


    The 1x1x1 cube I was using isnt the basic one. It's one in the engine files, it's name includes xyzpiviot or something.
    When I tried more complex objects without Primatives they would spawn. I GOT COMPLEX too. I was Spawning 40 trees at a time with full materials, lighting and shadows.

    playing around I found anything without primatives would spawn just fine, while it seemed that anything i tried (think they were all imported from blender) what had convex primatives would only spawn up to 4.

    I copied the little cube that had almost nothing to it and moved it into a different file, renamed it. At the top i choose collisions and "simple box".
    figured it would be the easiest to calculate.

    Works great. Generates hit events, bounces (I might attempt to use sphere as the bounces are admittedly very strange in behavior at this time)

    My theory on this is:
    Using such things as a quadproccesor there can be data being added/calculated etc in the different cores.

    Attempting to calculate a primative for a really small UV Sphere with all that it entails might just take a fraction of a fraction of a second, but if one of the other cores has now processed the loop iterations.....the actor spawns in the wrong place. Then when it checks the loop again it's already completed.


    if anyone knows anything about this i would love more detail. And if there is a way to solve it as it was, such as setting a processing order

    Leave a comment:


  • replied
    Just a weird update...dropped the lighting off the bullets and they now spawn 3-6 of them in the proper location.

    I'm guessing that I am putting too much demand on the system to have it spawn 20+ of these spheres at once. It's a UV ball.

    Replaced it with the standard 1x1x1 cube in the engine files and it spawns them all....

    Of course for whatever reason that really small cube doesnt allow for physics and such (!?) and so it goes through anything I hit. I will just load the FBX of my bullet back into blender and run passes that remove faces (or just make it a small cube)

    Leave a comment:


  • replied
    Originally posted by iamjohngalt1975
    by overly complicated, i mean all a shotgun needs is a simple for loop before the spawn actor aka the projectile, a for loop will make it execute the spawn x amount of times, aka the amount of pellets you want per shot. you will also have to have spread on those projectiles otherwise they will all spawn at the same location and go to the same location. also if you plan on having more than a single weapon type, making a master weapon will lighten that load if you make a good one, because to make new weapon types, its just make a child blueprint and punch in some settings.

    give that series a look, im sure it will help you make a great master weapon, that you can get alot more use out of.

    Regards,
    IAmJohnGalt
    Updated the code to be much more simple.
    It now counts how many pellets it spawns. And then uses the same variable to modify the rot.
    I realized it really didnt need to have a sequence as the end of the spawning/pellet set could just feed back around.

    I assume there is probably a way to make the transformation section easier rather than breaking it, spliting the pins and changing just the axis i need to change.
    It still does the same thing

    Only the furthest right actor spawns, and only the one. I attempted this with different numbers of spawns 1,3,20,30
    If I add a delay of even .01 at the end before it feeds back into the loop each one spawns just where it should.....

    Leave a comment:


  • replied
    Originally posted by iamjohngalt1975
    by overly complicated, i mean all a shotgun needs is a simple for loop before the spawn actor aka the projectile, a for loop will make it execute the spawn x amount of times, aka the amount of pellets you want per shot. you will also have to have spread on those projectiles otherwise they will all spawn at the same location and go to the same location. also if you plan on having more than a single weapon type, making a master weapon will lighten that load if you make a good one, because to make new weapon types, its just make a child blueprint and punch in some settings.

    give that series a look, im sure it will help you make a great master weapon, that you can get alot more use out of.

    Regards,
    IAmJohnGalt
    Yeah, I do really appreciate the link. I had read about the master weapon type and had completely done it wrong when I attempted it. Every weapon had the same mesh and everything. (Because I obviously had no idea)
    Just a glance at the master as shown in the video above I saw the PURPOSE of it if now exactly how to implimented it yet.

    Being only 3-4 weapons after my waited master I just made them all seperately. They all worked fine except the shotgun.

    Hum...everything you mentioned is all that the above code really was...
    A loop.
    Then I knew I was going to experiment with the delay to see if I was spawning too fast or anything. Which I learned needs to be done in the loop or you get errors and problems so I made a custom macro.

    Since I had that there I figured I would just move every part into the macro to clean up main event graph.
    Spawn, set spread (it's variable and all that), and the variable that limits number of shots.
    I guess logically I could stop rotating the actor and just applying the variable to the transformation.
    (That was mostly for test purpose, I had a viable cone floating to point where a spawn should be and to insure I understood roation)

    Then I figured might as well reset the variables in there before exiting so they would all be close and main event would be cleaner
    (It has reload functions, and particle emitter and sound emitter)

    Leave a comment:


  • replied
    Originally posted by iamjohngalt1975
    That looks way overly complicated to me, this might be of some use to you.......

    Unreal Engine 4 - (Tutorial) Multiplayer Series 2 Part 4 MultiFire Mode & Weapon Spread



    This is only one part of what you are asking about, this series I made cover the creation of a pretty snazzy master weapon, that can be used to make many types of weapons from a single blueprint, and its done so it will replicate for use in multiplayer games, its worth a look at the entire 2 series......


    Regards,
    IAmJohnGalt
    Thank you?
    i will have to take the time to watch the whole series I believe. There are a lot of things that I dont know, and dont have in my current system

    I'm bit amazed that that seems "overly complicated" ugh. That's the entirety of the weapon firing. No master blue print or anything. Seems simple to me. Spawn a actor at the "barrel" rotate barrel and spawn actor. Repeat until it has completed for each number of "pellets"
    I had considered having upgrade able shells that would fire more pellets and such so it seemed like it was all important.....
    I will watch the videos soon as I have some time to sit and listen, with the engine open to try them out at same time....

    Leave a comment:

Working...
X