补充3.7版本文档:物理系统API/事件/枚举值、游戏设置事件、物品ID变更、物理使用指南
Some checks failed
Deploy VitePress to AliYun OSS / build-and-deploy (push) Has been cancelled

This commit is contained in:
2026-03-02 00:17:03 +08:00
parent 073d730337
commit 1d963e8307
16 changed files with 30681 additions and 28994 deletions

View File

@@ -0,0 +1,118 @@
---
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也不分先后