問題タブ [skeffectnode]

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.

0 投票する
0 に答える
489 参照

sprite-kit - SpriteKit を使用したカスタム CIFilter

CIFilterSpriteKit で独自のカスタムを実装しようとしています。私が達成したいのは、私のカスタムCIFilterを のフィルターとして使用することSKEffectNodeです。

非常に単純なテスト フィルター (ピクセル値を返すだけ) を作成しましたが、.NET で正常に動作しQuartzComposerます。

開発ガイドに従って、CIFilterサブクラスを作成し、フィルターを登録し、実装を提供filterWithNameoutputImage、初期化と初期化を行いました。

ただし、 で を使用しようとするとCIFilterSKEffectNode出力画像が得られません (空白の画像 -clearColor塗りつぶされた空白)。

SKEffectNode別の(組み込み)に切り替えると、CIFilterすべてが期待どおりに機能するため、セットアップに問題はないと思います。

また、.cikernel は Quartz Composer で正常に動作するため、問題はないと思います (また、サンプルから pixelValue を返すのは実際には 1 行だけです...)。

サブクラスの init と initialize にブレークポイントを設定するCIFilterと、両方が呼び出され、カーネルが正しいコード文字列で初期化され、それ以降はすべてうまくいきます。

しかし、私の出力は腹立たしいほど空白のままです...

custom CIFiltersonの使用に成功した人はいSKEffectNodesますか?

ありがとう!

編集:使用する前に初期化するために呼び出すことを忘れていました[MyFilterSubclass class]。また、ブレークポイントを設定し、-(CIImage *)outputImageフレームごとに呼び出されるため、フィルターが正しく設定され、フレームごとに結果を計算しているように見えますが、結果はどういうわけかSKEffectNode...ヘルプに使用されません:( !

0 投票する
3 に答える
2643 参照

ios - SKEffectNode に問題がある

私はAppleのSpriteKitのドキュメントに従っています.SKEffectNodeを使用しようとしていますが、私の問題は効果が適用されないことです! これが私のコードです:

アプリを実行すると、ぼかし効果なしで宇宙船が表示されます。

0 投票する
1 に答える
254 参照

ios - テクスチャ アニメーションを含む SKEffectNode が機能しない

これを試して:

  1. SKEffectNode クラスを作成する
  2. 8 フレーム程度の小さなアニメーションを作成し、atlas フォルダーに入れます。
  3. このコードをクラスの初期化に追加します

初期クラス

このノードをシーンに追加します。結果は何もレンダリングされません。まだ効果を有効にしていないことに注意してください。

なぜ?

0 投票する
1 に答える
1138 参照

ios - SKEffectNode でカスタム CIColorCube フィルターを設定する

黒の背景に緑のピクセルを透明にする SKEffectNode を作成しようとしています。このことを理解するためのテスト目的で、次のコードが SKEffectNode のサブツリー内で何も透明にしないことを確認したいと思います。次のコードは、実際には子が描画されないようにし、次のエラーを吐き出します。

CIColorCube inputCubeData is not of the expected length.

を作成するメソッドです。SKEffectNode

それが私がフィルターをセットアップする方法です(ほとんど、またはあえて言うなら、このコードはすべてAppleの開発ドキュメントにあります)。

私は問題を見つけることができません。CoreImage の経験はあまりありません。誰?

更新 1

CIFilter 全体を独自のクラスにエクスポートしてみました。

実行時にまだ同じエラーが発生する

0 投票する
0 に答える
1982 参照

ios - SpriteKit - SKEffectnode ブレンドモード、ラスタライズ、およびフレーム レート

SKEffectnode を使用して、横スクロール ゲームで簡単な照明を実行しようとしています。まず、グレーのフルスクリーン スプライト ノードを作成し、ブレンド モードを加算に設定して、エフェクト ノードの子として追加します。次に、軽いテクスチャを持つスプライト ノードをエフェクト ノードの子として追加します。最後に、エフェクト ノードのブレンド モードを乗算に設定し、子ノードとしてシーンに追加します。このようなもの:

したがって、私の問題は、エフェクト ノードのブレンド モードが何もしていないように見えることです。アルファブレンドモードか何かで動かなくなったように。ただし、shouldRasterize を YES に設定すると、ブレンド モードが期待どおりに機能し始めます。これがなぜなのか誰か知っていますか?

また、エフェクト ノードを使用してこのようなフルスクリーン エフェクトを追加すると、フレーム レートが完全に破壊されます。特に、エフェクト ノードの移動を開始した場合 (またはフレームごとに新しいノードを作成した場合)。しかし、スプライト キットでこのような照明を行う方法は他にありません。私は基本的にフレームごとにライティング マスクを作成し、それをシーンのフレーム バッファーに乗算したいと考えています。スプライト キットを使用してこのようなことは可能ですか? または、カスタム シェーダーを使用して Cocos2d を調べる必要がありますか?

0 投票する
2 に答える
1340 参照

ios - SKScene を SKTexture にレンダリングしますか?

スプライト キットに、画面 (現在SKSceneレンダリングされているすべてのノード) をキャプチャしSKTextureて、CIFilter を適用し、SKTexture を新しい に割り当てる方法はありSKSpriteNodeますか?

をノード ツリーの親として設定し、フィルタなどを適用してその方法で結果を取得できることはわかっていますが、後で再利用できるフィルタ(または)SKEffectNodeが本当に必要ですか? SKTextureSKSpriteNode

編集:

考えられる解決策:

うん、それは動作します:

0 投票する
3 に答える
2393 参照

ios - SKEffectNode を使用して SKShapeNode を段階的にぼかします

プログラムで SKShapenode をぼかしようとしています。ただし、シェイプノードを約 1 秒かけて徐々にぼかしていきます。どうすればそれを達成できますか?現在のコードでは、すぐにぼやけます。