--- sidebarDepth: 1 --- # 物理 # 索引 | 事件 |
| 描述 | | --- | --- | --- | | [PhysxTouchClientEvent](物理.md#physxtouchclientevent) | 客户端 | 给自定义刚体添加的碰撞体,与其他碰撞体或原版实体发生碰撞/结束碰撞时触发。需要在碰撞体创建时使用PxEventMask.Client才会触发 | | [PhysxTouchServerEvent](物理.md#physxtouchserverevent) | 服务端 | 给自定义刚体添加的碰撞体,与其他碰撞体或原版实体发生碰撞/结束碰撞时触发。需要在碰撞体创建时使用PxEventMask.Server才会触发 | # 物理 ## PhysxTouchClientEvent 客户端 - 描述 给自定义刚体添加的碰撞体,与其他碰撞体或原版实体发生碰撞/结束碰撞时触发。需要在碰撞体创建时使用PxEventMask.Client才会触发 - 参数 | 参数名 |
数据类型
| 说明 | | :--- | :--- | :--- | | touch | list(dict) | 开始接触的碰撞体对的信息。一个碰撞体在创建时使用了PxEventMask.Found,他与其他碰撞体/原版实体开始接触时,会出现在列表中 | | lost | list(dict) | 结束接触的碰撞体对的信息。一个碰撞体在创建时使用了PxEventMask.Lost,他与其他碰撞体/原版实体结束接触时,会出现在列表中 | - 返回值 无 - 备注 touch列表每个元素的内容: ```python { "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列表每个元素的内容: ```python { "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列表每个元素的内容: ```python { "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列表每个元素的内容: ```python { "entityId0": str, # 一个碰撞体所属实体的entityId "identifier0": str, # 一个碰撞体所属实体的identifier "shape0": str或None, # 一个碰撞体的userData "entityId1": str, # 另一个碰撞体所属实体的entityId "identifier1": str, # 另一个碰撞体所属实体的identifier "shape1": str或None # 另一个碰撞体的userData } ``` 列表中的碰撞对不分先后,每个碰撞对中的碰撞体0与碰撞体1也不分先后