Hi, I’m complete newbie trying to get the basics of using blueprints. I’m attempting to create a projectile and following the tutorial. The only difference is, I’m working from the third person game mode and the tutorial is in the first person.
I was able to follow all the the steps and create my projectile, however, when it came to making my character shoot the projectile I can’t locate the “spawn actor from blueprint” node so I could select my projectile and make the character shoot it. Does it stem from the fact that its different character script from the two game modes?
Any advise of how I can approach this or why it is not working would be helpful. Thx.
The node you’re using, Spawn Actor From Class, is the one you’re looking for. It will work fine in any game type. I duplicated your setup in a top-down project and it worked fine. You may not see it working because the projectile isn’t being given any forward momentum, so it’s simply spawning where your character is and then sitting there.
To test that it is in fact spawning, try moving your character after firing and look where it was just standing. While playing, you can also select the Blueprint from the Debug Filter drop-down. Then, if you press your fire key, you should see your white wire between your Input node and your SpawnActor node light up and animate, indicating that it is triggering.
While the game is playing, you can also check whether a projectile has been spawned by looking in the Scene Outliner. Each projectile you spawned should be listed there as an instance (until its lifetime expires, which depends on your projectile settings). It’s possible you’re not seeing the projectile simply because it’s falling through the ground after spawning, in which case you can temporarily disable physics on your projectile to see it after firing.
Ok, thx for help. It partially resolved the problem.
If I create the nodes in “MyController” blueprint I start to see the projectile. However if I create it in “MyCharacter” blueprint I still get nothing.
Also as you’ve said I had no velocity set and it was partially the reason why I did not see the projectile. However. the second problem responsible for it is that for some reason my projectile spawns from the floor ground and not from character. Even if I move him, projectile always comes from a fixed point of the floor. I assume that’s because I have to use “Get Actor Array Average Location” node instead of “get actor location” node as it does not appear in my blueprint if I try to find it in “MyController” BP (unless I go to MyCharacter blueprint). If I try to copy all my nodes to MyCharacter BP it does not fire as seen from both debug and outliner.
So these two things have me really confused now, why my nodes fire in one BP but not another (MyController vs MyCharacter) and why I can find a specific node in one BP but not another (i.e. Get Actor Location).
Sry if this is something basic, but I’m complete newbie here ty for help!
I’m not certain this is the cause, but I just noticed in your picture that you have the Scale set to 0,0,0 on your Make Transform node. It should be 1.0, 1.0, 1.0 instead.
If that doesn’t fix it, I might need to see what your Projectile blueprint and settings looks like. My copy of your MyCharacter blueprint doesn’t have that problem, so it’s probably an issue somewhere else.
Just seeing your edits now. I would recommend trying to set up what you had in your original picture in your MyCharacter Blueprint and make sure you have the Scale set to 1, 1, 1 instead of 0, 0, 0. A 0 scale means it won’t be visible, and that may have been the problem.
Setting this up in the MyController Blueprint is going to be more difficult, as it will involve getting information from the MyCharacter Blueprint. Your MyController blueprint does not have direct access to the MyCharacter Actor, so you can’t use Get Actor Location inside it to get the location of your character. Get Actor Array Average Location is definitely not what you’re looking for, and is probably the reason your projectile is spawning away from your character.
hmm… alright then doing it in the “mycontroler” is the reason why it spawns from the the center. Once I copy the blueprint to MyCharacter instead the nodes do not activate. Meaning that If I set the button to press lets say “spacebar,” once I am in game and press spacebar it no longer shows projectile being spawned in the scene outliner like it did when I had it all set up in the “MyControler.” And it no longer shows of being activated in the event graph either. All works well for m conroler but once I do it for my character it stops responding all together. I am flustered
also made scale to 1,1,1 in make transform node. Sot that cant be the issue
Hm, I’m noticing the same thing in a top-down project with default MyCharacter. My apologies. I will continue to look into that.
If it was spawning in your MyController, though, we can use the same setup in there with one change: drag off the Target input for the Get Actor Location node, and type “Get Controlled Pawn”. This will target the pawn MyController is controlling, so we can get the appropriate location.
ahh there we go, feels great:P But it would seem the rotation doesn’t lock on character, projectile continues to point in one direction following the actual controller. How do I link up the rotation of MyController to the rotation of MyChareacter.