Report 13 : Time to write

Categories Dissertation

Has the deadline of my dissertation come in may I started the writing stage including state of art, experimentations… That’s why I didn’t publish update currently :/

I will try to work in parallel on the fracture plugin to publish it on github …
Coffee time !

Report 12 : Multi-threading

Categories Dissertation

After a lot of profiling I found the major problem comes from the fracture block the main game thread. In order to fix that I made a complete refactoring ( precedent post ) which allow me to made a multi-threaded architecture using the UE4 threading system(FRunnable) 🙂 !

Now the game thread send fracture task to the fracture thread and watch for result.

Next time: fast real time convex approximation and partial fracture 🙂

Report 11 : Back from vacation !

Categories Dissertation

Recently back from vacation, I just finished the complete refactoring of the main fracture function giving now better performance 🙂 (See video below).

The new procedure is UObject-free so I can start working on mutli-threading and partial fracture will be easier to implement !

Report 10 : Cleanup code, partial fracture on the road

Categories Dissertation

Last week I past most of my time cleanup code and think about a stack system which will execute the fracture task on other thread in order to remove the render freeze 🙂 I will add this after the partial fracture ( Under construction) and the run-time mesh component test (Also to improve perfs ) .

dd54f56a-e864-4b63-af25-60c4143c912dTwo options added for partial fracture: the radius of impact and a Boolean to active it

4a27f797-93ea-4cfd-8777-7a2167b4dccf

32ca1f8d-8a86-4816-9b07-d3b14bcf60c3First tests of partial fracture !

I am also looking for a new method to compute the volumetric decomposition of the object to improve perf, I will talk about in a future post 😉

Report 9 : Iterative fracture, Pattern caching

Categories Dissertation

Today I add the recursive fracture which simply consist to be able to break a fragment from an already broken object 🙂
I also avoid the pattern generation at each fire and done it once at the begin of the game. Finally I shoot the first video of the run-time fracture(see below) ! 🙂

For the next time I will clean code and try to add a basic partial fracture system 🙂

Report 8 : First fracture

Categories Dissertation

After a lot of fighting and code refactoring, I finally apply a correct physic on each fragment ! The lag come from the Fracture pattern generation step(which is really expensive ), not from the fragment formation. 🙂

First fracture !

ue4editor_2016-12-04_14-08-21From another point of view 🙂

ue4editor_2016-12-05_00-45-32 UV conservation 

So next step will consist to cache the fracture pattern before the beginning of the game !

Report 7 : Fragment generation improvement

Categories Dissertation

Last days I add a cleaning step into the fragment procedure which consist to clean all co-planar facet of each voronoi facet before use them compute fracture fragments. Now I have clean fragments following each cells (in green below) without wrong face face normal’s. 🙂

ue4editor_2016-11-28_18-53-41
ue4editor_2016-11-28_18-49-10
ue4editor_2016-11-28_18-50-07 Fragment formation following the user generated voronoi cells

Actually I’m fighting with the Unreal physic system to make all fragment move…

Me trying to setup UE4 physic for the fragments tonight… 

Report 6 : User defined pattern, First fracture attempts

Categories Dissertation

Last day I made some big jump in my initial prototype road map  ! 🙂

Firstly, I developed the user defined pattern which allow the artist to draw his own fracture pattern based on a voronoi diagram  in Unreal. As you can see below, you can move, add or remove control point in real time. The blue lines draw the intermediate Delaunay triangulation which allow to compute without more calculation the dual Voronoi Diagram (in green).

2016-11-22_00-51-13

2016-11-22_00-50-04Real time pattern edition interface in Unreal

ue4editor_2016-11-22_00-53-01New option for the fracture pattern

After developing the improved pattern generation, I started to wrote the most important procedure: the fracture. Below are the first results…No as expected but fun 🙂

ue4editor_2016-11-19_19-18-45

ue4editor_2016-11-19_19-18-52

ue4editor_2016-11-19_19-18-24First test of real time fracture ! 🙂

 The new generated fragments are not totaly following the fracture pattern, and there are also some problems with the new normal computed on the fly…I will investigate on it 🙂