armory: compile error: bullet.CompoundShape has no field calculateLocalInertia
Hi. I tried to compile this project: https://github.com/armory3d/armory_templates/tree/master/vehicle
and got these errors:
I also used VehicleBody
trait in a new simple “car project” and got the same error.
Here is the export settings:
System Blender: 2.82 Armory: 2020.6 OS: Windows 10 Graphics card: 1070ti
edit: simple car project files: SimpleCar.zip
About this issue
- Original URL
- State: open
- Created 4 years ago
- Comments: 17 (10 by maintainers)
Commits related to this issue
- Use `bullet.Bt.CollisionObjectActivationState` [see #1731] — committed to Sanva/armory by Sanva 4 years ago
- [hl] Fixes `vehicle` template build and runtime errors for Linux and Android. - Use `bullet.Bt.CollisionObjectActivationState` in `VehicleBody.init` — just like in https://github.com/armory3d/arm... — committed to Sanva/armory_templates by Sanva 4 years ago
@luboslenco the problem is, how to add that? It looks like static vars are not supported in Hashlink WebIDL — and, for worst, that aren’t really class constants in Bullet, just defines → https://pybullet.org/Bullet/BulletFull/btCollisionObject_8h_source.html (l. 22~26).
In Krom/js, with Ammo, they work because Haxe itself allows to define static inline vars in extern classes that will the replaced at compile time.
But I don’t know how to do the same with the Hashlink version.
One possible solution would be to create a
CollisionObjectActivationState
enum with the right values, for example — that would work across all possible targets, it’s just anint
. What do you think? We could even keep the Ammo static vars for backwards compatibility without conflicts.@MoritzBrueckner I’ve added a pull request updating that file → https://github.com/armory3d/armory_templates/pull/7
@Sanva No. I don’t known how unfortunately.
@Sanva The runtime error does not happen on windows C target when using a simple vehicle test scene. Not the example /template file. I think it is not a Bullet related issue.