Files
netease-modsdk-wiki/docs/mcdocs/1-ModAPI/事件/物理.md
小坤 1d963e8307
Some checks failed
Deploy VitePress to AliYun OSS / build-and-deploy (push) Has been cancelled
补充3.7版本文档:物理系统API/事件/枚举值、游戏设置事件、物品ID变更、物理使用指南
2026-03-02 00:17:03 +08:00

5.1 KiB
Raw Blame History

sidebarDepth
sidebarDepth
1

物理

索引

事件
描述
PhysxTouchClientEvent 客户端 给自定义刚体添加的碰撞体,与其他碰撞体或原版实体发生碰撞/结束碰撞时触发。需要在碰撞体创建时使用PxEventMask.Client才会触发
PhysxTouchServerEvent 服务端 给自定义刚体添加的碰撞体,与其他碰撞体或原版实体发生碰撞/结束碰撞时触发。需要在碰撞体创建时使用PxEventMask.Server才会触发

物理

PhysxTouchClientEvent

客户端

  • 描述

    给自定义刚体添加的碰撞体,与其他碰撞体或原版实体发生碰撞/结束碰撞时触发。需要在碰撞体创建时使用PxEventMask.Client才会触发

  • 参数

    参数名
    数据类型
    说明
    touch list(dict) 开始接触的碰撞体对的信息。一个碰撞体在创建时使用了PxEventMask.Found他与其他碰撞体/原版实体开始接触时,会出现在列表中
    lost list(dict) 结束接触的碰撞体对的信息。一个碰撞体在创建时使用了PxEventMask.Lost他与其他碰撞体/原版实体结束接触时,会出现在列表中
  • 返回值

  • 备注

    touch列表每个元素的内容

    {
        "entityId0": str,    # 一个碰撞体所属实体的entityId
        "identifier0": str,  # 一个碰撞体所属实体的identifier
        "shape0": str或None, # 一个碰撞体的userData
        "entityId1": str,    # 另一个碰撞体所属实体的entityId
        "identifier1": str,  # 另一个碰撞体所属实体的identifier
        "shape1": str或None,  # 另一个碰撞体的userData
        "pos": (float,float,float),  # 碰撞点的世界坐标。其中一个碰撞体在创建时使用了PxEventMask.Found_Detail才有该字段
        "normal":(float,float,float)  # 碰撞产生的力的方向由碰撞体1指向碰撞体0。其中一个碰撞体在创建时使用了PxEventMask.Found_Detail才有该字段
    }
    

    lost列表每个元素的内容

    {
        "entityId0": str,     # 一个碰撞体所属实体的entityId
        "identifier0": str,   # 一个碰撞体所属实体的identifier
        "shape0": str或None,  # 一个碰撞体的userData
        "entityId1": str,     # 另一个碰撞体所属实体的entityId
        "identifier1": str,   # 另一个碰撞体所属实体的identifier
        "shape1": str或None   # 另一个碰撞体的userData
    }
    

    列表中的碰撞对不分先后每个碰撞对中的碰撞体0与碰撞体1也不分先后

PhysxTouchServerEvent

服务端

  • 描述

    给自定义刚体添加的碰撞体,与其他碰撞体或原版实体发生碰撞/结束碰撞时触发。需要在碰撞体创建时使用PxEventMask.Server才会触发

  • 参数

    参数名
    数据类型
    说明
    touch list(dict) 开始接触的碰撞体对的信息。一个碰撞体在创建时使用了PxEventMask.Found他与其他碰撞体/原版实体开始接触时,会出现在列表中
    lost list(dict) 结束接触的碰撞体对的信息。一个碰撞体在创建时使用了PxEventMask.Lost他与其他碰撞体/原版实体结束接触时,会出现在列表中
  • 返回值

  • 备注

    touch列表每个元素的内容

    {
        "entityId0": str,    # 一个碰撞体所属实体的entityId
        "identifier0": str,  # 一个碰撞体所属实体的identifier
        "shape0": str或None, # 一个碰撞体的userData
        "entityId1": str,    # 另一个碰撞体所属实体的entityId
        "identifier1": str,  # 另一个碰撞体所属实体的identifier
        "shape1": str或None,  # 另一个碰撞体的userData
        "pos": (float,float,float),  # 碰撞点的世界坐标。其中一个碰撞体在创建时使用了PxEventMask.Found_Detail才有该字段
        "normal":(float,float,float)  # 碰撞产生的力的方向由碰撞体1指向碰撞体0。其中一个碰撞体在创建时使用了PxEventMask.Found_Detail才有该字段
    }
    

    lost列表每个元素的内容

    {
        "entityId0": str,     # 一个碰撞体所属实体的entityId
        "identifier0": str,   # 一个碰撞体所属实体的identifier
        "shape0": str或None,  # 一个碰撞体的userData
        "entityId1": str,     # 另一个碰撞体所属实体的entityId
        "identifier1": str,   # 另一个碰撞体所属实体的identifier
        "shape1": str或None   # 另一个碰撞体的userData
    }
    

    列表中的碰撞对不分先后每个碰撞对中的碰撞体0与碰撞体1也不分先后