Unstable behavior using VehicleWrapper in blender 2.70 test build #38895

Closed
opened 2014-03-01 00:59:07 +01:00 by Hugo Barreira · 12 comments

System Information
Ubuntu 13.10
'GeForce GT 425M/PCIe/SSE2'

Blender Version
Broken: (Blender 2.69 (sub 11) Hash 10f4c62 , Blender 2.69 (sub 10) Hash 2038eb1 Linux:64bit)
Worked: (Blender 2.69 (sub 0) Hash 60991 , Blender 2.66 (sub 1) Hash 55252 Linux:64bit)

Short description of error
Works fine in previous versions, but the same file in the test build for 2.70 makes the wheels jump continuously

Exact steps for others to reproduce the error
add a 'Cube' add 4 Cylinders to use has wheels, rotate and aply rotation, make the apropriate logic brick to use the script(you may use the one provided in the blend file, add a 'plane' to use has a ground, change to game engine, set wheels to 'no collision' in the physics panel, the 'cube' to 'rigidbody'. Press 'p'. The 'vehicle should fall to the plane and stop. The behaviour seen in the newer version is that the wheels don't stop jumping.
Note: this behaviour happens with other values with different configurations(meshes, mass, sizes, etc)
I'm just providing this file has a test of the problem. Not sure if this is a bug or some change was made to the game engine physics to correct previous bugs and now this is the new expected behavior.
test_bug_270.blend
More instructions are in the blend file attached.

**System Information** Ubuntu 13.10 'GeForce GT 425M/PCIe/SSE2' **Blender Version** Broken: (Blender 2.69 (sub 11) Hash 10f4c62 , Blender 2.69 (sub 10) Hash 2038eb1 Linux:64bit) Worked: (Blender 2.69 (sub 0) Hash 60991 , Blender 2.66 (sub 1) Hash 55252 Linux:64bit) **Short description of error** Works fine in previous versions, but the same file in the test build for 2.70 makes the wheels jump continuously **Exact steps for others to reproduce the error** add a 'Cube' add 4 Cylinders to use has wheels, rotate and aply rotation, make the apropriate logic brick to use the script(you may use the one provided in the blend file, add a 'plane' to use has a ground, change to game engine, set wheels to 'no collision' in the physics panel, the 'cube' to 'rigidbody'. Press 'p'. The 'vehicle should fall to the plane and stop. The behaviour seen in the newer version is that the wheels don't stop jumping. Note: this behaviour happens with other values with different configurations(meshes, mass, sizes, etc) I'm just providing this file has a test of the problem. Not sure if this is a bug or some change was made to the game engine physics to correct previous bugs and now this is the new expected behavior. [test_bug_270.blend](https://archive.blender.org/developer/F79292/test_bug_270.blend) More instructions are in the blend file attached.
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @HugoBarreira

Added subscriber: @HugoBarreira
Hugo Barreira self-assigned this 2014-03-02 02:10:53 +01:00
Author

Just noticed that it's also broken in,
version 2.69 (sub 10), '2014-02-10' , hash '2038eb1', Linux:64bit
worked in
version 2.69 (sub 0), revision b'60991'.2013-10-29', Linux:64bit
version 2.66 (sub 1), revision b'55252'.'2013-03-14', Linux:64bit

Just noticed that it's also broken in, version 2.69 (sub 10), '2014-02-10' , hash '2038eb1', Linux:64bit worked in version 2.69 (sub 0), revision b'60991'.2013-10-29', Linux:64bit version 2.66 (sub 1), revision b'55252'.'2013-03-14', Linux:64bit
Hugo Barreira removed their assignment 2014-03-02 02:30:01 +01:00

Added subscriber: @ThomasDinges

Added subscriber: @ThomasDinges
Member

Added subscriber: @brita

Added subscriber: @brita
Member

I can confirm this with the current master.
This is assertion is failing:
blender-source/extern/bullet2/src/BulletDynamics/Vehicle/btRaycastVehicle.cpp:384:
void btRaycastVehicle::applyEngineForce(btScalar, int): Assertion `wheel>=0 && wheel < getNumWheels()' failed.

I can confirm this with the current master. This is assertion is failing: blender-source/extern/bullet2/src/BulletDynamics/Vehicle/btRaycastVehicle.cpp:384: void btRaycastVehicle::applyEngineForce(btScalar, int): Assertion `wheel>=0 && wheel < getNumWheels()' failed.

Added subscribers: @sreich, @Moguri

Added subscribers: @sreich, @Moguri

Sergej, you seem to be our resident Bullet expert. I have tracked down the issue to the 2.82 Bullet update. We are running into the issue mentioned in this thread: http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=9662. It seems prior to Bullet 2.82 the default btConvexCast for btCollisionWorld::rayTestSingleInternal() was set to btSubsimplexConvexCast via compiler prgamas (#ifdef, etc). However, in Bullet 2.82 btGjkConvexCast became the default.

So, my question to you is, should we force using btSubsimplexConvexCast, or do we try to figure out why btGjkConvexCast doesn't work for us? The following patch will force the BGE to use btSubsimplexConvexCast for its vehicles:
bge_vehicle_simplex.diff

Sergej, you seem to be our resident Bullet expert. I have tracked down the issue to the 2.82 Bullet update. We are running into the issue mentioned in this thread: http://bulletphysics.org/Bullet/phpBB3/viewtopic.php?t=9662. It seems prior to Bullet 2.82 the default btConvexCast for btCollisionWorld::rayTestSingleInternal() was set to btSubsimplexConvexCast via compiler prgamas (#ifdef, etc). However, in Bullet 2.82 btGjkConvexCast became the default. So, my question to you is, should we force using btSubsimplexConvexCast, or do we try to figure out why btGjkConvexCast doesn't work for us? The following patch will force the BGE to use btSubsimplexConvexCast for its vehicles: [bge_vehicle_simplex.diff](https://archive.blender.org/developer/F89134/bge_vehicle_simplex.diff)

Using the old raycast method should be fine, we did that for #37673 as well.

Using the old raycast method should be fine, we did that for #37673 as well.

This issue was referenced by 2e20c16897

This issue was referenced by 2e20c1689798b84fd63d84cd6fc7fb282af05588

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'

Closed by commit 2e20c16897.

Closed by commit 2e20c16897.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
6 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#38895
No description provided.