1

私が達成したいのは、3D 回転可能な立方体を備えた iPad アプリケーションであり、立方体の両側で、一度クリックすると別のビューに移動したり、ポップアップを表示したりする複数の領域を定義したいと考えています。

  1. これは、Xcode で OpenGL ES を最初から使用することで達成できますか、それとも 3D フレームワークを使用する必要がありますか?もしそうなら、最も簡単なフレームワークは何でしょうか? (私はUnityについて聞いたことがありますが、かなり高価です)

  2. これを行う方法を学ぶための良いチュートリアルを持っている人はいますか?

すでに 3D CSS3 Transformation を試しましたが、最後の手段として保持したいと思います。

4

3 に答える 3

3

このコードを試してください

CATransition *transition = [CATransition animation];
transition.delegate = self;
transition.duration = 0.8;
transition.timingFunction = [CAMediaTimingFunction     functionWithName:kCAMediaTimingFunctionEaseInEaseOut];
NSString *types[4] = {@"cube", @"rippleEffect", @"cube", @"alignedCube"};
NSString *subtypes[4] = {kCATransitionFromTop, kCATransitionFromLeft, kCATransitionFromRight, kCATransitionFromBottom};
transition.type = types[0];
transition.subtype = subtypes[1];
[self.view.layer addAnimation:transition forKey:nil];
于 2013-09-06T07:11:20.430 に答える
1

文字通りの 3D キューブだけが必要な場合は、これに Core Animation を使用できます。CATransformLayerを確認してください。を使用すると、真の 3D 階層を非常に簡単に構成できますCATransformLayer。Joe Ricioppo が、これに関するクールな記事と、いくつかのサンプル コードとビデオを公開しています。これは 3D CSS3 変換に似ていますが、各サブレイヤーを個別に変換する代わりに、3D 階層を表す単一のレイヤーを操作する方がはるかに簡単です。最初にすべての立方体面を回転させ、立方体を形成するように配置します。次に、トランスフォーム レイヤー自体にトランスフォームを適用すると、サブレイヤーを自動的にトランスフォームするための高度な計算がすべて実行されます。

これに関する大きな問題は、タッチ処理がどのように機能するかです。2D タッチを独自の 3D 階層にマッピングできないため、onを使用できません。これを理解するために独自の実装を調整できるかもしれませんが、その価値よりも多くの作業のように感じます. 2D から 3D へのタッチ変換のために OpenGL が提供する規定については知りませんが、これが唯一の選択肢かもしれません。-hitTest:CATransformLayerhitTest:

于 2012-04-24T02:04:46.397 に答える
0

あなたが探しているものではないかもしれませんが、機能的に役立つかもしれないコードを作成しました: http://www.chupamobile.com/products/details/2106/Cube+Selector/

フル機能で、箱から出してすぐに使用できます

于 2013-11-18T17:46:57.180 に答える