---
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也不分先后