[Question] How to perform certain operations (such as draw/place an object on the floor) at every simulation step?

Hi all,

So I have just started poking around the new UE4. I have been trying to search the documentation but I really have no idea where to start. I am not looking to create an actual game at this point but I am looking to create a system to create procedural skeletal animation. We will be using some sort of machine learning/optimization techniques to create more natural animations procedurally. So far I have always written my own engines and character simulators built on top of an off the shelf physics engine.

I would like to know how can I perform certain operations on the skeleton and also on just some primitives ( such as place/draw a primitive at a certain location on the floor ) at each simulation step. Is there some kind of example I can look at ? Any help would be appreciated. Once I get my feet wet then I can explore stuff on my own but starting seems hard for anything un-game related.

Cheers !

Dear Shalien,

#Event Tick

For starters,

you can use the Event Tick in blueprints

you could do this in the Level Blueprint (button on top row of main editor screen)

this will run whatever actions you want every moment of simulation time / game time.

:slight_smile:

#Received Begin Play

You can initialize your skeletal mesh / static mesh models using Receive Begin Play as per my picture

#Static Mesh Moveable

If you want to move around 3d objects, make static mesh actors and place them somewhere and set their mobility to Moveable in the F4 options screen for that mesh.

Then use Set Actor Location in the level blueprint.

#Adding Static Meshes to Level Blueprint

Select your Static Mesh actor and then go to level blueprint and right click to add a reference to that specific world instance

Rama

PS: you could start by using Print to print a message to yourself every tick :slight_smile:

Hi Rama !

Many thanks ! I have been trying to make this work. I now have my scene setup with the Static Mesh Actors in it. Also I can reference the actors in the Level Blueprint but I cant’ seem to create some of the nodes you have. Like I only have Even Begin Play and not Event ReceiveBegin Play. Also I can’t seem to create the Accessor Get Player Controller. I can only create the Get Player Controller.

Sorry if this is very basic. I am looking into some documentation but I thought I would post my progress.

Many thanks !

I created some of my own custom BP nodes, you can download them here, no code compile required, that’s where Accessor Get Player contorller comes from

http://forums.epicgames.com/threads/977316-(35)Rama-s-Blueprint-Nodes-Plugin-For-You!-Float-as-Str-w-Precision-Ragdoll-Traces

if you have Event Begin Play that is great, dont worry about the naming scheme too much.

Also make sure you have Event Tick, cause that is the main thing you were asking about :slight_smile:

Just grabbed the plugin and I think I have it working now. I just don’t have the Get Input Mouse Delta node but I think that’s not too important to me currently.

I will figure out next how to actually perform transform on the static actor meshes using a state machine which increments at each Event Tick. I have the references for the static meshes in the Level blue print editor.
Many thanks again !

If your issue is resolved for now, please check mark my answer so Epic knows this is under control!

:slight_smile:

Rama

Woops, thank you so much for your help !

So I have all this working now. But I am still left wondering if its possible to do all of this in c++ directly. It would give me a lot more freedom to use C++ directly. I just finished the first person shooter tutorial more or less but I am still not quite sure about how to apply those concepts to say manage other objects in the scene ( in my case I want to move two shoes across the floor which will be controlled by a single parent ).

I have two tutorial hubs on the forums for C++!

#Assorted and Advanced
http://forums.epicgames.com/threads/972861-36-TUTORIALS-C-for-UE4-gt-gt-New-Algorithm-Analysis-Obtain-Animated-Vertex-Locations

#Basic Core Concepts
http://forums.epicgames.com/threads/973803-19-Tutorials-Entry-Level-UE4-C-Overview-Making-Your-Own-UE4-Operators-(FString)

#Where to Start
You need a place from which to operate, I use the Player Controller to do huge amounts of stuff

You could also use the game info class or the game state class.

Pick which class you want to put most of your code in that will modify the world, and then you should blueprint that class.

Then you need to modify your game info / game mode class to use your custom class which you create in the c++, for either player controller, game mode, or game state

Some of my earlier tutorials in the Assorted tutorial hub will help you with this, I show how to do this process for the HUD class.

Once you have your custom controller/game mode /game state class, then you can begin thinknig about how to get references to objects you place in editor or spawn at runtime.


#Small Request

I would request that you make future concerns (that are c++ related) into separate threads and leave this one checkmarked so as to separate the topics out for future searches people do on the UDN

:slight_smile:

Rama

Thank you so much ! I will look into them !

Re : Small Request

I was debating if I should start a new thread. To me it felt like the same question, but perhaps your are right, it might have been better with a new thread.