示例#1
0
        void IConvertGameObjectToEntity.Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
        {
            var componentData = new PhysicsDebugDisplayData
            {
                DrawColliders       = DrawColliders ? 1 : 0,
                DrawMeshEdges       = DrawMeshEdges ? 1 : 0,
                DrawColliderAabbs   = DrawColliderAabbs ? 1 : 0,
                DrawBroadphase      = DrawBroadphase ? 1 : 0,
                DrawMassProperties  = DrawMassProperties ? 1 : 0,
                DrawContacts        = DrawContacts ? 1 : 0,
                DrawCollisionEvents = DrawCollisionEvents ? 1 : 0,
                DrawTriggerEvents   = DrawTriggerEvents ? 1 : 0,
                DrawJoints          = DrawJoints ? 1 : 0
            };

            dstManager.AddComponentData <PhysicsDebugDisplayData>(entity, componentData);

            convertedEntity = entity;
        }
示例#2
0
    public static void SetupPool()
    {
        {
            Pool mMeshGOPool;
            var  mIFCObjectParent = new GameObject("IFCVoxelRepresentations");
            Globals.Instance.data.MeshParent = mIFCObjectParent;
            var tmp = new GameObject("VoxelRep");
            tmp.transform.parent = mIFCObjectParent.transform;
            var filter = tmp.AddComponent <MeshFilter>();
            filter.mesh.MarkDynamic();
            var renderer = tmp.AddComponent <MeshRenderer>();
            renderer.material          = Globals.Instance.data.OpaqueMaterial;
            renderer.shadowCastingMode = UnityEngine.Rendering.ShadowCastingMode.Off;
            renderer.receiveShadows    = false;
            mMeshGOPool = new Pool(tmp, 4096);
            GameObject.Destroy(tmp);

            var parent = new GameObject("StaticGFXParent");
            Globals.Instance.data.StaticParent = parent;

            World.Active.GetOrCreateSystem <VoxelRemovalSystem>().MeshGoPool = mMeshGOPool;
            World.Active.GetOrCreateSystem <MeshStreamerSystem>().MeshGoPool = mMeshGOPool;
        }

        Debug.Log($"Refresh Rate: {UnityEngine.XR.XRDevice.refreshRate}");

        var debugDisplayData   = World.Active.EntityManager.CreateEntity(ComponentType.ReadOnly <Unity.Physics.Authoring.PhysicsDebugDisplayData>());
        var debugDisplayConfig = new Unity.Physics.Authoring.PhysicsDebugDisplayData
        {
            DrawColliders       = 1, //1,
            DrawBroadphase      = 0,
            DrawColliderAabbs   = 0,
            DrawColliderEdges   = 1,
            DrawCollisionEvents = 0,
            DrawContacts        = 0,
            DrawJoints          = 0,
            DrawMassProperties  = 0,
            DrawTriggerEvents   = 0,
        };
        //World.Active.GetOrCreateSystem<Unity.Physics.Authoring.DisplayBodyColliders>().SetSingleton(debugDisplayConfig);
    }
示例#3
0
    //
    // Helper methods
    //

    protected void SetDebugDisplay(Unity.Physics.Authoring.PhysicsDebugDisplayData debugDisplay)
    {
        EntityManager.SetComponentData <Unity.Physics.Authoring.PhysicsDebugDisplayData>(stepper, debugDisplay);
    }