Expropriator 2 118 Опубликовано 19 Сентября 2017 (изменено) Для ознакомления с движком, советую демо версию Pacific В движке есть нудные баги (которые исправимы) на колизии забора, и на воде океана. Напишу как исправить позднее. Изменено 20 Сентября 2017 пользователем Дизель 1 Поделиться этим сообщением Ссылка на сообщение
Expropriator 2 118 Опубликовано 20 Сентября 2017 Что бы исправить в физике PhysX баг на колизии забора на локации Pasific нужна перекомпиляция движка на новую библиотеку физики 2.8.1. Могу поделится исходниками под визуалку 2008 для физики PhysX 2.8. Собирал все проекты до последнего, но на dx9 пока. Что бы исправить баг на локации Pasific с оптимизацией моря, когда при повороте камеры появляется черная плоскость, можно отключить оптимизацию в файле Pacific.mis - сделать useOcclusionQuery = "0"; Моя идея, но для слабых компов не рекомендуется. 1 Поделиться этим сообщением Ссылка на сообщение
Expropriator 2 118 Опубликовано 22 Сентября 2017 Оказывается это тоже движок Torque BeamNG Drive https://www.youtube.com/watch?v=MddvvPZUP0A Поделиться этим сообщением Ссылка на сообщение
Expropriator 2 118 Опубликовано 22 Сентября 2017 Final Fire https://www.youtube.com/watch?time_continue=5&v=qG8Jn2EYKIc Поделиться этим сообщением Ссылка на сообщение
Expropriator 2 118 Опубликовано 24 Сентября 2017 @HellRatz, неплохой, но и не простой. Там много чего самому надо доделывать. Авто как класс - недоработан в движке. А танков вообще нет. Поделиться этим сообщением Ссылка на сообщение
Expropriator 2 118 Опубликовано 25 Сентября 2017 Облако старых файлов - повтор с официального. На всякий случай. https://cloud.mail.ru/public/DawG/nyfHE3TeT Поделиться этим сообщением Ссылка на сообщение
Expropriator 2 118 Опубликовано 27 Сентября 2017 (изменено) Поддержка PhysX 3.3 (рекомендуется разработчиком 3.3.1 версия). Скрытый текст Release Notes - NVIDIA® PhysX® SDK 3.3.1 December 2013 Supported Platforms Runtime Apple iOS Apple Mac OS X Google Android (version 2.2 or later for SDK, 2.3 or later required for samples) Linux (tested on Ubuntu) Microsoft Windows XP or later (NVIDIA Driver version R304 or later is required for GPU acceleration) Microsoft Windows RT (formerly known as Windows on ARM) (SDK only, no samples yet) Microsoft XBox One Microsoft XBox 360 Nintendo Wii U Sony Playstation 3 Sony Playstation 4 (SDK only, no samples) Sony Playstation Vita Development Microsoft Windows XP or later Microsoft Visual Studio 2008, 2010, 2012 (Windows RT only) Xcode 4.6|5.0|5.0.1 Known Issues Changes and Resolved Issues Note: Platform specific issues and changes can be found in the readme file of the corresponding platform. General Added: The friction model can now be changed after scene instantiation with PxScene::setFrictionType. The friction model can also be queried with PxScene::getFrictionType. Changed: PxDefaultSimulationFilterShader now supports particles and cloth as well. PxSimulationFilterCallback: the provided actor and shape pointers are now defined as const. Note: this is no behavior change, it was never allowed to write to those objects from within the callback. The PxTriangleMeshFlag::eHAS_16BIT_TRIANGLE_INDICES and PxTriangleMeshFlag::eHAS_ADJACENCY_INFO enums have been deprecated. Please use PxTriangleMeshFlag::e16_BIT_INDICES and PxTriangleMeshFlag::eADJACENCY_INFO instead. Removed following functions from the API for platforms which do not support CUDA: PxGetSuggestedCudaDeviceOrdinal, PxCreateCudaContextManager, PxLoadPhysxGPUModule. Fixed: Fixed concurrency issue on windows. Calling PxScene::simulate on multiple scenes concurrently may have caused a deadlock. This only happened if the scenes shared a single PxCpuDispatcher and the dispatcher was configured to use one worker thread only. Rigid Bodies Added: The projection direction for constraints can now be specified through the flags PxConstraintFlag::ePROJECT_TO_ACTOR0, ::ePROJECT_TO_ACTOR1. A parameter has been added to PxRigidBodyExt::updateMassAndInertia() and ::setMassAndUpdateInertia() to optionally take non-simulation shapes into account for computing the mass and the inertia tensor of a rigid body. It is now possible to retrieve additional information in contact reports. See the API documentation of PxContactPairHeader.extraDataStream, PxPairFlag::ePRE_SOLVER_VELOCITY, ::ePOST_SOLVER_VELOCITY, ::eCONTACT_EVENT_POSE for details. The contact report system has been extended to support multiple notification events if the same two objects collide multiple times in multipass CCD scenarios. See the API documentation of PxPairFlag::eNOTIFY_TOUCH_CCD for details. Changed: If touching objects were added to the scene asleep and one of them got woken up, then all contact pairs of the touching objects which contained a static rigid body were resolved with a delay of one simulation step. Now these pairs get resolved without delay in the next simulation step. If touching objects were added to the scene asleep, eNOTIFY_TOUCH_FOUND contact reports were sent out for pairs of dynamic rigid bodies if requested. These reports will not be sent at the end of the simulation step after insertion anymore but rather at the end of the simulation step after the touching objects have been woken up. Rigid bodies now permit zeroes in passed to setMass and setMassSpaceInertiaTensor. Zeroes are interpreted to indicate infinite mass or infinite moment of inertia around a given principal axis of inertia. Previously, zeroes were illegal values to these methods. Note that zeroes are still illegal for instances of PxArticulationLink. Fixed: Reading back the kinematic target in the PxSimulationEventCallback::onContact() callback through PxRigidDynamic::getKinematicTarget() will now work. Contact reports are no longer generated for contact pairs involving two sleeping kinematic actors or for pairs involving a sleeping kinematic actor in contact with a static actor. This fixes a bug that was introduced in 3.3.0. No PxPairFlag::eNOTIFY_TOUCH_LOST event was sent in contact reports if a pair of sleeping rigid bodies got woken up after setting the pose on one of them (with autowake parameter set to false) and if the bounding boxes of the two objects still overlapped. No PxPairFlag::eNOTIFY_TOUCH_PERSISTS event was sent in contact reports during the first simulation step after a pair of sleeping rigid bodies got woken up. The inertia tensor computation for convex meshes has been adjusted to be more stable in certain cases where floating point precision issues arise. Furthermore, a fallback routine has been added to use an approximation if the diagonalized inertia tensor still ends up with invalid entries. PxRigidBody::clearForce() and ::clearTorque() did not properly clear the respective properties if used with force mode PxForceMode::eIMPULES or PxForceMode::eVELOCITY_CHANGE. Setting PxSceneFlag::eENABLE_KINEMATIC_STATIC_PAIRS also enabled PxSceneFlag::eENABLE_KINEMATIC_PAIRS internally and vice versa. Missing validation checks for some joint set() methods have been added. Similarly to other API calls, when validation fails in the checked build PhysX will report an error and return without updating the joint. Switching a kinematic rigid body to dynamic could lead to a crash in a subsequent simulation step, if the kinematic was moved and connected to another kinematic through a breakable PxConstraint/PxJoint. Deleting a breakable PxConstraint/PxJoint while the simulation is running could lead to a crash if the PxConstraint/PxJoint broke in the same simulation step. A bug in the PxScene::addBroadPhaseRegion() function, that could lead to a crash when using 'populateRegion=true', has been fixed. Particles Added: Added triangle mesh cache statistics for GPU particles. Triangle mesh cache statistics are also captured by PVD as part of simulation statistics. Added new option to query approximate particle velocities relative to colliding rigid actors. This can be used for debris rotation on moving objects. Enable with PxParticleReadDataFlag::eCOLLISION_VELOCITY_BUFFER and read from PxParticleReadData::collisionVelocityBuffer. Fixed: Fixed a bug which might lead to GPU particle pipeline failures on low end GPUs. Enabled warning when a spatial data structure overflow occured for GPU particles (see the guide for more information). Cloth Fixed: PxFilterFlag::eSUPPRESS was ignored for collision pairs that involved a PxCloth object. This does work now, however, please note that PxFilterFlag::eSUPPRESS is treated as PxFilterFlag::eKILL for pairs with a PxCloth object. Serialization Added: Support for binary compatibility between different sdk releases and patches has been added (PX_BINARY_SERIAL_VERSION). The current sdk version can load binary data of the older sdk versions listed in the documentation of PX_BINARY_SERIAL_VERSION. SnippetLoadCollection has been added. It illustrates loading repx or binary serialized collections and instatiating the objects in a scene. It only compiles and runs on authoring platforms (windows, osx and linux). SnippetConvert has been added. It illustrates how to convert PhysX 3 serialized binary files from one platform to another. It only compiles and runs on authoring platforms (windows, osx and linux). Deprecated: Method PxCollection::addRequire is deprecated, use PxCollection::add and PxCollection::contains instead. Method PxCollection::createBinaryConverter(PxSerializationRegistry&) is deprecated, use PxCollection::createBinaryConverter() instead. Character controller Added: PxControllerManager::setPreventVerticalSlidingAgainstCeiling() has been added, to control the behaviour of characters against ceilings. Vehicles Added: Vehicles may now be updated concurrently through the addition of a new function PxVehiclePostUpdates and passing a PxVehicleConcurrentUpdateData array to PxVehicleupdates. A new snippet SnippetVehicleMultiThreading has been added to show the operation of concurrent vehicle updates. PxVehicleDriveTankControl and PxVehicleDriveTankControlModel now have improved doxy comments. A new function PxVehicleUpdateCMassLocalPose has been added to help update a vehicle after the center of mass pose of the vehicle's actor has been modified. PxWheelQueryResult now records the local pose of the wheel. Changed: PxVehcicleDrive4W::setup now tests that at least 4 wheels are specified and returns wtih an error message if numWheels < 4. It is only possible to create a PxVehicleDrive4W instance with less than 4 active wheels by disabling wheels after instantiating a 4-wheeled car. In debug and checked build configurations PxVehicleComputeSprungMasses now reports whether the sprung masses were successfully computed. Warnings are passed to the error stream in checked configuration if the function does not complete successfully. Apart from error checking the operation of the function is unchanged. Fixed: The doxy comment describing the default setting for PxVehicleWheelsSimData::setWheelShapeMapping was incorrect. This now correctly documents the default mapping as PxVehicleWheelsSimData::setWheelShapeMapping(i,i). Suspensions raycasts that start inside geometry are ignored for all geometry types. Prior to this release this was true for all geometry types except for heightfields and triangle meshes. This inconsistency has now been fixed so that all geometry types obey the rule that suspension raycasts starting inside geometry are neglected. Scene queries Added: Added eMTD flag. If an initial overlap is detected, this flag triggers the sweep to compute the MTD (Minimum Translation Direction), which can be used to de-penetrate the query shape from the shape with which an initial overlap was found. In this case, the distance reported will be negative. This negative distance can be used to scale the reported normal to generate the translation vector required to de-penetrate the query shape. Added PxTriangle::pointFromUV. Fixed: A rare ray-capsule intersection bug has been fixed, when the capsule's height is close to zero. A capsule-capsule distance bug has been fixed, when the tested capsules are large and parallel. Raycasts against heightfields now correctly return triangle UVs. Changed: PxBatchQuery::raycast, overlap and sweep previously had an incorrect const modifier indicating that these methods were safe to call from multiple threads simultaneously. This has been removed. Multiple batch queries can still be executed (via PxBatchQuery::execute()) in parallel. Cooking Added: PxCookingParams::meshSizePerformanceTradeOff parameter can be used to make the mesh smaller at the expense of reduced simulation and scene query performance (or the other way around). PxCookingParams::meshCookingHint parameter can be used to specify mesh hierarchy construction preference (cooking speed or simulation speed). PxMeshPreprocessingFlag::eDISABLE_CLEAN_MESH disables mesh clean proces. Vertices duplicities are not searched, huge triangles test is not done. Vertices welding is not done. Does speed up the cooking. PxMeshPreprocessingFlag::eDISABLE_ACTIVE_EDGES_PRECOMPUTE disables vertex edge precomputation. Makes cooking faster but slow up contact generation. PxPhysicsInsertionCallback adds the support for inserting cooked triangle mesh or height field directly into PxPhysics without the stream serialization. PxCooking::createTriangleMesh creates triangle mesh and inserts it to PxPhysics without using the stream serialization. PxCooking::createHeightField creates height field and inserts it to PxPhysics without using the stream serialization. PxCooking::validateTriangleMesh validates mesh in separate function before it can be cooked without the mesh cleaning. PxConvexFlag::eCHECK_ZERO_AREA_TRIANGLES checks and removes almost zero-area triangles during the computation of the convex hull. PxCookingParams::areaTestEpsilon triangle area size was added. This epsilon is used for the zero-area test in the computation of the convex hull. Changed: PxCooking::computeHullPolygons does now return also vertices used by the polygons. Redundant vertices are removed. PxCooking::cookConvexMesh now returns a PxConvexMeshCookingResult::Enum with additional error information. Aggregates Added: PxSceneLimits has a new member variable maxNbAggregates. Setting this value to a good approximation of the peak number of aggregates will avoid the need for internal run-time allocations that can occur when aggregates are added to the scene. Fixed: PxScene::removeActor will auotmatically remove that actor from all PxAggregate instances that contain the removed actor. Likewise, PxScene::removeArticulation will automatically remove all articulation links from all relevant aggregates. This fix upholds the rule that all actors of an aggregate must be in same scene. The condition of an internal assert that triggered after calling PxScene::addAggregate has been corrected. This assert triggered when an aggregate was added to the scene after removal of all aggregates from the scene. The operation of the function PxScene::addAggregate is unchanged apart from the asserted condtition. Samples Changed: Starting with Release 302 drivers, application developers can direct the Optimus driver at runtime to use the High Performance Graphics to render any application - even those applications for which there is no existing application profile. The samples now make use of this feature to enable High Performance Graphics by default. Всё хорошо, но не найдёшь эту СДК. Изменено 27 Сентября 2017 пользователем Дизель Поделиться этим сообщением Ссылка на сообщение
Expropriator 2 118 Опубликовано 27 Сентября 2017 Подключение PhysX Скрытый текст Getting PhysX In a web browser, go to NVidia's Gameworks developer page, here. If you do not already have an account, you will need to register with them and select to have access to the PhysX SDKs. If you do have an account, log in. Once logged in, go to the downloads link on the right-hand side of the navigation bar, this takes you to the downloads center. On the main downloads list, find the PhysX: Core PhysX SDK numbered 3.3.1 (At the time of writing, it is 3rd on the list). Note: If you went through the PhysX option on the navigation bar, or manually set the PhysX filter on the downloads list, it will not display 3.3.1. You will need to go to the filters on the left-hand side, under the Gameworks category, and disable the PhysX filter to see the 3.3.1 download. Download and install it to a location of your choice. Setting Up Your Project with PhysX: Open your project in your IDE. Navigate to the T3D/Physics directory and add a new folder for physx3 and add existing files. Add all the files found under Engine\Source\T3D\physics\physx3 Now you need to include the Physx SDK files Under the properties for the DLL project, under Linker -> Additional Library Directories add the lib\win32 directory for the PhysX 3.3.1 SDK. For example, C:\NVIDIA PhysX SDK\Lib\win32. Add the following directories In the same window under the C/C++ section, you should see Additional Include Directories, you need to add the Include directory for the PhysX 3.3.1 SDK. For example, C:\NVIDIA PhysX SDK\Include. Add the following directories: Include/ Include/cooking Include/characterkinematic Include/geometry Include/vehicle Include/foundation Include/extensions Include/common Include/cloth Next, you'll need to include the following library files to the project. In the same window, under the Linker -> Input section, you should see Additional Dependencies. You'll want to add the following lib files from the PhysX SDK: For Release: PhysX3_x86.lib PhysX3Common_x86.lib PhysX3Extensions.lib PhysX3Cooking_x86.lib PxTask.lib PhysX3CharacterKinematic_x86.lib PhysXVisualDebuggerSDK.lib PhysXProfileSDK.lib For Debug: PhysX3CHECKED_x86.lib PhysX3CommonCHECKED_x86.lib PhysX3ExtensionsCHECKED.lib PhysX3CookingCHECKED_x86.lib PxTaskCHECKED.lib PhysX3CharacterKinematicCHECKED_x86.lib PhysXVisualDebuggerSDKCHECKED.lib PhysXProfileSDKCHECKED.lib The final step to configure the project to compile is to add the correct debug preprocessor flag. In the properties window, under the C/C++ section will be Preprocessor. Select that and edit the Preprocessor Definitions. For a Release build, add NDEBUG For a Debug build add DEBUG The project should compile correctly now. Once compiled you will need to copy the following files into your exe's directory: For a Release build: PhysX3_x86.dll PhysX3CharacterKinematic_x86.dll PhysX3Common_x86.dll PhysX3Cooking_x86.dll And for Debug: PhysX3CHECKED_x86.dll nvToolsExt32_1.dll PhysX3CookingCHECKED_x86.dll PhysX3CommonCHECKED_x86.dll PhysX3CharacterKinematicCHECKED_x86.dll Once this is completed, you should be able to run your game with PhysX support for the physics simulation. Поделиться этим сообщением Ссылка на сообщение