PND3D uses a standard 8-way octree. Each non-leaf node is a 64-bit ( 8 Byte ) structure containing:
- char( 1 Byte ) chi: child byte mask: 1=has children - must recurse, 0=pure air or pure solid - don’t recurse), and a solid byte
- char sol (1 Byte ): solid byte mask: 1=pure solid inside, 0=not pure solid inside
- char mrk (1 Byte), mrk2 ( 1 Byte ): dummy bytes for structure alignment
- int ind (4 Byte ): an index pointer to the first child node. There can be anywhere from 0 to 8 children depending on the child mask.
需要学习的功能:
- H键将相关联的物体删除
- (Shift) Alt C: add/remove random drawcone
- Physics: ———————————————————————
Ctrl C: toggle collision Ctrl H: toggle hover checking (removes hovers at activation) Ctrl G: toggle gravity Alt H: generate sprite at cursor if hovering //可以将物体减去,同时又重力和碰撞的效果!!! Alt S: swap solid&air (affects future physics ops)
ctrl: 0x0c0000
shift: 0x030000
alt: 0x300000
世界坐标系方向
屏幕从上往下为+Y
屏幕从左往右为+X
屏幕垂直朝里为+Z
体素坐标系方向
屏幕从上往下为+Y
1 | oct_mod(spr[curspr].oct,(brush_t *)&box,3); //3 add 2 remove |