Some checks failed
Deploy VitePress to AliYun OSS / build-and-deploy (push) Has been cancelled
119 lines
5.1 KiB
Markdown
119 lines
5.1 KiB
Markdown
---
|
||
sidebarDepth: 1
|
||
---
|
||
# 物理
|
||
|
||
# 索引
|
||
|
||
| 事件 | <div style="width: 3em"></div> | 描述 |
|
||
| --- | --- | --- |
|
||
| [PhysxTouchClientEvent](物理.md#physxtouchclientevent) | <span style="display:inline;color:#7575f9">客户端</span> | 给自定义刚体添加的碰撞体,与其他碰撞体或原版实体发生碰撞/结束碰撞时触发。需要在碰撞体创建时使用PxEventMask.Client才会触发 |
|
||
| [PhysxTouchServerEvent](物理.md#physxtouchserverevent) | <span style="display:inline;color:#ff5555">服务端</span> | 给自定义刚体添加的碰撞体,与其他碰撞体或原版实体发生碰撞/结束碰撞时触发。需要在碰撞体创建时使用PxEventMask.Server才会触发 |
|
||
# 物理
|
||
|
||
## PhysxTouchClientEvent
|
||
|
||
<span style="display:inline;color:#7575f9">客户端</span>
|
||
|
||
- 描述
|
||
|
||
给自定义刚体添加的碰撞体,与其他碰撞体或原版实体发生碰撞/结束碰撞时触发。需要在碰撞体创建时使用PxEventMask.Client才会触发
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| 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
|
||
|
||
<span style="display:inline;color:#ff5555">服务端</span>
|
||
|
||
- 描述
|
||
|
||
给自定义刚体添加的碰撞体,与其他碰撞体或原版实体发生碰撞/结束碰撞时触发。需要在碰撞体创建时使用PxEventMask.Server才会触发
|
||
|
||
- 参数
|
||
|
||
| 参数名 | <div style="width: 4em">数据类型</div> | 说明 |
|
||
| :--- | :--- | :--- |
|
||
| 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也不分先后
|
||
|
||
|