問題タブ [catransform3d]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 半分のm34変換を行うことはできますか
フルローテーションをしたいのですが、途中で画像を入れ替えると出来ないようです。完全な回転は下で見ることができます。どうすればこれの半分を作ることができますが、素晴らしいz軸のものを使用しますか?これはanimateWithDurationブロックにあります(iOS4)
ipad - サブレイヤーでのCAlayer変換は、ジェスチャーでちらつきます(ipad)
他のサブレイヤーがほとんど含まれていないCALayerがあります(実際にはCATextLayer)
ユーザーがiPadで通常のジェスチャーを行うときに、そのレイヤーに変換を適用したいのですが、正しく機能していないようです。CALayerを使用する目的は、そのレイヤーにのみ変換を適用して、すべてのサブテキストレイヤーが同じ変換で同時に影響を受けるようにすることでした。
何が起こっているのかというと、変換は前の位置と現在の位置の間でちらつくように見えます。何が問題になるのかよくわかりません...たとえば、2本の指でパンするジェスチャを実行すると、CaTextLayerの位置がジェスチャ中に常にちらつき、最後にすべてが新しい変換された位置に正しく配置されます。
ですから、私を大いに悩ませているちらつきを除いて、すべてがうまく機能しているようです。
知らないプロパティを設定する必要がありますか?バウンドやフレームにも関係があるのではないかと思います。
CATextLayerを作成する方法は次のとおりです(これは作成時に1回だけ実行され、正しく機能します)。
これが私のスーパーCALayerにそれらを追加する方法です
そして、これが私の変換を適用する方法です:
_layerMgr.transform = CATransform3DMakeAffineTransform(_transform);
iphone - 2 つの UIViewController 間の 3D ドア オープン アニメーション
これは以前にも質問されたことがありますが、私が知る限り、stackoverflow にサンプル コードはなく、適切な解決策もありません。私は解決策を持っていますが、それはがらくたに見えます。よりリアルな 3D ドアの開閉/本の表紙のアニメーションを得るための入力と変更に感謝します。
目的は、ドアや本の表紙を開けているかのような効果が得られるように、UIViewController 間にアニメーションを設定することです。ViewController 2 は静的でバックグラウンドにあります。その上に、ViewController 2 を覆う ViewController 1 を配置します。アニメーションは ViewController 1 (ハードカバーの本のようなもの) を開き、ViewController 2 (いわば最初のページ、またはドアの後ろにあるもの) を明らかにします。
最初に注意すべきことは、カスタム アニメーションを上書きするのが難しいため、UINavigationController ではこれを行うことができないということです。2 つの ViewController を設定する方法に関する適切なチュートリアルは、ここにあります: ViewController アニメーション
すべてがセットアップされたら、これが私のカスタム アニメーションです。基本的に、本の扉/表紙を左に絞っているように見えます。3D感がないのが残念。これを改善する方法についての提案は大歓迎です:
CATransform3DTranslate
主な問題は、 and の処理方法がよくわからないことだと思いますCATransform3DRotate
。
これに関するいくつかの投稿がありますが、それらを 3D ドア オープナーに適用する方法がよくわかりません。
ios - CATransform3D が常に最上位ビューになる
CATransform3D を使用して 1 つの UIView のレイヤーを変換しています。問題は、その上に他のコントロール (この変換されたビューのサブビューではない) を表示できないことです。
たとえば、このコード:
動作しません - FlippedCloseButton は常に FlippedImageView の背後にあります。
flipTransitionFromView
は、上記の 3 次元変換を行うだけの方法です。
それを解決する方法についてのアイデアは大歓迎です!
編集:
ビューレイヤーのzPositionを変更して、自分で解決しました:
しかし、これを行う正しい方法はありますか?
アンドリウス
opencv - 4x4 マトリックスを 3x3 マトリックスに変換する方法は?
iOS で AR アプリケーションを作成しており、UIView で CATransform3D 変換を使用しています。
OpenCV を使用して、cvGetPerspectiveTransform() を呼び出して遠近行列を取得できます。これは 3x3 行列を返します。
どこで見つけたのか思い出せませんが、次のことを行うサンプル コードがありました。
ただし、このフォームを適用すると、ビューが狂ってあちこちにジャンプします。少し実験してみると、次の 3 つのマッピングだけがある程度機能することがわかりました。
私は 3D グラフィックスと変換の計算について読んでいますが、それは非常に困難な作業です。
3x3 マトリックスから 4x4 マトリックスへの正しいマッピングは何ですか?
ありがとうございました!
iphone - すでに変換されているCALayerのサブレイヤーに逆CATransform3Dを適用する
CATransform3D変換を使用して、疑似3D遠近効果をビューに適用しています。
私はiPhone4のジャイロスコープを使用して、変換のパラメーターを制御しています。
私が変換しているビューには、いくつかのサブビューがあります。
結果は次のようになります。
次のタスクは、メインビューが変換されるときにサブビューが変換されないようにするか、サブビューが影響を受けないように逆変換を適用することです。
私の目的は、各サブビューをスーパービューに対して垂直にして、「立っている」という印象を与えることです。
変換に使用しているコード:
Y軸の周りのサブビューに90度の遠近法の回転を適用することにより、変換を反転させるために次のコードを試しました。
しかし、これが成功するのは、サブビューを非表示にすることだけです。レイヤーからの既存の変換を使用し[sublayer transform]
て3D回転を適用しようとすると、サブビューがちらつきますが、回転しません。
行列の数学についての私の知識はあまりよくないので、これが正しいアプローチであるかどうかはわかりません。
サブビューをスーパービューに対して垂直に配置するにはどうすればよいですか?
ios - 回転時に layer.border の線が滑らかにならない
UIImageView を回転させる必要があります。
問題は、境界線がまったく滑らかでないことです。
ipad - CATransform3DMakeRotation で UIView を左右に回転する
私のアプリでは、CATransform3DMakeRotation を使用して UIView を回転させ、指を動かしてノブを想像してみてください。私の問題は、すべてがうまく機能していることです。動きは思い通りですが、タッチして回転を開始すると、中心で 180 度回転します。理由がわかりません。
私のコードをお見せします:
編集:ここで問題を解決する方法
問題は、私がビューに触れたところにありました。
ここで、2 つの角度の間で回転をロックする方法を理解する必要があります。360°回転は必要ありません。
iphone - CATransform3DRotate メソッドの角度とは何ですか?
行きたい場所への進行方向と方位を表示するアプリケーションを開発中です。ユーザーが希望の場所に向かうべき方向に矢印の方向を表示したいと思います。これについて心配することは何もありません。私がやりたいことは、私が度を持っていることです.. 0-360。
これらの角度を以下の方法で角度に渡すと、これは奇妙に反応します。画像が複数回取得されます。度からラジアンを取得しようとしましたが、成功しませんでした。
私が望むのは、0〜360のfloat値の範囲があり、369度の回転で1回だけ画像を回転させたいということだけです。
私もラジアンを通過しました。度をラジアンに変換するために使用したもの:
しかし、これにも同じ問題があります。私が望むのは、360 度すべての羅針盤のようなイメージ ショー作品です。
このメソッドの角度を取得する方法:
前もって感謝します
ios - UIViewアニメーションとUIViewフリッピングを楽しんでください
(長い投稿をお詫びします)AQGridViewをジャズアップするために、添付のコードは選択したセルをUIViewにコピーし、そのビューをアニメーション化して画面全体に拡大し、ビューを全画面カバーアニメーションのように変換します。自由に再利用できますが、それは私の問題ではありません。私の問題は風景のアニメーションですが、これは異なっている必要があります。セルビューを画面の右半分にアニメーション化し、拡大して画面の右半分に塗りつぶし(すでに完了しています)、画面を横切って左側に回転させます。CGPointMake(0.5、0.5);にアンカーポイント 動作しません。また、変換x値を画面の半分に設定してから元に戻すこともできません。実行するだけで、画面から飛び出します。ヘルプ!!
編集:(プロパティに新しいUIView's
ものを追加していることに気づかなかったおかげで、コードは機能するself.navigationController.view
ようになりました。そのため、それをレンダリングして反転するだけで、翻訳は必要ありません!)動作するコード: