fixed AABBs calculated from the graph system being wrong because for whatever reason i was transforming the bounds to world space, and this never mattered when using RP3D because it was always fed local extents......
This commit is contained in:
parent
cb36936411
commit
36612f9ce9
@ -6,6 +6,7 @@
|
||||
"metadata": {
|
||||
"holdable": true,
|
||||
"physics": {
|
||||
"mass": 0,
|
||||
"type": "bounding box"
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,9 @@
|
||||
{
|
||||
// "import": "./rp_downtown_v2.json"
|
||||
"import": "./ss2_medsci1.json"
|
||||
// "import": "./ss2_medsci1.json"
|
||||
// "import": "./test_grid.json"
|
||||
// "import": "./sh2_mcdonalds.json"
|
||||
// "import": "./animal_crossing.json"
|
||||
// "import": "./mds_mcdonalds.json"
|
||||
"import": "./mds_mcdonalds.json"
|
||||
// "import": "./gm_construct.json"
|
||||
}
|
@ -1333,7 +1333,7 @@ void uf::graph::process( pod::Graph& graph, int32_t index, uf::Object& parent )
|
||||
auto& mesh = storage.meshes.map[graph.meshes[node.mesh]];
|
||||
auto& primitives = storage.primitives.map[graph.primitives[node.mesh]];
|
||||
|
||||
pod::Instance::Bounds bounds;
|
||||
pod::Instance::Bounds bounds = {};
|
||||
// setup instances
|
||||
for ( auto i = 0; i < primitives.size(); ++i ) {
|
||||
auto& primitive = primitives[i];
|
||||
@ -1373,8 +1373,8 @@ void uf::graph::process( pod::Graph& graph, int32_t index, uf::Object& parent )
|
||||
uf::stl::string type = phyziks["type"].as<uf::stl::string>();
|
||||
|
||||
if ( type != "mesh" ) {
|
||||
auto min = uf::matrix::multiply<float>( model, bounds.min, 1.0f );
|
||||
auto max = uf::matrix::multiply<float>( model, bounds.max, 1.0f );
|
||||
auto min = bounds.min; // uf::matrix::multiply<float>( model, bounds.min, 1.0f );
|
||||
auto max = bounds.max; // uf::matrix::multiply<float>( model, bounds.max, 1.0f );
|
||||
|
||||
pod::Vector3f center = (max + min) * 0.5f;
|
||||
pod::Vector3f corner = uf::vector::abs(max - min) * 0.5f;
|
||||
@ -1614,7 +1614,7 @@ void uf::graph::reload( pod::Graph& graph, pod::Node& node ) {
|
||||
|
||||
ext::json::Value tag = ext::json::find( node.name, graphMetadataJson["tags"] );
|
||||
|
||||
pod::Vector3f controllerPosition;
|
||||
pod::Vector3f controllerPosition = {};
|
||||
auto& controller = scene.getController();
|
||||
if ( controller.getName() != "Scene" ) {
|
||||
auto& controllerTransform = controller.getComponent<pod::Transform<>>();
|
||||
|
@ -39,7 +39,7 @@ namespace {
|
||||
.displacementThreshold = 0.25f,
|
||||
.overlapThreshold = 2.0f,
|
||||
.dirtyRatioThreshold = 0.3f,
|
||||
.maxFramesBeforeRebuild = 600,
|
||||
.maxFramesBeforeRebuild = 60,
|
||||
};
|
||||
}
|
||||
|
||||
@ -113,7 +113,7 @@ void uf::physics::impl::terminate( pod::World& world ) {
|
||||
// Implementation
|
||||
void uf::physics::impl::substep( pod::World& world, float dt, int32_t substeps ) {
|
||||
float h = dt / substeps;
|
||||
for ( auto i=0; i < substeps; ++i) {
|
||||
for ( auto i = 0; i < substeps; ++i ) {
|
||||
uf::physics::impl::step( world, h );
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user