問題タブ [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.
ios - shouldRasterize = true の CIFilter(name: "CIGaussianBlur") の SKEffectNode パフォーマンスの問題
ダメージを与えるゲーム内のキャラクターやオブジェクトにグローを追加しようとしています。ゲーム内の「悪い」もの、つまりスパイク、ガードなどに赤い輝きが必要です。次のコードを使用していますが、rasterize を true に設定してもパフォーマンスが非常に悪いです。エフェクトを追加すると、パフォーマンスが 60 fps から 30 fps に急速に低下します。グロー効果は、さまざまな形状のスプライトに適用する必要があります。円、三角形、四角形、人など。他のアプローチにもオープンですが、以下のコードは私が望む正確な視覚効果を与えてくれます。コードを実行することができれば、「良い」オブジェクトに緑色の光を当てたいと思います。
また、左右に 1.5 シーンのノードを追加するだけで、「悪い」SKNode の量を減らしました。この変更は役に立たなかったようです。問題は、効果が追加された SKNodes と SKNodes/SKSpriteNodes の特に大量の人口に実際に到達したときに発生するようです。
試す
また
...
swift - SpriteKit - シーン全体にぼかしを追加する
一時停止ボタンが押されたときに GameScene 全体をぼかしようとしています。blurSceen() というメソッドがありますが、シーンに効果が追加されていないようです。これを達成する方法はありますか、それとも何か間違っていますか? このトピックに関する他の投稿を見ましたが、効果を達成できませんでした.
ios - SpriteKit: SKSpriteNodes が数秒後に SKEffectNode から消える
SpriteKit のメタボール エフェクトに取り組んでいます。バッファーの色範囲を圧縮するシェーダーを備えた SKEffectNode があります。このエフェクト ノードには、その子として 100 数の SKSpriteNode があります。エフェクトは数秒間うまく機能しますが、突然、数フレームの間にすべてのスプライトノードが画面から消え、ノード数が 100 奇数から 2 に減少します (残りの 2 つはエフェクトノードだと思います)。それ自体、およびボールを保持するコンテナを形成するエッジ チェーン?)
ボール スプライト ノードをシーンのルート ノードに直接追加すると、これは発生しません。数秒後に積極的にカリングされるように見えるのは、エフェクトノードの子になったときだけです。
興味深いことに (これは、フレーム レートが非常に低い場合にシミュレーターで確認できます)、SpriteNode は、現在画面に表示されている垂直方向 (画面の上部から下部) でカリングされるようです。
ビューのshowsPhysics
プロパティが true に設定されている場合、SKSpriteNode の物理ボディがまだ画面上にあり、転がっていることがわかります。しかし、それらの視覚的表現は消失し、ビューのノード数は枯渇しています。ドキュメントによると、showsNodeCount
「シーンに表示される物理体を示しています」。そのため、ノードが表示されなくなったため、ノード数が減少しました。
これを引き起こしている可能性のあるもの、またはデバッグに使用できるツールを知っている人はいますか?
標準の SpriteKit iOS Swift 2.2 Xcode 7 テンプレートでは、GameScene ファイルを次のように置き換えます。
sprite-kit - SKEffectNode を使用した CIFilter を SKSpriteNode に適用する
SKEffectNode を持つ CIFilter を SKSpriteNode に適用しようとしています。これを機能させることができず、理由がわかりません。ぼかしを使用してこれを機能させましたが、モノ写真効果を得ることができません。誰にも洞察がありますか?再度、感謝します。
swift - SKEffectNode のパフォーマンスを向上させる方法 (Swift)?
私のプロジェクトでは、いくつかのスプライトノードの周りにグロー効果を提供するために使用する SKEffectNode があります。spriteNode (blurNode) を使用して障害物の色を取得し、それを effectNode に渡します。これはうまくいきます。
私の問題はここで発生します。
私がやりたいのは、障害物の周りにある「輝き」を障害物で色を変えることです。それがまさに起こることです。ただし、そうすると、フレームレートが 30fps に低下します。
それで、私の質問は、このタスクのパフォーマンスを改善する方法を知っている人はいますか? または、これを行う別の方法があるのでしょうか。
私が考えたアイデアの 1 つは、Photoshop で「neonLine.png」を手動でぼかしてから、そのようにぼかしノードに追加すること
let blurNode = SKSpriteNode(imageNamed: "bluredNeonLine.png")
です。唯一のことは、ぼかしを正しく取得できないことです。常にぼやけて見えます。
どんな助けでも大歓迎です。ありがとう!
編集:
これが私のプロジェクトのグローの写真です:
グローとラインの色の変化は次のとおりです。
swift - SKEffectNode の子としての SKLabelNode の SKWarpGeometry は、ラベルを上下反転します
SKLabelNode を SKEffectNode の子としてワープしようとしています (ドキュメントにはそれができると書かれています) が、ワープを適用する前にラベル ノードを上下逆に反転させます。これはバグかもしれませんが、報告する前に、ここで質問しようと思いました...
これが私のコードです:
このコードは、ラベルの上部を押しつぶして元の位置に戻します (ボールか何かを押したかのように)。ただし、ラベルを上下逆にして、上部を押しつぶします (現在はラベルの下部になっています)。単語)、元のサイズと位置に戻します (右上)。
編集: 0x141E のコメントに基づいて、SKLabelnode を SKTexture に変換し、そのテクスチャで新しい SKSpriteNode を追加しました。effectNode で warpNode 関数を使用すると、単語を上下逆にしてからスキッシュを適用するのと同じ効果がありました。ただし、新しい SKSpriteNode で warpNode 関数を直接使用すると、正しく機能しました。
以下の新しいコード:
コードの effectNode 部分全体を削除し、新しいスプライトを追加して、それにワープを加えました。