5

回転ジョイントを使用して動的な b2bodied を接続するロープを実装しました。このロープの作成に成功しましたが、ロープが滑らかに見えません。リボンのように滑らかにしたいのです。これについて考えている人は誰でも!! アンチエイリアシングを使用してopenGLESで実現できることがわかりましたが、これを実現する方法が正確にわからない..どんな種類の助けもいただければ幸いです。

私のロープは多角形の動的ボディです。このように b2BodyDef bodyDef; bodyDef.type = b2_dynamicBody; bodyDef.position = currentPos;

b2PolygonShape polygonShape;
polygonShape.SetAsBox(linkWidth,linkHeight);

b2FixtureDef fixtureDef;
fixtureDef.density =20.0;

fixtureDef.shape = &polygonShape;

b2Body* link = world->CreateBody( &bodyDef );
link->CreateFixture( &fixtureDef );

回転ジョイント :

b2RevoluteJointDef revoluteJointDef;
revoluteJointDef.localAnchorA.Set( 0,  linkHeight);
revoluteJointDef.localAnchorB.Set( 0, -linkHeight);            
revoluteJointDef.bodyA = link;
revoluteJointDef.bodyB = lastLink;
world->CreateJoint( &revoluteJointDef );

助けてください 。

私はちょうど右の画像のように私のロープをより滑らかにしたい

図1 図 2

私の出力は次のようになります ここに画像の説明を入力

4

1 に答える 1

4

テクスチャのエッジを取り除きたい場合は、マルチサンプリングを有効にする必要があります。マルチサンプリングは画面全体で動作し、これを有効にするとパフォーマンスが低下します。古いデバイス (iPhone 3GS) では特に深刻です。

AppDelegate で CCGLView がインスタンス化されている行を見つけて、マルチ サンプリングを有効にし、サンプル数を 2 または 4 に設定します。

CCGLView *glView = [CCGLView viewWithFrame:[window bounds]
pixelFormat:kEAGLColorFormatRGBA8    // <-- use whichever is your default
depthFormat:GL_DEPTH_COMPONENT24_OES // <-- use whichever is your default
preserveBackbuffer:NO
sharegroup:nil
multiSampling:YES    // <-- enable
numberOfSamples:4];  // <-- set to 2 or 4

注意すべき点は、Retina デバイスではディスプレイの解像度が高いため、ギザギザのエッジが見えないことです。2D アプリでの Retina デバイスでのマルチサンプリングは、パフォーマンスを浪費する可能性が高く、画質はほとんど向上しません。Retina デバイスのみをサポートすることを検討するか、Retina 以外のデバイスに問題が存在することを単純に無視するという別の選択肢があります。

ところで、CCTexture2D のエイリアシングおよびアンチエイリアシング メソッドは紛らわしい名前が付けられており、フルスクリーンまたはテクスチャ エッジのエイリアシングまたはアンチエイリアシングを実行しません。これらはテクスチャのフィルタリング モードをリニア (「アンチエイリアス」、ぼかし) とニアレスト (「エイリアス」、フィルタリングなし) の間で変更します。

その効果は、テクスチャ内のピクセルが線形フィルタリングされるため、個々のピクセルの色が徐々に変化することです。一方、ニアレスト フィルタリングはそのようなフィルタリングを実行しません。Nearest フィルタリングは、ピクセル アートとタイルマップ タイルセット テクスチャに最も一般的に必要です。どちらも、テクスチャのピクセルのフィルタリング モードのみを変更し、エッジは変更しません。そのためには、マルチサンプリングが必要です。

于 2013-07-11T11:33:22.210 に答える