Проблема заключается в следующем:
При загрузке модели через xLoadAnimMesh ищу чилды, прописываю им xEntityReceiveShadows и xEntityCastShadows, всему мешу физмодель xEntityAddBoxShape. Тени отображаются, но, либо съехавши по оси, либо физ модель неправильно встает.
Менял центр объекта в 3dmax'е, изменял параметры xEntityAddBoxShape, изменений нет. Привожу части кода, отвечающие за создание террайна и модели.
Создание террайна:
Function createTerr()
Local terrain = xCreateCube()
Local texture=xLoadTexture( "media/images/textures/ground.bmp" )
xScaleEntity terrain, 1000, 1, 1000
xPositionEntity terrain, 0, 0, 0
xEntityAddBoxShape terrain, 0 : xEntityType terrain, 2
xScaleTexture texture, .001, .001 : xEntityTexture terrain,texture
xEntityReceiveShadows terrain, light, True
xEntityCastShadows terrain, light, False
Return terrain
End Function
Создание модели:
Function createTank.Tank(mesh, AI, x# = 0, z# = 0)
t.Tank = New Tank
t\mesh = mesh : xEntityAddBoxShape t\mesh, 100, .3, .1, .3 : xPositionEntity t\mesh, x#, 5, z#: xEntityType t\mesh, 1: xScaleMesh t\mesh, 0.01, 0.01, 0.01
xEntityAlpha t\mesh, 1
t\body = xFindChild(mesh, "body")
t\head = xFindChild(mesh, "head")
t\weapon = xFindChild(mesh, "weapon")
t\AI = True
t\pivot = xCreatePivot() : xPositionEntity t\pivot, Rnd(-t_freepivot, t_freepivot), t_y_pivot, Rnd(-t_freepivot, t_freepivot)
t\state = PATRUL
t\health = 100
t\health_st = xCopyEntity(healthsprite)
t\speed = 0
xEntityShininess t\mesh, 1
xEntityReceiveShadows t\body, light, True
xEntityReceiveShadows t\head, light, True
xEntityReceiveShadows t\weapon, light, True
xEntityCastShadows t\body, light, True
xEntityCastShadows t\head, light, True
xEntityCastShadows t\weapon, light, True
Return t
End Function
Ну и вдогонку еще проблемка. Тень от head и weapon не проецируется на body.
Помогите советом в какую сторону копать с первой и второй проблемой.