[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Java3Djp:00283] RE :左右の壁への衝突



こんにちは。お返事有難うございます。

なぜか左右の壁はうまく処理がなされないことについて、やはり自作プログラムに問題があるようです。

このプログラムのベースは先輩が作っているので、うまく説明ができないかもしれませんが…。

壁となる陸地は、まずLandクラスにて大きな一枚の陸を定義してあります。
それをメインプログラムで、形状を変えて真ん中に川が流れているようにしてあるのだと思います。
正面、後ろ、右、左の各陸地は、下の様にメインプログラムで定義されています。(例として左側の壁の定義部分です)

//left land 左にある土地の作成
Point3d[] _left_land_vertices = new Point3d[4];
    _left_land_vertices[0] = new Point3d(-20.0, 0.6, 
20.0); 
    _left_land_vertices[1] = new Point3d( -12.0, 0.6, 
20.0); 
    _left_land_vertices[2] = new Point3d( -12.0, 0.6,
-20.0); 
    _left_land_vertices[3] = new Point3d(-20.0, 0.6,
-20.0); 



TexCoord2f[] _left_land_txcoords = new TexCoord2f[4];
    _left_land_txcoords[0] = new TexCoord2f(0.0f,
0.0f); 
    _left_land_txcoords[1] = new TexCoord2f(1.0f,
0.0f); 
    _left_land_txcoords[2] = new TexCoord2f(1.0f,
1.0f); 
    _left_land_txcoords[3] = new TexCoord2f(0.0f,
1.0f); 

QuadArray _left_land_geom =
       new QuadArray( _left_land_vertices.length,
             QuadArray.COORDINATES |
		     QuadArray.NORMALS |
		    QuadArray.TEXTURE_COORDINATE_2);
_left_land_geom.setCoordinates(0, _left_land_vertices);
_left_land_geom.setNormals(0, normals);
_left_land_geom.setTextureCoordinate(0,0,_left_land_txcoords);

Appearance _left_land_ap =
createAppearance(GROUND_TEXTURE);

Shape3D _left_land_grid = new Shape3D(_left_land_geom,
_left_land_ap);
	
_left_land_grid.setPickable(false);
_left_land_grid.setCapability(Shape3D.ALLOW_BOUNDS_READ);
_left_land_grid.setUserData(trans);
	
trans.addChild(_left_land_grid);

壁のT3Dは全て同じです。
このことが、左右の壁の処理がうまくいかない原因だと思ったのですが…。

本来なら、この陸の部分を定義しなおすのが一番よいのだと思われますが…。
他の手段で、それぞれの壁を特定してやることは不可能でしょうか?


何度も申し訳ありません。どうぞよろしくお願いします。

**********************************************************
★CD、DVD買うなら安心・お得な【J-WAVE CD ONLINE】で!
全品8%~15%ポイント還元! http://www.j-wave.co.jp/cd/
★特典満載【J-WAVE PASS】申込みはhttp://www.j-wave.co.jp/pass/
**********************************************************