タグ付けされた質問 「pixel」

3
ピクセルアートモーションの「階段効果」をどのように回避できますか?
アンチエイリアシングによるぼかし効果を避けるために、正確なピクセル座標でスプライトをレンダリングしています(スプライトはピクセルアートであり、フィルター処理するとひどく見えます)。ただし、オブジェクトの移動には可変速度、重力、物理的相互作用が含まれるため、軌跡はサブピクセル精度で計算されます。 スクリーンスペースの速度が十分に大きい場合(vΔtが2または3ピクセルより大きい場合)、これは非常にうまく機能します。ただし、速度が小さい場合、特に対角線に沿って顕著な階段効果が現れることがあります。これは、非常に遅い画面空間速度(v << 1ピクセル/秒)ではもはや問題ではないため、中間速度値のソリューションを探しています。 左側には、オブジェクト座標を単純に丸めることで得られる、大きな速度のプロットされた軌跡があります。中央では、速度が小さくなると何が起こるか、そして私が話している階段効果を見ることができます。右側に、取得したい軌跡の軌跡を示します。 大小の速度で元の動作を維持しながら、エイリアシングを最小限に抑えるために軌跡をフィルタリングするアルゴリズムのアイデアに興味があります。Δt、瞬時の位置と速度、および任意の数の以前の値にアクセスできますが、リアルタイムシミュレーションであるため、将来の値については知りません(必要な場合、特定の仮定の下で推定値を推定できます) 。物理シミュレーションのため、突然の方向変更も発生する可能性があることに注意してください。

1
GLSL Light(減衰、色、強度)の式
ボクセルエンジンにポイントライトを実装していますが、光源の近くで100%から光の半径で0%まで、適切な光の流れを得るのに苦労しています。 関数には5つの引数があります。 明るい色(Vec3) 光の強度(光から減衰が100%になる距離までの距離) ライトからフラグメントまでの距離 ライトに垂直なフラグメントからの角度 ライトの位置 フラグメントの色を計算するための関数を作成するために、誰かが私を正しい方向に押すことができますか? 私の実験の1つの画像: 編集(Byteによって要求された現在のコード)これは私の側からの単なる実験コードであることに注意してください。私はウェブサイトからフロート属性を取得しましたが、それは動作しますが、完璧からはほど遠いです。: void main() { // Light color vec3 torchColor = vec3(1.0f, 1.0f, 1.0f); float lightAdd = 0.0f; for (int i=0; i<5; i++) { vec3 pos = lights[i]; if (pos.x == 0.0f) continue; float dist = distance(vertex_pos, pos); if (dist < 9) …
17 opengl  glsl  lwjgl  lighting  pixel 

1
Unity 2Dを使用してピクセルアートゲームを作成できますか?
Unity 4.3で導入された新しい2D機能を検討していますが、何か不足している可能性があります。 私には、スプライトのスケーリングは問題ない高解像度2Dゲーム用に設計されているように見えますが、ピクセルアートゲームには適していません。 ピクセルアートスプライトは、画面上に正確に1:1ピクセルで表示されるように設計されています。スケーリングによって破壊されます(リニアアップスケーリングは例外です。つまり、2x、3x、4xなどにスケーリングできます)。 しかし、私は「そのまま表示する」方法を見つけられませんでした、明らかにUnityはそれが適切だと思う解像度にスケーリングすることを主張しています:Camera.sizeパラメータとスプライトの「pixels to units」パラメータを制御することができます、しかし、私はこの結果を得ることができませんでした。
16 2d  unity  sprites  pixel  pixel-art 

3
ピクセルアートを縮小するにはどうすればよいですか?
ピクセルアートを拡大するアルゴリズムはたくさんあります。(私が好むHQX。個人的に、)しかし、それを拡張する任意の顕著なアルゴリズムがあるダウンは?私のゲームはの解像度で実行するように設計されていますが、低解像度でプレイする場合は、見栄えを良くしたいです。1280x720 ほとんどのピクセルアートの議論は、コンソールエミュレーターで使用するために、320x200または640x480アップスケーリングを中心にしていますが、Monkey Island Remakeのような現代の2Dゲームは、低解像度でどのように見えるのでしょうか。 もちろん、アセットの複数のバージョンを持つオプション(つまり、ミップマッピング)を無視します。

3
完全なピクセル間隔でカメラを移動するにはどうすればよいですか?
基本的には、カメラがサブピクセル単位で移動するのを止めたいと思います。これにより、スプライトの寸法がほんのわずかでも視覚的に変化することになります。(より良い用語はありますか?)これは、鮮明なピクセル化されたグラフィックスを持ちたいピクセルアートゲームです。問題を示すgifは次のとおりです。 今私が試したのはこれです:カメラを移動し、現在の位置を投影して(画面座標になるように)、丸めまたは整数にキャストします。その後、ワールド座標に変換し直し、それを新しいカメラ位置として使用します。私の知る限り、これはカメラを実際の画面座標にロックするものであり、その一部ではありません。 ただし、何らかの理由yで、新しいポジションの価値は爆発的に増加します。数秒でそれはのように増加します334756315000。 LibGDX wikiのコードに基づいたSSCCE(またはMCVE)は次のとおりです。 import com.badlogic.gdx.ApplicationListener; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.Input; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3Application; import com.badlogic.gdx.backends.lwjgl3.Lwjgl3ApplicationConfiguration; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.OrthographicCamera; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.Sprite; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.math.MathUtils; import com.badlogic.gdx.math.Vector3; import com.badlogic.gdx.utils.viewport.ExtendViewport; import com.badlogic.gdx.utils.viewport.Viewport; public class PixelMoveCameraTest implements ApplicationListener { static final int WORLD_WIDTH = 100; static final int WORLD_HEIGHT = …
13 libgdx  pixel 

3
HLSLピクセルシェーダーでNESの色の制限を再現するにはどうすればよいですか?
256色モードは減価償却され、Direct3Dモードではサポートされなくなったため、代わりにピクセルシェーダーを使用して、可能なすべての色のNESパレットをシミュレートして、フェードオブジェクトやアルファチャネルによるスムーズフェードアウトがないようにするというアイデアを得ました。(オブジェクトがNESで実際にフェードアウトできないことはわかっていますが、パレットの交換で可能になる、黒一色の背景でフェードインおよびフェードアウトするすべてのオブジェクトがあります。また、一時停止すると画面がフェードインおよびフェードアウトします。いくつかのMega Manゲームで行われていたように、パレット交換でも可能だったことはわかっています。)問題は、HLSLシェーダーについてほとんど何も知らないことです。 どうすればいいのですか?
13 shaders  pixel 


6
スプライトをサブピクセル単位でどのように移動しますか?
ピクセルはオンまたはオフです。スプライトを移動できる最小量は1ピクセルです。では、スプライトの動きをフレームあたり1ピクセルよりも遅くするにはどうすればよいでしょうか。 私が行った方法は、変数に速度を追加して、それが1(または-1)に達したかどうかをテストすることでした。もしそうなら、私はスプライトを動かして、次のように変数を0にリセットします: update(dt): temp_dx += speed * dt temp_dy += speed * dt if (temp_dx > 1) move sprite reset temp_dx to 0 if (tempy_dy > 1) move sprite reset temp_dy to 0 ばかげている感じがして、スプライトの動きがぎくしゃくしているので、この方法は嫌いでした。それでは、サブピクセルの動きをどのように実装しますか?

5
GM Studioでピクセルアートをぼかさずに拡大するにはどうすればよいですか?
ピクセルアートを使用するゲームをGame Maker Studioで作成しています。ゲームを起動すると、すべての拡大されたテクスチャが本当にぼやけています。(小さなものには起こりません。) たとえば、この画像 このようにゲームでレンダリングします: とにかく、ぼやけたピクセルの代わりに小さなピクセルを大きなピクセルにサイズ変更することはありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.