User Tag List

Page 1 of 48 12311 ... LastLast
Results 1 to 40 of 1913

Thread: (39) Rama's Extra Blueprint Nodes for You as a Plugin, No C++ Required!

  1. #1
    23
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579

    Red face (39) Rama's Extra Blueprint Nodes for You as a Plugin, No C++ Required!

    Dear Community,

    I've decided to create my own C++ Blueprint Function Library of any functions that I've written that think you will find useful!

    A Blueprint Function Library is a set of blueprint nodes that you can access from any blueprint, any time!

    These are functions you can call from AnimBlueprints, Character blueprints, level blueprints, anywhere!

    Because this is a plugin, you dont have to do any code compiling and can use my BP nodes in a content-only project!

    ~~~

    Github Repository

    If you'd like to contribute code to my Victory Plugin you can do so here!

    Github Link
    https://github.com/EverNewJoy/VictoryPlugin

    ~~~

    Download Link

    Epic Wiki Link
    https://wiki.unrealengine.com/Rama%2...lugin_Download

    Just get the most recent version

    ~~~

    Entire Source Code For You!

    I am including the entire source code for the plugin and the actual nodes in the download!



    Rama

    ~~~

    Victory BP Library Copyright Permissions

    Quote Originally Posted by DennisSoemers View Post
    Hey Rama, a quick question. Is the code included in the download completely free to use for any and all purposes? I don't believe it contains any document that describes permissions as to what it's allowed to be used for? And yes, I realize touching the code is not strictly necessary, but in some cases I would prefer to just use the C++ code directly instead of the blueprints.
    Yes the code is free to use anywhere you want!

    I only request that you mention me in the credits for your game in the way that feels most appropriate to you, thereby honoring my contributions.

    I prefer to be mentioned as simply "Rama"



    Rama

    ~~~

    Video Installation Instructions

    Video Guide to Installing Victory Plugin

    By Sahkan


    Here's a guide to installing my Victory Plugin, thanks for making it Sahkan!




    ~~~

    Update:

    Blueprint Nodes Now Work in Shipping Builds

    Special thanks to Lion for sending me an updated version of my plugin code that works with shipping builds!

    The vertex editor mode is still there, but the BP Nodes portion is a separate module now and will compile when my nodes are included in a packaged game.

    thanks Lion!

    ~~~

    Newest Nodes!

    Get Controller ID ~ takes in player controller and gives the ULocalPlayer's ControllerID

    Get Player State PlayerID ~ returns the replicated unique PlayerID for the supplied Player Controller!

    Get Current Operating System Time ~ Retrieve your local current time, milliseconds, seconds, minutes, hours, day, month, year!

    Get Time Since Previous Recorded Time ~ Retrieve the difference in time since your chosen previous time! You can record down to the sub-millisecond level, and up to hours!

    Get Difference Between Any Two Times ~ With this node you can compare any two times that you've recorded using my node above!

    You can store as many moments in time as you want using my above node, the time is recorded as string that I can parse back into actual DateTime struct data!


    Get Supported Screen Resolutions for End User's Current Display Adapter
    https://forums.unrealengine.com/show...ll=1#post26535

    Get Current OS Platform (Win,Mac,Linux,PS4,XboxOne,Android,iOs,HTML5, etc)
    https://forums.unrealengine.com/show...ll=1#post59742

    ~~~

    Video of my BP Rag Doll System With Follow Camera

    Included in these BP nodes is a set of nodes to enable you to activate/deactivate ragdoll any time you want, WITH a built-in follow camera during ragdoll!

    Here is a video of exactly what I am providing in these nodes, I used these nodes to make the video.



    ~~~

    Pictures

    Here are some pics of a few of the nodes I am giving you below!

    Get Recently Rendered / Not Rendered Actors
    Name:  renderedactorshappy.jpg
Views: 66561
Size:  150.2 KB

    Get Character Bone Current Locations
    Name:  characterbonelocations.jpg
Views: 66501
Size:  169.5 KB

    Trace for Closest Socket
    Name:  picofclosestsocket.jpg
Views: 64962
Size:  238.0 KB

    Victory Ragdoll System, Including Follow Camera
    Name:  ragdollgraph.jpg
Views: 78810
Size:  265.6 KB

    Trace Data With Skeletal Mesh
    Name:  tracedata_from_mesh_and_getskelmesh.jpg
Views: 67403
Size:  212.0 KB


    5 More Pictures, Enjoy!
    https://forums.unrealengine.com/show...ll=1#post26153


    ~~~

    Installation


    1. put the .zip contents in a folder in your main directory where your .uproject is, called "Plugins" (name most be precise)

    2. open editor and go to window->plugins

    3. make sure my Victory Plugin is checked off as being active

    4. restart editor

    5. go to a blueprint, turn off context sensitive, look up "Victory" and you should see a lot of new blueprint nodes / functions!



    6. If you want to use the vertex snapping feature as well, please see installation instructions here:

    https://wiki.unrealengine.com/Rama%2...n#Installation

    ~~~

    Current List of Functions (48 Nodes Total)



    ~~~ Recently Added ~~~


    ~~~ Frame Rate / Graphics Options ~~~

    Set Max Frame Rate

    Set Frame Rate To Be Unbound!



    4 New Nodes

    Max of Float Array

    Max of Int Array

    Min of Float Array

    Min of Int Array


    https://forums.unrealengine.com/show...ll=1#post77775

    ~~~

    Get Current Operating System Time
    https://forums.unrealengine.com/show...ll=1#post65910

    Get Time Since Previous Record Timed
    https://forums.unrealengine.com/show...ll=1#post65910

    Get Difference Between Any Two Recorded OS Times
    https://forums.unrealengine.com/show...ll=1#post65920


    Get Supported Screen Resolutions for End User's Current Display Adapter
    https://forums.unrealengine.com/show...ll=1#post26535

    Combine Strings ~ Combine two strings with optional separator and labels
    https://forums.unrealengine.com/show...ll=1#post26535

    Clone Static Mesh Actor (during game time)
    https://forums.unrealengine.com/show...ll=1#post26262

    Teleport Actor to Actor
    https://forums.unrealengine.com/show...ll=1#post25769


    ~~~ File IO ~~~

    ~ SaveStringTextToFile - Save human-readable text to a file of your choosing.



    ~~~ ViewPort & Mouse Cursor ~~~

    The Set/Get Mouse Position nodes work directly with the player's viewport, and do not require access to the HUD canvas.

    ~ Set Mouse Position - SET the mouse position to any values of your choosing!
    ~ Get Mouse Position - Get the current mouse position, will be consistent with results of SET Mouse Position

    ~ Get Center Of Viewport - Obtain the coordinates of the center of the viewport! Works in PIE as well as standalone game instances

    ~~~

    ~~~ Traces ~~~

    TraceData - Calculates the Start and End for a new Trace for use with any trace node of your choosing!

    ~ TraceData Get Trace Data From Character Socket - You pick the rotation, and only need to supply the actor (really a character, but casted internally for your convenience), and a socket name, and a trace length. Optionally you can draw the trace data as a thick 3D line so you can visualize what the actual trace will do

    ~ TraceData Get TraceData From Skeletal Mesh Socket - You pick the rotation, and only need to supply the Skeletal Mesh Component, a socket name, and a trace length. Optionally you can draw the trace data as a thick 3D line so you can visualize what the actual trace will do


    ~ Trace For Character Mesh, Closest Bone Pass in just 3 simple variables, Trace Start, Trace End, and the Trace Owner. Get Back: Hit Location, Hit Normal, Name of Closest Bone to the impact, the location of that Bone, and the Actor/Character that was hit.

    ~ Trace For Character Mesh, Closest Socket: Pass in just 3 simple variables, Trace Start, Trace End, and the Trace Owner. Get Back: Hit Location, Hit Normal, Name of Closest Socket to the impact, the location of that Socket, and the Actor/Character that was hit.


    ~ Get Character's Mesh Component Retrieve the Mesh component of a character, IsValid let's you know whether the return value is valid or not, so do a branch to check

    ~ Get Bone Locations Returns an array of all the bone locations on the Character. The Character's Mesh component must be valid for this to work. Returns false if the operation could not occur.


    ~~~ Closest Point to Source Point Calculation ~~~

    ~ Closest Point to Source Point : Takes in an array of points and finds which one was closest to the source point. Returns: what the minimum distance was, as well as the vector that was closest to Source.


    ~~~ Rendering ~~~


    ~ Freeze Game Render

    ~ UnFreeze Game Render

    ~ Game Window is the Foreground window in the OS: - works in PIE and Standalone game instances

    You can combine the above to freeze the game render whenever the game window is not the foreground in the OS !

    ~ Get Array of Currently Rendered Actors - Retrieve array for use with foreach loop, iterating over all currently rendered actors. You can choose what time interval is recent enough, I default to 0.01 seconds.

    ~ Get Array of Currently NOT Rendered Actors Detailed Info and Pics[/URL])
    - Retrieve array for use with foreach loop, iterating over all currently NOT rendered actors. You can choose what time interval is recent enough, I default to 0.01 seconds.


    ~~~ Aim Offsets ~~~


    ~ Aim Offsets, For Use With Blend Spaces in probable range of -90,90 to 90,90

    ~ GetAimOffsets - Original Inspiration for this BP Library, This is a Blueprint version of the same core c++ code as Shootergame uses. With this function you can create a blendspace using 9 animations for the nine directions to create an equivalent of the UE3 Aim Node. You plug the results of this function straight into your Aim Blendspace. See Shootergame example for exact details.

    ~ GetAimOffsetsFromRotation - Instead of assuming you want to get the character's aim based on the controller, you can use this version to supply the rotation in world space that you want the character to aim to.


    ~~~ 3D Drawing ~~~


    ~ Drawing 3D Lines of Chosen Thickness


    ~ Thick3DLineBetweenActors - Draw a 3D line of your chosen thickness and duration between two Actors! You can use the BP color pick to pick line color!

    ~ Thick3DLineFromCharacterSocket - Draw a 3D line of your chosen thickness and duration from a specified Character Mesh Socket to your chosen destination. You can use the BP color pick to pick line color!

    ~ Thick3DLineFromSocket - Same as above, but you can use any mesh of your choosing.


    ~~~ Misc ~~

    ~ Get Object/Actor Name As String - Get the name of any actor, component, or anything at all, as a String.

    Identify whether game logic is running in Editor,PIE,or Game World!

    [B]~ Set Scene Component Mobility

    Convenience
    ~ GetControllerRotation - Get the Character's controller's rotation, fast way to get PlayerController or AIController rotation!

    Conversions

    ~ RotatorToVector
    ~ VectorToRotator



    ~~~ Misc 2: Colors and Math ~~~


    ~ Change Hue

    ~ Change Saturation

    ~ Get Float As String With Precision - Get a float as a string with your chosen precision, the re-precisioned float is rounded appropriately. Enjoy!

    ~ GetSocketLocalTransform - Accessor to this c++ function for your convenience, enjoy


    ~~~ My Fully Toggle-able Ragdoll Physics System ~~~


    Below is the entire graph using my nodes to toggle ragdoll physics mode with the press of a button, while also causing the camera to stay up to date with the position of the ragdoll as it flies around!

    See video above!

    ~ Initialize Victory Rag Doll - you need to have two variables in your blueprint to store the output of this node. Note that you only call this node ONCE. If you call while character is in ragdoll it will not work correctly So I call this at game start with EventReceiveBeginPlay. The output is in relative Character space, not world space so once it is obtained once it is always correct.

    ~ Is In Rag Doll - Very useful for creating a Rag doll toggle system

    ~ Enter Rag Doll - The supplied actor is converted to a Character for your convenience, returns false if operation could not occur. Checks whether the character has a physics asset for you.

    ~ Leave Rag Doll - Here is where you use the output from Initialize Victory Rag Doll to restore the character to proper orientation. This part took me a while to figure out!

    ~ Update Character Camera - My gift to you, causes the camera to stay up to date with the ragdoll as it moves around, but does so SMOOTHLY. Took me a while to get this just right. You can adjust the interpolation speed / how fast the camera keeps up with the ragdoll. The offset determines how high above the ragdoll the camera tries to stay.
    Last edited by Rama; 08-31-2015 at 10:31 PM.
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  2. #2
    0
    Wow good work! I didnt even know we could provide a Blueprint library. Where/How did you find out about this?

  3. #3
    0
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579
    Quote Originally Posted by sandboxgod View Post
    Wow good work! I didnt even know we could provide a Blueprint library. Where/How did you find out about this?
    Nick Whiting told me about it back in the Beta!

    It's super useful and let's you share nodes with others, or have a set of global BP nodes for use in your own project!

    ~~~

    Wiki tutorial on Blueprint Node Library

    https://wiki.unrealengine.com/Bluepr...re_With_Others



    Rama
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  4. #4
    0
    Samaritan
    Join Date
    Mar 2014
    Posts
    112
    Thanks Rama!

    Always enjoy your many community contributions

  5. #5
    0
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579
    Quote Originally Posted by Zurael View Post
    Thanks Rama!

    Always enjoy your many community contributions
    Hee hee!



    Rama
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  6. #6
    0
    Awesome! Looking forward to more!

  7. #7
    0
    Can this help me with making some kind of blending between ragdoll and some animations? Like you can see on this video here( Watch after 0:30) :

    Last edited by Alex3d; 04-30-2014 at 09:23 AM.

  8. #8
    0
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579
    Quote Originally Posted by Zeustiak View Post
    Awesome! Looking forward to more!
    Hee hee!

    Quote Originally Posted by Alex3d View Post
    Can this help me with making some kind of blending between ragdoll and some animations? Like you can see on this video here( Watch after 0:30)
    Um, it looks the same as my video, as far as I can tell.

    From animation state the character is blending into ragdoll, but never blending out, only restarting.

    So that would mean the answer is "Yes!"

    Great to hear from you Alex3D!

    Rama
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  9. #9
    0
    Quote Originally Posted by Rama View Post
    Hee hee!



    Um, it looks the same as my video, as far as I can tell.

    From animation state the character is blending into ragdoll, but never blending out, only restarting.

    So that would mean the answer is "Yes!"

    Great to hear from you Alex3D!

    Rama
    Well, I guess you didn't spot the diferences. rsss On that video, the guy made when the character goes into ragdoll, it is a mix between ragdoll and animation. And this make it more realistic. Your video shows blending from animation into Ragdoll. But ragdoll alone is not that natural. So, if we could mix 50 % ragdoll with 50% animation, that would be better.
    Take another look at the video. The guy shows Blending from animation to just radgoll, then he shows blending from animation to a mix of 50 % ragdoll with 50% animation.

    Glad to be here.

  10. #10
    0
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579
    ooooh I see now, I did not get that far in the video!

    Yea that's neat!

    I will have to look into doing partial ragdoll more at some pt in future

    Rama
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  11. #11
    0
    Quote Originally Posted by Rama View Post
    ooooh I see now, I did not get that far in the video!

    Yea that's neat!

    I will have to look into doing partial ragdoll more at some pt in future

    Rama
    Hello Rama,
    So I am no coder...but I am learning Blueprint and wanted to ask you ..... do I need C++ in order to create a mix or blend between a Ragdoll/Animation setup or can it be done solely in Blueprint?

  12. #12
    0
    Good to see your plugins back Rama! Are you going to recompile and reupload them for every new engine version in the future?
    Thanks again for sharing!

  13. #13
    0
    Promoter
    Join Date
    Apr 2014
    Posts
    161
    Thanks a lot for sharing this Rama, this is very generous and awesome.

    I'm glad Alex3D brought up Ragdoll Blending or whatever you want to call it(Procedural Animation?). That's a feature I've wanted since I saw some old video of Motionbuilder(Overgrowth is pretty cool too) doing it that added all kinds of subtle natural bounce to animations and proper foot placement much like IK does. If you decide to implement it, I'd request the ability to control the blend amount per bone. Lots of possibilities.

  14. #14
    0
    Unreal Engine Developer
    Join Date
    Mar 2014
    Posts
    11
    This is so cool! Thanks so much for supporting the UE4 community!

    If we're ever in the same city I'd love to buy you lunch!

    Please feel free to private message me with your contact details.

  15. #15
    0
    Infiltrator
    Join Date
    Apr 2014
    Posts
    16
    Thanks Rama, nice set of functions. I am also working on a function library, but it isn't as complete as yours, my functions are more basic.

    Quote Originally Posted by Mark Rein View Post
    This is so cool! Thanks so much for supporting the UE4 community!

    If we're ever in the same city I'd love to buy you lunch!

    Please feel free to private message me with your contact details.
    Oh so nice of you! I'm finding amazing how close the Epic team is getting to us, small developers. Even more amazing is to see Mark Rein and Tim around here, answering forum topics of little mortals like us

  16. #16
    0
    This is what really has me excited for UE4 are the function libraries (via plugins especially). I could see these type of things doing well in the marketplace. I'll need to start designing more of my functions like this, very modular, and beneficial for all.


    Thanks rama
    Last edited by KRushin; 05-01-2014 at 12:58 AM.

  17. #17
    0
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579
    Quote Originally Posted by Jacky View Post
    Good to see your plugins back Rama! Are you going to recompile and reupload them for every new engine version in the future?
    Thanks again for sharing!
    Yup I will be keeping the Victory Blueprint Library updated, though remember I am including the entire source code, so anyone can rebuild my plugin if they feel I am not fast enough

    Great to hear from you Jacky!

    ~~~

    Ragdoll + Animation Blend

    Wow lot of interest in this! I will check it out.

    For those who want to poke about, check out primitivecomponent.h, there are these functions:

    Code:
    /**
    	 *	'Wake' physics simulation for a single body.
    	 *	@param	BoneName	If a SkeletalMeshComponent, name of body to wake. 'None' indicates root body.
    	 */
    	UFUNCTION(BlueprintCallable, Category="Physics")
    	void WakeRigidBody(FName BoneName = NAME_None);
    Code:
    	/** 
    	 *	Force a single body back to sleep. 
    	 *	@param	BoneName	If a SkeletalMeshComponent, name of body to put to sleep. 'None' indicates root body.
    	 */
    	UFUNCTION(BlueprintCallable, Category="Physics")
    	void PutRigidBodyToSleep(FName BoneName = NAME_None);
    Code:
    /**
    	 *	Force all bodies in this component to sleep.
    	 */
    	virtual void PutAllRigidBodiesToSleep();
    Code:
    	/**
    	 *	Returns if a single body is currently awake and simulating.
    	 *	@param	BoneName	If a SkeletalMeshComponent, name of body to return wakeful state from. 'None' indicates root body.
    	 */
    	bool RigidBodyIsAwake(FName BoneName = NAME_None);
    Code:
    	/**
    	 *	Returns if any body in this component is currently awake and simulating.
    	 */
    	virtual bool IsAnyRigidBodyAwake();
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  18. #18
    0
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579
    Quote Originally Posted by Mark Rein View Post
    This is so cool! Thanks so much for supporting the UE4 community!

    If we're ever in the same city I'd love to buy you lunch!

    Please feel free to private message me with your contact details.
    Great to hear from you Mark Rein!

    I did PM you

    Thank you for your life's work / UE4!

    UE4 is so much fun!



    Rama
    Last edited by Rama; 05-01-2014 at 01:50 AM.
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  19. #19
    0
    Veteran
    Join Date
    Mar 2014
    Posts
    371
    Hey Rama,

    Thanks for so many great contributions so far!

    I've tried to adapt your BP Ragdoll functions for use on character death, but the location/rotation are tripping me up - instead of respawning at a spawn point, the character is brought to the location of their ragdoll/death. Any ideas on how to circumvent that?

  20. #20
    0
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579
    Quote Originally Posted by Havoc View Post
    Hey Rama,

    Thanks for so many great contributions so far!

    I've tried to adapt your BP Ragdoll functions for use on character death, but the location/rotation are tripping me up - instead of respawning at a spawn point, the character is brought to the location of their ragdoll/death. Any ideas on how to circumvent that?
    I am making a node for this, in a general purpose way.

    For those wanting to do this immediately on their own:

    ~~~

    If you have a reference to the player start you want to use, you can

    1. end ragdoll
    2. set actor location to the location of the player start
    3. set actor rotation to the rotation of the player start

    I could design a node to do this, but you'd still have to Get the Location and Rotation of the player start, so its really not that much of a shortcut



    Rama

    PS: click on the playerstart in the world, then open the graph and you can add reference
    Attached Images Attached Images  
    Last edited by Rama; 05-01-2014 at 02:11 AM.
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  21. #21
    0
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579
    Teleport Actor To Actor

    This can be used after ending ragdoll, to send the player to a player start, or a trigger, a check point, or any actor really

    My node causes the player to face the exact rotation of the playerstart/trigger/checkpoint/ other actor

    Returns false if one of the inputs was not valid.

    Enjoy!

    Name:  teleportactortoactor.jpg
Views: 63808
Size:  64.1 KB

    ~~~

    C++ Source Code

    Remember I always include the entire C++ source code for all of the Victory BP Library Nodes in the actual plugin download!

    Here's the .cpp for this new node

    Code:
    bool UVictoryBPFunctionLibrary::Actor__TeleportToActor(AActor* ActorToTeleport, AActor* DestinationActor)
    {
    	if(!ActorToTeleport) return false;
    	if(!ActorToTeleport->IsValidLowLevel()) return false;
    	if(!DestinationActor) return false;
    	if(!DestinationActor->IsValidLowLevel()) return false;
    	
    	//Set Loc
    	ActorToTeleport->SetActorLocation(DestinationActor->GetActorLocation());
    	
    	//Set Rot
    	ActorToTeleport->SetActorRotation(DestinationActor->GetActorRotation());
    	
    	return true;
    }
    Last edited by Rama; 05-01-2014 at 02:45 AM.
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  22. #22
    0
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579
    More Pics

    Here's some more pics of nodes I am giving you in this plugin, no C++ compile required!

    Find out if game is the foreground window, and freeze/unfreeze Render Thread
    Name:  gamewindowforeground.jpg
Views: 63863
Size:  157.3 KB

    Distance from point to Surface of Mesh
    Name:  pointtosurface.jpg
Views: 63512
Size:  44.2 KB

    Save Text to Hard Disk
    Name:  SaveTextToHardDisk.jpg
Views: 63642
Size:  65.2 KB

    Viewport Functions
    Name:  ViewportFunctionsBP.jpg
Views: 63804
Size:  287.6 KB

    Determine if current world is Editor or PIE or Game Instance
    Name:  EditorPIEOrGameWorld.jpg
Views: 63477
Size:  89.8 KB

    Rama
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  23. #23
    0
    Installation

    1. put the .zip contents in a folder in your main directory where your .uproject is, called "Plugins" (name most be precise)

    2. open editor and go to window->plugins

    3. make sure my Victory Plugin is checked off as being active...
    I did that, but I don't see any Victory Plugin.

    But if I put it inside the engine plugin folder instead, it shows.
    Last edited by Alex3d; 05-01-2014 at 07:24 PM.

  24. #24
    0
    Infiltrator
    Join Date
    Mar 2014
    Posts
    23
    Quote Originally Posted by Alex3d View Post
    I did that, but I don't see any Victory Plugin.
    Make sure it looks something like: Unreal Projects->YourProjectName->Plugins->PLUGIN_VictoryBPLibrary

  25. #25
    0
    Quote Originally Posted by HJPL View Post
    Make sure it looks something like: Unreal Projects->YourProjectName->Plugins->PLUGIN_VictoryBPLibrary
    I tried that, but the plugin didn't appear on the plugins list. But if I put it inside the engine plugin folder( UnrealEngine-4.1\Engine\Plugins ) instead, it shows.

  26. #26
    0
    Promoter
    Join Date
    Apr 2014
    Posts
    161
    Quote Originally Posted by Alex3d View Post
    I tried that, but the plugin didn't appear on the plugins list. But if I put it inside the engine plugin folder( UnrealEngine-4.1\Engine\Plugins ) instead, it shows.
    Hmm, I've got it working fine from the project folder. It doesn't appear in the default list of plugins on the right, it's in a category at the bottom of the list on the left. I almost overlooked it.

  27. #27
    0
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579
    Quote Originally Posted by Xodroc View Post
    Hmm, I've got it working fine from the project folder. It doesn't appear in the default list of plugins on the right, it's in a category at the bottom of the list on the left. I almost overlooked it.
    Yes all the engine plugins are at the top, and the bottom is for project context, I believe

    Alex3d let us know if this info helps at all!

    Here's a pic



    Rama
    Last edited by Rama; 05-01-2014 at 10:53 PM.
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  28. #28
    0
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579
    New BP Node

    Clone Static Mesh Actor

    Clones the mesh, materials, rotation, location, and physics state of a Static Mesh Actor.

    You can set an optional offset of location and rotation from the original!

    This is done during game-time!

    You can clone the output of this node, to creating a series of actors rotated / translated from the original (like an array in 3ds max)

    Or, you can numerically increment the location and rotation offsets and keep using the original in a for loop !



    ~~~

    Picture

    Name:  CloneStaticMesh.jpg
Views: 63783
Size:  124.9 KB

    ~~~

    C++ Code

    Code:
    AStaticMeshActor* UVictoryBPFunctionLibrary::Clone__StaticMeshActor(UObject* WorldContextObject, bool&IsValid, AStaticMeshActor* ToClone, FVector LocationOffset,FRotator RotationOffset)
    {
    	IsValid = NULL;
    	if(!ToClone) return NULL;
    	if(!ToClone->IsValidLowLevel()) return NULL;
    	//~~~~~~~~~~~~~~~~~~~~~~~~~~~
    	
    	if(!WorldContextObject) return NULL;
    	
    	//using a context object to get the world!
        UWorld* const World = GEngine->GetWorldFromContextObject(WorldContextObject);
    	if(!World) return NULL;
    	//~~~~~~~~~~~
    	
    	//For BPS
    	UClass* SpawnClass = ToClone->GetClass();
    	
    	FActorSpawnParameters SpawnInfo;
    	SpawnInfo.bNoCollisionFail 		= true;
    	SpawnInfo.Owner 				= ToClone;
    	SpawnInfo.Instigator				= NULL;
    	SpawnInfo.bDeferConstruction 	= NULL;
    	
    	AStaticMeshActor* NewSMA = World->SpawnActor<AStaticMeshActor>(SpawnClass, ToClone->GetActorLocation() + FVector(0,0,512) ,ToClone->GetActorRotation(), SpawnInfo );
    	
    	if(!NewSMA) return NULL;
    	
    	//Copy Transform
    	NewSMA->SetActorTransform(ToClone->GetTransform());
    	
    	//Mobility
    	NewSMA->StaticMeshComponent->SetMobility(EComponentMobility::Movable	);
    	
    	//copy static mesh
    	NewSMA->StaticMeshComponent->SetStaticMesh(ToClone->StaticMeshComponent->StaticMesh);
    	
    	//~~~
    	
    	//copy materials
    	TArray<UMaterialInterface*> Mats;
    	ToClone->StaticMeshComponent->GetUsedMaterials(Mats);
    	
    	const int32 Total = Mats.Num();
    	for(int32 v = 0; v < Total; v++ )
    	{
    		NewSMA->StaticMeshComponent->SetMaterial(v,Mats[v]);
    	}
    	
    	//~~~
    	
    	//copy physics state
    	if(ToClone->StaticMeshComponent->IsSimulatingPhysics())
    	{
    		NewSMA->StaticMeshComponent->SetSimulatePhysics(true);
    	}
    	
    	//~~~
    	
    	//Add Location Offset
    	const FVector SpawnLoc = ToClone->GetActorLocation() + LocationOffset;
    	NewSMA->SetActorLocation(SpawnLoc);
    	
    	//Add Rotation offset
    	FTransform TheTransform = NewSMA->GetTransform();
    	TheTransform.ConcatenateRotation(RotationOffset.Quaternion());
    	TheTransform.NormalizeRotation();
    	
    	//Set Transform
    	NewSMA->SetActorTransform(TheTransform);
    	
    	IsValid = true;
    	return NewSMA;
    }
    Last edited by Rama; 05-01-2014 at 11:16 PM.
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  29. #29
    0
    Quote Originally Posted by Rama View Post
    Yes all the engine plugins are at the top, and the bottom is for project context, I believe

    Alex3d let us know if this info helps at all!

    Here's a pic



    Rama
    Thanks. I probably overlooked it, because it is there.

    Looking at your wiki...
    10. You should now see the Victory Editor HotKeys button in the top left
    I don't see this at all. Only the V snap to vertice feature is working. U and Y does nothing.
    Last edited by Alex3d; 05-02-2014 at 12:57 AM.

  30. #30
    0
    Promoter
    Join Date
    Apr 2014
    Posts
    161
    Quote Originally Posted by Alex3d View Post
    Thanks. I probably overlooked it, because it is there.

    Looking at your wiki...
    I don't see this at all. Only the V snap to vertice feature is working. U and Y does nothing.
    I've noticed it doesn't seem to work with meshes that are in a blueprint(Did I miss something?), Y doesn't work if the object is over a brush/CSG geometry, works fine when over another static mesh or landscape.

  31. #31
    0
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579
    Quote Originally Posted by Alex3d View Post
    Thanks. I probably overlooked it, because it is there.

    Looking at your wiki...
    I don't see this at all. Only the V snap to vertice feature is working. U and Y does nothing.
    The vertex snap feature and the U and Y keys are something that have to be activated via config file

    Did you do that part?

    https://wiki.unrealengine.com/Rama%2...n#Installation

    None of this required to use the Blueprint nodes though! They will work as soon as editor is restarted after checking my plugin as active.

    ~~~

    I am giving my Vertex Snap Feature To Epic

    I am currently reworking the vertex snap feature to be integrated directly into the engine, no longer a plugin,

    Name:  pic3.jpg
Views: 63163
Size:  140.2 KB

    Name:  pic2.jpg
Views: 62981
Size:  93.6 KB

    Name:  pic1.jpg
Views: 62939
Size:  109.0 KB

    you can vote for it here!

    https://forums.unrealengine.com/show...s-Pull-Request

    ~~~

    Quote Originally Posted by Xodroc View Post
    Y doesn't work if the object is over a brush/CSG geometry, works fine when over another static mesh or landscape.
    ooooh, yea that makes sense Xodroc! Cause BSP is not getting detected by my trace method with the Y drop-to-nearest surface feature!

    Thanks for clarifying that!

    I've not put much energy into the Plugin vertex snap and other Victory Editor Mode features since I'm busy integrating vertex snap directly into the Engine

    ~~~

    Video of UE4 Vertex Snap Editor Integration

    This is an alpha footage video of UE4 Vertex Snapping, as a built in feature that will come with the Editor!



    You can vote for it here!

    https://forums.unrealengine.com/show...s-Pull-Request
    Last edited by Rama; 05-02-2014 at 10:17 AM.
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  32. #32
    0
    Champion
    Join Date
    Apr 2014
    Posts
    790
    that not for a noob like me but i like see people share 'open' here work and ideas, that help others learn. thx

  33. #33
    0
    The vertex snap feature and the U and Y keys are something that have to be activated via config file

    Did you do that part?

    https://wiki.unrealengine.com/Rama%2...n#Installation

    None of this required to use the Blueprint nodes though! They will work as soon as editor is restarted after checking my plugin as active.
    Yes, I did. But
    Anyway, I will wait for the Vertex Snap Editor Integration. Thanks

  34. #34
    0
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579

    Red face Get Screen Resolutions & Combine String

    Two New BP Nodes

    The download link in original post is now updated with two new nodes!

    ~~~

    Get Screen Resolutions

    Obtains a list of all the screen resolutions supported by the user's current display adapter!

    Option to include or exclude the refresh rates that are available for each resolution!


    New version of Get Screen Resolutions
    Name:  ResolutionsNoRefreshRates.jpg
Views: 62972
Size:  231.4 KB

    ~~~

    Combine Strings

    Combine two strings with an optional separator and labels that will appear in front of each member of the pair.

    ~~~

    Picture

    I used the two nodes above to print out a listing of all supported screen resolutions, on the press of a key, using blueprints!

    (open in new tab to see full size)
    Attached Images Attached Images  
    Last edited by Rama; 05-22-2014 at 08:09 PM.
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  35. #35
    0
    Quote Originally Posted by Rama View Post
    Two New BP Nodes

    The download link in original post is now updated with two new nodes!

    ~~~

    Get Screen Resolutions

    Obtains a list of all the screen resolutions supported by the user's current display adapter!

    ~~~

    Combine Strings

    Combine two strings with an optional separator and labels that will appear in front of each member of the pair.

    Dear Rama,

    Have i ever told you how crazy awesome you are?

  36. #36
    0
    Infiltrator
    Join Date
    Mar 2014
    Posts
    23
    **** Rama, you are unstoppable! Thank you for this.


    Quick suggestion: Arrow keys move actors in the X/Y via the snap grid amount

  37. #37
    0
    excelent! thank you!

  38. #38
    0
    I just wanted to thank you for all this contribution to the community.
    It's great! and yeah you are awesome

  39. #39
    0
    The Rainbow Warrior



    Join Date
    Mar 2014
    Posts
    2,579
    Quote Originally Posted by HJPL View Post
    **** Rama, you are unstoppable! Thank you for this.


    Quick suggestion: Arrow keys move actors in the X/Y via the snap grid amount
    Rawrrr!!

    (nice suggestion too, have you tried ctrl + LMB, RMB, and both mouse buttons? That feature is already built in )

    CTRL + LMB + mouse move = x axis
    CTRL + RMB + mouse move = y axis
    CTRL + Both + mouse move = z axis

    Quote Originally Posted by Jacky View Post
    Dear Rama,

    Have i ever told you how crazy awesome you are?
    Hee hee! Thanks Jacky!

    Quote Originally Posted by CTPEJIOK22 View Post
    excelent! thank you!
    Hee heeee!

    Quote Originally Posted by Alexarg View Post
    I just wanted to thank you for all this contribution to the community.
    It's great! and yeah you are awesome
    Last edited by Rama; 05-02-2014 at 09:28 PM.
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  40. #40
    0
    Infiltrator
    Join Date
    Mar 2014
    Posts
    23
    Quote Originally Posted by Rama View Post
    Rawrrr!!

    (nice suggestion too, have you tried ctrl + LMB, RMB, and both mouse buttons? That feature is already built in )

    CTRL + LMB + mouse move = x axis
    CTRL + RMB + mouse move = y axis
    CTRL + Both + mouse move = z axis
    I didn't know that, but now I do!

    I guess I should have explained my suggestion better (but I was trying to be quick hehe). I meant using the arrow keys to nudge the actor a one (grid) slot. Sometimes you want to move that actor one space over and but the mouse moves it two, or three. It really becomes a pain when working with large objects, etc.

Page 1 of 48 12311 ... LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •