flagflag  If you want to see English page, please click "English" Button at Left.
3: 2009-08-24 (月) 16:16:06 iseki ソース 現: 2009-08-31 (月) 18:31:57 iseki ソース
Line 1: Line 1:
** SIM Boundary [#obc15ec7] ** SIM Boundary [#obc15ec7]
-- OpenSim/Region/Physics/OdePlugin/OdePlug​in.cs Simulate() 関数の actor.UpdatePositionAndVelocity() のところを修正.+- OpenSim/Region/Physics/OdePlugin/OdePlug​in.cs 
 +- Simulate() 関数内の actor.UpdatePositionAndVelocity() へチェックコードを追加.
 if (actor != null) {  if (actor != null) {
   actor.UpdatePositionAndVelocity();    actor.UpdatePositionAndVelocity();
 + 
   // by Fumi.Iseki  for falling at SIM boundary    // by Fumi.Iseki  for falling at SIM boundary
   d.Vector3 vec = d.BodyGetPosition(actor.Body);    d.Vector3 vec = d.BodyGetPosition(actor.Body);
 + 
   if (vec.Y<=0.0f || vec.Y>=255.95f || vec.X<=0.0f || vec.X>=255.95f) {    if (vec.Y<=0.0f || vec.Y>=255.95f || vec.X<=0.0f || vec.X>=255.95f) {
       if      (vec.Y<=0.0f)  vec.Y = 0.1f;        if      (vec.Y<=0.0f)  vec.Y = 0.1f;
Line 13: Line 14:
       if      (vec.X<=0.0f)  vec.X = 0.1f;        if      (vec.X<=0.0f)  vec.X = 0.1f;
       else if (vec.X>255.95f) vec.X = 255.95f;        else if (vec.X>255.95f) vec.X = 255.95f;
- +  
-       float height = _origheightmap[(int)vec.Y * Constants.RegionSize + (int)vec.X];+       float height = GetTerrainHeightAtXY(Vec.X, Vec.Y);
       if (actor.Flying) {        if (actor.Flying) {
           if (vec.Z  <  height + 2) {            if (vec.Z  <  height + 2) {
Line 30: Line 31:
           }            }
       }        }
 + 
       actor.Position = new PhysicsVector(vec.X, vec.Y, vec.Z);        actor.Position = new PhysicsVector(vec.X, vec.Y, vec.Z);
       d.BodySetPosition(actor.Body, vec.X, vec.Y, vec.Z);        d.BodySetPosition(actor.Body, vec.X, vec.Y, vec.Z);
   }    }
 }  }


トップ   新規 ページ一覧 単語検索 最終更新   ヘルプ   最終更新のRSS 1.0 最終更新のRSS 2.0 最終更新のRSS Atom

サイト内 検索

ログイン

ユーザー名:

パスワード:


パスワード紛失
新規登録

サブ メニュー

ミニカレンダー

前月2024年 5月翌月
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
<今日>

オンライン状況

83 人のユーザが現在オンラインです。 (34 人のユーザが xpwiki を参照しています。)

登録ユーザ: 0
ゲスト: 83

もっと...

アクセスカウンタ

今日 : 8090809080908090
昨日 : 1185711857118571185711857
総計 : 2361981723619817236198172361981723619817236198172361981723619817
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com