当前位置: 首页>>代码示例>>C#>>正文


C# HkWorld.DisableCollisionsBetween方法代码示例

本文整理汇总了C#中HkWorld.DisableCollisionsBetween方法的典型用法代码示例。如果您正苦于以下问题:C# HkWorld.DisableCollisionsBetween方法的具体用法?C# HkWorld.DisableCollisionsBetween怎么用?C# HkWorld.DisableCollisionsBetween使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在HkWorld的用法示例。


在下文中一共展示了HkWorld.DisableCollisionsBetween方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: InitCollisionFilters

        static void InitCollisionFilters(HkWorld world)
        {
            // Floating objects intentionally collide with both DynamicDoubledCollisionLayer and KinematicDoubledCollisionLayer
            // DynamicDoubledCollisionLayer is necessary, because we won't deformations
            // KinematicDoubledCollisionLayer is necessary, because we don't want to push it when floating object is resting on it

            world.DisableCollisionsBetween(CollisionLayers.DynamicDoubledCollisionLayer, CollisionLayers.KinematicDoubledCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.DynamicDoubledCollisionLayer, CollisionLayers.CharacterCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.DynamicDoubledCollisionLayer, CollisionLayers.DebrisCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.DynamicDoubledCollisionLayer, CollisionLayers.LightFloatingObjectCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.DynamicDoubledCollisionLayer, CollisionLayers.CharacterNetworkCollisionLayer);

            world.DisableCollisionsBetween(CollisionLayers.NotCollideWithStaticLayer, CollisionLayers.StaticCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.NotCollideWithStaticLayer, CollisionLayers.VoxelCollisionLayer);

            world.DisableCollisionsBetween(CollisionLayers.KinematicDoubledCollisionLayer, CollisionLayers.DefaultCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.KinematicDoubledCollisionLayer, CollisionLayers.StaticCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.KinematicDoubledCollisionLayer, CollisionLayers.VoxelCollisionLayer);
            //world.DisableCollisionsBetween(KinematicDoubledCollisionLayer, AmmoLayer);

            world.DisableCollisionsBetween(CollisionLayers.GravityPhantomLayer, CollisionLayers.StaticCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.GravityPhantomLayer, CollisionLayers.VoxelCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.GravityPhantomLayer, CollisionLayers.DefaultCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.GravityPhantomLayer, CollisionLayers.DynamicDoubledCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.GravityPhantomLayer, CollisionLayers.KinematicDoubledCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.GravityPhantomLayer, CollisionLayers.CharacterCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.GravityPhantomLayer, CollisionLayers.CharacterNetworkCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.GravityPhantomLayer, CollisionLayers.ObjectDetectionCollisionLayer);
            //world.DisableCollisionsBetween(GravityPhantomLayer, AmmoLayer);

            world.DisableCollisionsBetween(CollisionLayers.VirtualMassLayer, CollisionLayers.StaticCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.VirtualMassLayer, CollisionLayers.VoxelCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.VirtualMassLayer, CollisionLayers.DefaultCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.VirtualMassLayer, CollisionLayers.CharacterCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.VirtualMassLayer, CollisionLayers.CharacterNetworkCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.VirtualMassLayer, CollisionLayers.DynamicDoubledCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.VirtualMassLayer, CollisionLayers.KinematicDoubledCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.VirtualMassLayer, CollisionLayers.DebrisCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.VirtualMassLayer, CollisionLayers.FloatingObjectCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.VirtualMassLayer, CollisionLayers.LightFloatingObjectCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.VirtualMassLayer, CollisionLayers.ObjectDetectionCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.VirtualMassLayer, CollisionLayers.VirtualMassLayer);
            //world.DisableCollisionsBetween(VirtualMassLayer, AmmoLayer);

            world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, CollisionLayers.StaticCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, CollisionLayers.VoxelCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, CollisionLayers.DefaultCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, CollisionLayers.CharacterCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, CollisionLayers.CharacterNetworkCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, CollisionLayers.DynamicDoubledCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, CollisionLayers.KinematicDoubledCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, CollisionLayers.DebrisCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, CollisionLayers.FloatingObjectCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, CollisionLayers.LightFloatingObjectCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, CollisionLayers.GravityPhantomLayer);
            world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, CollisionLayers.ObjectDetectionCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, CollisionLayers.VirtualMassLayer);
            world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, CollisionLayers.NoCollisionLayer);

            if (MyPerGameSettings.PhysicsNoCollisionLayerWithDefault)
                world.DisableCollisionsBetween(CollisionLayers.NoCollisionLayer, 0);
            //world.DisableCollisionsBetween(NoCollisionLayer, AmmoLayer);

            world.DisableCollisionsBetween(CollisionLayers.ObjectDetectionCollisionLayer, CollisionLayers.ObjectDetectionCollisionLayer);

            world.DisableCollisionsBetween(CollisionLayers.CollectorCollisionLayer, CollisionLayers.StaticCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.CollectorCollisionLayer, CollisionLayers.VoxelCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.CollectorCollisionLayer, CollisionLayers.DefaultCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.CollectorCollisionLayer, CollisionLayers.CharacterCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.CollectorCollisionLayer, CollisionLayers.CharacterNetworkCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.CollectorCollisionLayer, CollisionLayers.DynamicDoubledCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.CollectorCollisionLayer, CollisionLayers.KinematicDoubledCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.CollectorCollisionLayer, CollisionLayers.DebrisCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.CollectorCollisionLayer, CollisionLayers.GravityPhantomLayer);
            world.DisableCollisionsBetween(CollisionLayers.CollectorCollisionLayer, CollisionLayers.ObjectDetectionCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.CollectorCollisionLayer, CollisionLayers.VirtualMassLayer);
            //world.DisableCollisionsBetween(CollectorCollisionLayer, AmmoLayer);

            if (!Sandbox.Game.Multiplayer.Sync.IsServer)
            {
                world.DisableCollisionsBetween(CollisionLayers.DefaultCollisionLayer, CollisionLayers.CharacterNetworkCollisionLayer);
                world.DisableCollisionsBetween(CollisionLayers.StaticCollisionLayer, CollisionLayers.CharacterNetworkCollisionLayer);
                world.DisableCollisionsBetween(CollisionLayers.VoxelCollisionLayer, CollisionLayers.CharacterNetworkCollisionLayer);
            }

            if (!MyFakes.ENABLE_CHARACTER_AND_DEBRIS_COLLISIONS)
            {
                world.DisableCollisionsBetween(CollisionLayers.DebrisCollisionLayer, CollisionLayers.CharacterCollisionLayer);
                world.DisableCollisionsBetween(CollisionLayers.DebrisCollisionLayer, CollisionLayers.CharacterNetworkCollisionLayer);
            }

            //Disable collisions with anything but ships and stations
            world.DisableCollisionsBetween(CollisionLayers.ExplosionRaycastLayer, CollisionLayers.VoxelCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.ExplosionRaycastLayer, CollisionLayers.CharacterCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.ExplosionRaycastLayer, CollisionLayers.NoCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.ExplosionRaycastLayer, CollisionLayers.DebrisCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.ExplosionRaycastLayer, CollisionLayers.GravityPhantomLayer);
            world.DisableCollisionsBetween(CollisionLayers.ExplosionRaycastLayer, CollisionLayers.CharacterNetworkCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.ExplosionRaycastLayer, CollisionLayers.FloatingObjectCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayers.ExplosionRaycastLayer, CollisionLayers.LightFloatingObjectCollisionLayer);
//.........这里部分代码省略.........
开发者ID:stanhebben,项目名称:SpaceEngineers,代码行数:101,代码来源:MyPhysics.cs

示例2: InitCollisionFilters

        static void InitCollisionFilters(HkWorld world)
        {
            // Floating objects intentionally collide with both DynamicDoubledCollisionLayer and KinematicDoubledCollisionLayer
            // DynamicDoubledCollisionLayer is necessary, because we won't deformations
            // KinematicDoubledCollisionLayer is necessary, because we don't want to push it when floating object is resting on it

            world.DisableCollisionsBetween(DynamicDoubledCollisionLayer, KinematicDoubledCollisionLayer);
            world.DisableCollisionsBetween(DynamicDoubledCollisionLayer, CharacterCollisionLayer);
            world.DisableCollisionsBetween(DynamicDoubledCollisionLayer, DebrisCollisionLayer);
            world.DisableCollisionsBetween(DynamicDoubledCollisionLayer, CharacterNetworkCollisionLayer);

            world.DisableCollisionsBetween(KinematicDoubledCollisionLayer, DefaultCollisionLayer);
            world.DisableCollisionsBetween(KinematicDoubledCollisionLayer, StaticCollisionLayer);
            //world.DisableCollisionsBetween(KinematicDoubledCollisionLayer, AmmoLayer);

            world.DisableCollisionsBetween(GravityPhantomLayer, StaticCollisionLayer);
            world.DisableCollisionsBetween(GravityPhantomLayer, DefaultCollisionLayer);
            world.DisableCollisionsBetween(GravityPhantomLayer, DynamicDoubledCollisionLayer);
            world.DisableCollisionsBetween(GravityPhantomLayer, KinematicDoubledCollisionLayer);
            world.DisableCollisionsBetween(GravityPhantomLayer, CharacterCollisionLayer);
            world.DisableCollisionsBetween(GravityPhantomLayer, CharacterNetworkCollisionLayer);
            world.DisableCollisionsBetween(GravityPhantomLayer, ObjectDetectionCollisionLayer);
            //world.DisableCollisionsBetween(GravityPhantomLayer, AmmoLayer);

            world.DisableCollisionsBetween(VirtualMassLayer, StaticCollisionLayer);
            world.DisableCollisionsBetween(VirtualMassLayer, DefaultCollisionLayer);
            world.DisableCollisionsBetween(VirtualMassLayer, CharacterCollisionLayer);
            world.DisableCollisionsBetween(VirtualMassLayer, CharacterNetworkCollisionLayer);
            world.DisableCollisionsBetween(VirtualMassLayer, DynamicDoubledCollisionLayer);
            world.DisableCollisionsBetween(VirtualMassLayer, KinematicDoubledCollisionLayer);
            world.DisableCollisionsBetween(VirtualMassLayer, DebrisCollisionLayer);
            world.DisableCollisionsBetween(VirtualMassLayer, FloatingObjectCollisionLayer);
            world.DisableCollisionsBetween(VirtualMassLayer, ObjectDetectionCollisionLayer);
            world.DisableCollisionsBetween(VirtualMassLayer, VirtualMassLayer);
            //world.DisableCollisionsBetween(VirtualMassLayer, AmmoLayer);

            world.DisableCollisionsBetween(NoCollisionLayer, StaticCollisionLayer);
            world.DisableCollisionsBetween(NoCollisionLayer, DefaultCollisionLayer);
            world.DisableCollisionsBetween(NoCollisionLayer, CharacterCollisionLayer);
            world.DisableCollisionsBetween(NoCollisionLayer, CharacterNetworkCollisionLayer);
            world.DisableCollisionsBetween(NoCollisionLayer, DynamicDoubledCollisionLayer);
            world.DisableCollisionsBetween(NoCollisionLayer, KinematicDoubledCollisionLayer);
            world.DisableCollisionsBetween(NoCollisionLayer, DebrisCollisionLayer);
            world.DisableCollisionsBetween(NoCollisionLayer, FloatingObjectCollisionLayer);
            world.DisableCollisionsBetween(NoCollisionLayer, GravityPhantomLayer);
            world.DisableCollisionsBetween(NoCollisionLayer, ObjectDetectionCollisionLayer);
            world.DisableCollisionsBetween(NoCollisionLayer, VirtualMassLayer);

            if (MyPerGameSettings.PhysicsNoCollisionLayerWithDefault)
                world.DisableCollisionsBetween(NoCollisionLayer, 0);
            //world.DisableCollisionsBetween(NoCollisionLayer, AmmoLayer);

            world.DisableCollisionsBetween(ObjectDetectionCollisionLayer, ObjectDetectionCollisionLayer);

            world.DisableCollisionsBetween(CollectorCollisionLayer, StaticCollisionLayer);
            world.DisableCollisionsBetween(CollectorCollisionLayer, DefaultCollisionLayer);
            world.DisableCollisionsBetween(CollectorCollisionLayer, CharacterCollisionLayer);
            world.DisableCollisionsBetween(CollectorCollisionLayer, CharacterNetworkCollisionLayer);
            world.DisableCollisionsBetween(CollectorCollisionLayer, DynamicDoubledCollisionLayer);
            world.DisableCollisionsBetween(CollectorCollisionLayer, KinematicDoubledCollisionLayer);
            world.DisableCollisionsBetween(CollectorCollisionLayer, DebrisCollisionLayer);
            world.DisableCollisionsBetween(CollectorCollisionLayer, GravityPhantomLayer);
            world.DisableCollisionsBetween(CollectorCollisionLayer, ObjectDetectionCollisionLayer);
            world.DisableCollisionsBetween(CollectorCollisionLayer, VirtualMassLayer);
            //world.DisableCollisionsBetween(CollectorCollisionLayer, AmmoLayer);

            if (!Sandbox.Game.Multiplayer.Sync.IsServer)
            {
                world.DisableCollisionsBetween(DefaultCollisionLayer, CharacterNetworkCollisionLayer);
                world.DisableCollisionsBetween(StaticCollisionLayer, CharacterNetworkCollisionLayer);
            }

            if (!MyFakes.ENABLE_CHARACTER_AND_DEBRIS_COLLISIONS)
            {
                world.DisableCollisionsBetween(DebrisCollisionLayer, CharacterCollisionLayer);
                world.DisableCollisionsBetween(DebrisCollisionLayer, CharacterNetworkCollisionLayer);
            }

            //Disable collisions with anything but ships, stations and voxels
            world.DisableCollisionsBetween(ExplosionRaycastLayer, CharacterCollisionLayer);
            world.DisableCollisionsBetween(ExplosionRaycastLayer, NoCollisionLayer);
            world.DisableCollisionsBetween(ExplosionRaycastLayer, DebrisCollisionLayer);
            world.DisableCollisionsBetween(ExplosionRaycastLayer, GravityPhantomLayer);
            world.DisableCollisionsBetween(ExplosionRaycastLayer, CharacterNetworkCollisionLayer);
            world.DisableCollisionsBetween(ExplosionRaycastLayer, FloatingObjectCollisionLayer);
            world.DisableCollisionsBetween(ExplosionRaycastLayer, ObjectDetectionCollisionLayer);
            world.DisableCollisionsBetween(ExplosionRaycastLayer, VirtualMassLayer);
            world.DisableCollisionsBetween(ExplosionRaycastLayer, CollectorCollisionLayer);
            world.DisableCollisionsBetween(ExplosionRaycastLayer, AmmoLayer);

            world.DisableCollisionsBetween(CollisionLayerWithoutCharacter, CharacterCollisionLayer);
            world.DisableCollisionsBetween(CollisionLayerWithoutCharacter, NoCollisionLayer);

            world.DisableCollisionsBetween(CollideWithStaticLayer, CollideWithStaticLayer);
            world.DisableCollisionsBetween(CollideWithStaticLayer, DynamicDoubledCollisionLayer);
            world.DisableCollisionsBetween(CollideWithStaticLayer, DefaultCollisionLayer);
            world.DisableCollisionsBetween(CollideWithStaticLayer, CharacterCollisionLayer);
            world.DisableCollisionsBetween(CollideWithStaticLayer, NoCollisionLayer);
            world.DisableCollisionsBetween(CollideWithStaticLayer, DebrisCollisionLayer);
            world.DisableCollisionsBetween(CollideWithStaticLayer, GravityPhantomLayer);
//.........这里部分代码省略.........
开发者ID:leandro1129,项目名称:SpaceEngineers,代码行数:101,代码来源:MyPhysics.cs


注:本文中的HkWorld.DisableCollisionsBetween方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。