This is my first post here. I’ve been working with Blender for over a year now and am fully confident and comfortable working with the basic modeling tools, UV mapping etc, and am trying my hand finally at making some characters for a game with animations. I seem to be hitting an issue with how Blender is culling objects from the realtime render of the game engine. I thought at first it was just something I did such as the structure of the parent/child relationships, but as I have noted in the .blend I’ll attach I have found several things pointing to this being the incorrect behavior.
I’d really appreciate it if somebody could take a look and perhaps enlighten me. It is going to be very frustrating to prototype animations and how somethings should work (or at least how I think they should work) if my characters keep losing their hair, eyes, or items that are attached just because I needed to move or scale a bone for animation.
The entire file has been re-done from scratch to reproduce this bug. The character in it is not final or even intended to be used in my project, it was just created to reproduce the issue. Instructions / bug write up are included in the file. Also it is a ZIP file, so rename it first and unzip.
@Smoking_mirror: 2.54 and now 2.55 have been pretty stable for me on OS X and the changes have been welcome though I can understand why people would stick with 2.49 - especially if you are in the middle of a project. The one sure fire way to kill 2.5x for me has been to try to use the Node Editor. Crashes every time.
@Joeman16:
I’d be happy to. It is normal to expect objects to be visibly culled from the viewport in most games I’ve had the (dis)pleasure of working on. You can always find a way to move the view so some small part of the object is still in view and the renderer decides prematurely you can’t see it anymore and POP! It is gone. No big deal. It is always on the edge of the screen and most of the time your attention isn’t focused there so it isn’t a huge deal. (And also the object is often really close to the view point…)
What I am seeing is this: Scaling a bone or translating a bone in the armature causes the hair of my character to be culled from view even though it is dead center on the camera’s view. If you pull the camera back (down key in my blend) it will suddenly appear and be rendered properly.
The hair is small mesh parented to the armature, specifically just her bangs. The verts of the hair mesh are all assigned to the same “head” bone that controls the the head (obviously) of the body mesh. Everything works fine if no bones are moved or scaled, only rotated. It also works fine if the whole armature is moved but only in Object Mode. If you disable rendering of the body mesh as I have it in my file you will see the realtime shadow cast on the ground even though the hair is not being displayed. Changing the parent type from Object or Armature to Bone (and pointing it to the head bone) seems to make it render it fine except I haven’t found out how to properly reposition the hair once I do this… I just got tired of researching possible causes and coming up without a good reason or work around.
I suspect something happens to the bounding box of the hair mesh so that the frustum culling is screwed up after I scale a bone or move a bone. Oddly, this effect is not seen if you set the 3D View to “Render Only”. Eitherway I have a bunch of notes with the file listing things I’ve tried.
Thank you Monster. That helped a lot. I am certain that is the issue. By your explanations on the other threads that would explain why it appeared to work when I made the head bone the parent of the hair mesh, as that single bone was still in the camera frustum. (Though the hair was oriented completely wrong…)
I am going to experiment some tomorrow with your suggestion of adding a cube to the geometry to increase the bounding box size to have room to work with for animating.
EDIT:
I couldn’t resist and just did it now. I added a single vertex extending in each direction along +/- X,Y,Z by a few units from the approximate center of the hair and it works perfectly.