2: 2009-08-31 (月) 18:30:41 iseki |
現: 2009-09-06 (日) 11:59:43 iseki |
- | *** ODE の GetTerrainHeightAtXY() [#h7d992a1] | + | *** GetTerrainHeightAtXY() [#h7d992a1] |
| - OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | | - OpenSim/Region/Physics/OdePlugin/OdePlugin.cs |
- | - TerrainHeightFieldHeights[][] の値がおかしいため飛行中から ↓ (HOVAR_DOWN) で,地表に降りれない場所がある. | + | - %%Subversion r197 より発生.%% r228 で正常に戻る? |
| + | - %%TerrainHeightFieldHeights[][] の値がおかしいため飛行中から ↓ (HOVAR_DOWN) で,地表に降りれない場所がある.%% |
| - _origheightmap[] は使用中止になった. | | - _origheightmap[] は使用中止になった. |
- | - とりあえず,前のリビジョンまで使用していた ''_origheightmap[]'' を復活させて使用. | + | - %%とりあえず,前のリビジョンまで使用していた ''_origheightmap[]'' を復活させて使用.%% |
| //if (index < TerrainHeightFieldHeights[heightFieldGeom].Length) { | | //if (index < TerrainHeightFieldHeights[heightFieldGeom].Length) { |
| // return (float)TerrainHeightFieldHeights[heightFieldGeom][(int)y * (int)Constants.RegionSize + (int)x]; | | // return (float)TerrainHeightFieldHeights[heightFieldGeom][(int)y * (int)Constants.RegionSize + (int)x]; |
| else | | else |
| return 0f; | | return 0f; |
| + | |
| + | *** SetTerrain() [#p75baaef] |
| + | - OpenSim/Region/Physics/OdePlugin/OdePlugin.cs |
| + | - SetTerrain() の d.GeomSetPosition() の引数変更により SIM Baundary での奈落落下阻止のパッチコードが誤作動 |
| + | - d.GeomSetPosition() の引数を元に戻す. |
| + | d.RFromAxisAndAngle(out R, v3.X, v3.Y, v3.Z, angle); |
| + | d.GeomSetRotation(GroundGeom, ref R); |
| + | // Fumi.Iseki for SIM Boundary Falling |
| + | //d.GeomSetPosition(GroundGeom, (pOffset.X + ((int)Constants.RegionSize * 0.5f)) - 1, (pOffset.Y + ((int)Constants.RegionSize * 0.5f)) - 1, 0); |
| + | d.GeomSetPosition(GroundGeom, pOffset.X + ((int)Constants.RegionSize * 0.5f), pOffset.Y + ((int)Constants.RegionSize * 0.5f), 0); |
| + | IntPtr testGround = IntPtr.Zero; |