ゲーム開発

プロおよび独立系ゲーム開発者向けのQ&A

3
UnityEngine.RandomとSystem.Randomの違いは何ですか?
これの違いは何ですか int randomNumber = UnityEngine.Random.Range(0, 10); この // on top of the class private System.Random _rnd = new System.Random(); // inside a methode of the same class int randomNumber = _rnd.Next(0, 10); 私System.Randomは常にあなたのクラスのトップで初期化されなければならないことを知ってUnityEngine.Randomいます。またSystem.Random、インターン「クロック」で動作し、「ランダム」な数値がそれに基づいていることも知っています。 私の質問は、Unityプロジェクトに使用するのがより良いと魔女のコードの間に他の違いがUnityEngine.RandomありSystem.Randomますか?
24 unity  c#  random 

3
XNAで2Dスプライトをマスクする最良の方法は?
現在、いくつかのスプライトをマスクしようとしています。言葉で説明するのではなく、いくつかのサンプル写真を作成しました。 マスクする領域(白) さて、トリミングする必要がある赤いスプライト。 最終結果。 今、私はXNAでこれを達成するために2つのことができることを知っています。 ステンシルバッファを使用します。 ピクセルシェーダーを使用します。 私はピクセルシェーダーを試してみましたが、これは本質的にこれを行いました: float4 main(float2 texCoord : TEXCOORD0) : COLOR0 { float4 tex = tex2D(BaseTexture, texCoord); float4 bitMask = tex2D(MaskTexture, texCoord); if (bitMask.a > 0) { return float4(tex.r, tex.g, tex.b, tex.a); } else { return float4(0, 0, 0, 0); } } これは画像を切り取るように見えますが(画像が動き始めると正しくありませんが)、私の問題は画像が絶えず動いている(静的ではない)ので、この切り抜きは動的である必要があります。 シェーダーコードを変更して、その位置を考慮する方法はありますか? あるいは、ステンシルバッファーの使用について読んだことがありますが、ほとんどのサンプルはレンダーターゲットの使用に依存しているようです。(私はすでにゲームの残りの部分で3または4を使用していますが、その上にもう1つ追加すると過剰に思えます) 私が見つけたRendertargetsを使用しない唯一のチュートリアルは、Shawn …
24 xna  2d  hlsl  masking 

9
球体の表面をタイルでマッピングする場合、極歪みにどのように対処できますか?
クリーンなデカルトグリッド上での場所の相互作用の方法に対処するのは簡単です。それはただの数学です。また、極などを切り捨てるだけの場合は、球体の表面のジオメトリを無視できます。しかし、極地が重要なゲームのアイデアを考え続けています。ジオコーディングされたARGとグローバルなローグライクなど。 とにかく、世界中の同じサイズの正方形のタイルで合理的に表すことができる、正方形のような場所が必要です。 これは解決された問題でなければなりませんよね? 解決策は何ですか? ETA: 赤道で-そしてあなたの正方形の位置がかなり小さいと仮定すると、最も赤道の列の北と南の列に1つの正方形を持つことで逃げることができるのに十分に近いです。そして、あなたはおそらく、45度程度まで差を手で振るだけでそれをうまくやることができるでしょう。しかし、最終的には、極方向の円周方向の列の正方形を少なくする必要があります。行の長さを1つ減らし、正方形を1/2オフセットすると、それらは16進数のようになり、コーディングを行って接続を追跡するのは比較的簡単です。しかし、ポールに向かうにつれて、ますます極端になります。 世界の表面を立方体の表面に投影するのは魅力的です。しかし、すでに使用されているよりエレガントなソリューションがなければならないと考えました。 私が立方体のことをした場合(測地を通してさらに詳しく分析するのではない)面の中心または3辺の頂点に極を配置することに関連する長所と短所はありますか?

2
一部のゲームでは、透明性のために従来のアルファの代わりにディザリングパターンを使用しているのはなぜですか?
最近、私はいくつかの3Dゲーム(例:)で、GTA IVある種の順序付けられたディザリングを使用して、透明度/アルファをシミュレートしています。 ポリゴンは通常のように透明ではありませんが、代わりに透明度をシミュレートするために左から右に徐々に切り替わるディザリングテクスチャをレンダリングします。 この効果は不快ではありませんが、最初は驚くべきものです(従来のアルファブレンディングとは対照的) それが生み出す視覚的な美的効果を除いて、いくつかのゲームがこれを行う理由はありますか(パフォーマンスの向上、帯域幅の節約、または私が考えていない他の何か)? Webで検索しましたが、この手法については何も見つかりません。

3
ゲーム開発のための物理学に関する良い本は何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 閉じた3年前。 ゲーム開発における物理学のテーマに関する優れた初心者向けの本を探しています。2Dゲームに焦点を合わせたものが望ましいでしょう。
23 2d  physics  books 

7
円運動でオブジェクトをインターセプトする方法
2D宇宙ゲームを作成していますが、宇宙船が惑星を妨害する必要があります。直線切片の作業コードはありますが、円軌道での惑星の位置の計算方法がわかりません。 ゲームは科学的に正確ではないので、慣性、重力、楕円軌道などについて心配していません。 宇宙船の位置と速度、そして惑星の軌道(半径)と速度も知っています。

1
不適切な広告がゲームに表示されないようにするにはどうすればよいですか?
私のゲームはUnity広告を実装しており、ユニバーサルオーディエンスを念頭に置いて設計されています。そのため、特に若い視聴者にもアピールするため、18個以上の広告(状況によっては13個以上の広告)が表示されないようにします。私の質問は、年齢にふさわしくない広告が表示されないようにするにはどうすればよいですか?Unity広告に年齢制限やコンテンツ制限を設定する方法はありますか?私が見つけることができるそれらの線に沿った唯一の設定はCOPPAトグルであり、それは他の問題を引き起こすでしょう(広告に何もしないことは言うまでもありません)。ダッシュボードをしばらく見て、事前に調査しようとしましたが、それらが中央のサービスページに移行したという事実、すべての古いリンクをリダイレクト(プロセスで中断)、ダッシュボードの設定を再編成、および404d のトピックに関するFAQ投稿も役に立たない。Google Playに公開しているため、評価を取得する必要があるため、評価に基づいて広告をブロックすることもできます。 編集:2番目のリンクは、時々404のみです。私はたまたまこの質問をする前にたまたまそれを手に入れました。運が悪いと思います。

3
グラフィックスAPIを厳密に抽象化しすぎているかどうかを知るにはどうすればよいですか?
複数のグラフィックスAPIをサポートするレンダラーを作成する場合、通常、OpenGL、Vulkan、D3D11などのグラフィックスAPIに関連付けられた何らかの低レベルライブラリでコードを抽象化します。 これらは互いに非常に異なる動作をするため、適切な汎用APIを作成することが不可欠になります。サポートしたい各APIの基本機能を実装する「バックエンド」と、プログラマーが何かを描画するために使用する「フロントエンド」を通常使用することを読みました。画面。 タイトな抽象化をしすぎているかどうかを知るにはどうすればよいですか?

4
C ++ゲームはメモリ割り当てエラーをどのように処理しますか?
私はC ++で書かれているが例外を使用しないいくつかのゲームを知っています。C ++でのメモリ割り当てエラーの処理は一般にstd::bad_alloc例外を中心に構築されているため、これらのゲームはどのようにそのようなエラーを処理しますか? それらは単にクラッシュしますか、またはメモリ不足エラーを処理して回復する別の方法がありますか?

1
PagedGeometryの草に影を付けるにはどうすればよいですか?
Ogre3D(v1.7)およびPagedGeometryの使用に切り替えました。私がやろうとしているのは、地形、木、草で簡単なシーンを作ることです。一言で言えば、Ogreでこのような効果を達成したいと思います。 PagedGeometryデモでは透明/カットアウトシャドウが実装されていますが、上記の例のように草に適切にシャドウを投影する方法に関する解決策が見つかりません。 これを達成するためにどのようなテクニックを使用できますか?

3
ゲームが100%CPUを使用するのは正常ですか?
ゲームエンジンにマルチスレッド入力処理を実装しました。OSをポーリングして入力を収集し、タイムスタンプを付けるコードは個別のスレッドにあり、メインスレッドの各フレームは、収集した入力を論理的なゲーム時間。それはすべて動作しますが、このセットアップではCPUの100%を使用しています。コアは2つあり、ゲームの実行中は100%になります。 他のゲームもチェックして、彼らもそうするかどうかを確認しました。たとえば、SkyrimとDoom 3は60%をわずかに超えるCPUで問題ないようです。 マルチスレッド入力を使用するゲームが100%CPUを使用することは許容されますか?そうでない場合、そのようなゲームが入力スレッドによるCPU使用率を下げるために使用するトリックは何ですか?


8
すべてのゲームで起動後の読み込みを回避できませんでしたか?
巨大なオープンワールドゲームが巨大なマップを動的にロードするように、個別のマップ、メニュー、およびほぼ同じインターフェースまたは3D設定を同じ動的ロード方法でロードすることはできませんか?環境を変更せずに、ゲーム内のインターフェイスやさまざまな場所をすべて、動的にロードすることができます。これは、大規模なオープンワールドマップをロードするのと同じ方法でロードされます。 なぜこれが行われないのですか?試合/マップ/レベルの読み込み中に1分以上待たなければならない最新のゲームがたくさんあります。ピアの接続に遅延が伴うことは知っていますが、私の経験では数分しかかかりません。マップ/レベル/インターフェースデータのロードに伴うロード時間を排除するためにこの概念を使用するのを止めるために、この概念にはどのような問題がありますか
23 loading 

11
円の周りでユーザーフレンドリーな極座標運動を行うにはどうすればよいですか?
私は2Dゲームに取り組んでいます。このゲームでは、船で惑星に着陸し、船から出て歩き回ることができます。 これらの惑星は非常に小さく(時々350ピクセルの半径を考えてください)、横から見られます。そのため、一般的に画面上で惑星全体を簡単に見ることができます。 これはちょっと紛らわしいかもしれませんので、ここに写真を示します AキーとDキーを使用して、それぞれ反時計回りと時計回りに移動しています。問題は、惑星の「上」にいる場合(上半分)、これは理にかなっていることです。Aは左に移動し、Dは右に移動します。ただし、惑星の「下」にいる場合(下半分)、Aは右に移動し、Dは左に移動します。 これをよりユーザーフレンドリーにするためのアイデアはありますか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.