Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Async Collision Cooking missing file #44

Closed
doggy1232 opened this issue Apr 24, 2017 · 11 comments
Closed

Async Collision Cooking missing file #44

doggy1232 opened this issue Apr 24, 2017 · 11 comments

Comments

@doggy1232
Copy link

So I downloaded the async collision cooking branch and installed it to my project. I used the 4.15 source build of UE4. When I try to build the project I get an error saying this header, "PhysicsEngine/PhysXCookData.h" could not be found. Is this because it was made on an older version of UE4? or do I have to add this header myself and if so then where do I get it from? Does the header come from integrating PhysX to the project?

@bw2012
Copy link

bw2012 commented Apr 24, 2017

It looks like branch with async collision cooking cannot be compiled with UE 4.15.
The method UBodySetup::CookCollision is absent in this version.

@Koderz
Copy link
Member

Koderz commented Apr 25, 2017

There's engine changes needed to support that, if you're using the 4.15 source branch. Merge this branch into yours. https://github.com/Koderz/UnrealEngine/tree/CollisionCooking_AsyncSupport_4.15 then it should work.

@doggy1232
Copy link
Author

Thank you for the reply!! If I could ask one last favor. Could you tell me the specific files that are changed? I am not using git with my source build and so I can't really merge the branches. I am sure I can find a work around but it would help. Although it might be a large amount of files to list, if that's the case I could just look through it or use git to compare the two builds and then just work from that.

@doggy1232
Copy link
Author

doggy1232 commented Apr 25, 2017

Or wait... could I just paste your repository version in my source version and then replace all duplicates with your source? That sounds like the best way.

@Koderz
Copy link
Member

Koderz commented Apr 25, 2017

That would likely revert any fixes Epics pushed to 4.15 since I created that branch. You could look at the revision history to see the changed files. I'd be careful just overwriting those files as well for the same reason as above.

The only commit to that branch related to collision is https://github.com/Koderz/UnrealEngine/commit/3e6ed701cde151de1dd868a0037d19446ce93ad0

@doggy1232
Copy link
Author

Thank you! I got it all working. This asset is amazing by the way! I am making a voxel based planet generator with marching cubes and the slowest part about it is the collision generation and It is the only part I could not run in parallel. This should help a ton!

@doggy1232
Copy link
Author

It works amazingly! No stutters at all. But I was wondering. Is there currently a way to cook the collision data in another thread without a reference to an RMC and then later send it to a newly created RMC? Right now I am just using the thread pool and that is great but it has the potential of not creating the collision in time for the player to stand on it.

@Koderz
Copy link
Member

Koderz commented Apr 25, 2017

Yeah, it's something I think I started support for but I'm not sure if I completed it. I will end up cleaning that up/improving it here soon as a part of RMCv3 which is when I'll also PR it to epic to hopefully get them to merge it as it's relatively simple changes and gives a massive improvement.

@doggy1232
Copy link
Author

Sounds great! For now It's not a problem so I will wait till then. I appreciate the help!

@doggy1232
Copy link
Author

There is another Issue I'd like to inform you of in case you didn't already know. If I run a collision baking process asynchronously and then while the thread is still running, I end the play session it will crash the engine. The only error is this:

Error in thread pool 2

@abecks
Copy link

abecks commented May 31, 2017

@doggy1232 Sorry to bother, any chance you can provide an example of how you are using the async collision cooking? Is it as simple as using the static async helpers?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

4 participants