Announcement

Collapse
No announcement yet.

Blender to unreal Collision?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Blender to unreal Collision?

    Hello, Iv'e been modeling a scene in blender for about a month now with plans to use in unreal engine for a small game. I thought I could just do the collision in blender after I have a sufficient amount of the large scene modeled. I was wrong.
    I had no prior knowledge of collision in unreal. My first idea was to make a copy of the main walls and floors and reduce them to primitive shapes and name it with UCX_.... and import to unreal like that. (Image 1)
    Turns out that doesn't work at all, Unreal simply generated its own collision. My second Idea was to take only a straight section of wall, make it an object, and model a UCX collision for it from scratch. (Image 2) This also did not work. Its as if
    Unreal took the imported collision and made it a single prism when there should be holes for the door and windows. I leaned after some research that Unreal will convert any convex collision geometry into non-convex geometry.
    That leads me to the question, What is the correct way (or at least a feasible way) to apply collision to large imported scenes from blender? Have I approached this all wrong? It seams there are no tutorials
    that explain level architecture collision. How do you achieve collision for complex meshes like my building?
    Thank You

    Image 3 shows the imported collision box.
    Image 4 shows my large scene.

    Image 1: http://imgur.com/kBPsiK0
    Image 2: http://imgur.com/A4Ptf1S
    Image 3: http://i.imgur.com/oKbmDM1.png
    Image 4: http://i.imgur.com/ks5u9bd.png

    UPDATE: It seems that by unchecking "use one convex hull..." made the one wall work, slightly. I can go through the windows but random parts of the wall are still accessible
    Last edited by PlentoTheMan; 05-17-2017, 05:56 PM.

    #2
    In the collision options in Unreal Engine there's an option called Auto Convex Collsion. Select that, and set the accuray rate quite high, that should allow you to walk through the building. it may take Unreal Engine a while to calculate it if its a large object. This behaves like putting shrinkwrap on your object and auto calculates it all for you.

    The other way to do it is to add simplified collision boxes one by one and reshape them all to fit the walls and everything else but you will end up with tons of collision boxes.
    Last edited by tozan; 05-17-2017, 05:28 PM.

    Comment


      #3
      Thanks for the reply, I have tried the auto convex collision at full strength and it seams like it creates a ridiculous amount of unnecessary collision polygons. As for placing collision boxes 1 by 1, that may be my only option it seems.
      I did not mention before that the main walls are made of planes and not cubes. Could this be a source of my problems? Thank you.

      Comment


        #4
        Plento, that could be a problem for you if its only a plane, since one side is technically not "visible" by the game, it may be causing issues. I would try and solidify the object in blender with the modifier to try and see if that works. Otherwise yes, using the collision boxes is going to have to be the thing for you unfortunately.

        Comment


          #5
          Thanks, I think you've confirmed my beliefs

          Comment


            #6
            I know this is a very old post but I had the same issue. Maybe the older version in 2017 didn't support this but I just tried this today and it works for me. I plan to do this with all my architectural projects. So I had a similar situation as described in the original post. I was loading in a very simple apartment mesh. I first tried the 'manual' method that this post alludes to earlier to set up the collisions manually. While that method does work I found it to be very clunky and time consuming. The 'auto convex' collision method also works however this could lead to a more inefficient and less reliable collision mesh and frankly results in an almost exact copy of your original mesh.

            I then learned of the UCX_objectname trick. For those who dont know about this you create a primary more complex mesh and then create another more simple collision mesh. When you export, you need to have both your primary and collision mesh selected and export as an FBX. Your collision mesh MUST be prefixed by UCX_. This prefix tells the UE4 engine that the object in question is a collision mesh. You can them import your mesh and the collision mesh will be generated upon import. So if your mesh is called 'Apartment' the collision mesh would be 'UCX_Apartment'.

            This concept didn't work for me at first. However after quickly examining the import settings I found that unchecking the import setting 'One Convex Null Per UCX' seems to fix this. I am not sure why they have this checked by default. I am assuming it has to do with efficiency. I am not 100% certain of this but what I think this may do when unchecked is takes your incoming UCX mesh and break it up into separate collision chunks automatically. I do not know at this point if this results in less efficiency or not but from what I can tell at least in my example it works like a champ. Maybe a much larger more complex map or mesh would be inefficient with this option unchecked. I honestly dont know.

            In any case, upon doing a fresh import of my apartment mesh this works 100% properly with all collisions. I am able to enter the apartment mesh from the outside and all the interior walls work to block or pass through properly. I did not have to make any changes to the actual mesh from the collisions menu for this to work once I imported it. It is for that reason I am fairly certain that it used my UCX mesh to create the collisions. If someone thinks Im wrong about any of this please let me know Ill take this post down.

            Click image for larger version

Name:	IMPORT_UCX_MESH.JPG
Views:	733
Size:	46.7 KB
ID:	1701719

            Comment

            Working...
            X