ゲーム開発

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


1
クロスプラットフォームC ++ / OpenGL ES開発(iOS / Android)[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? 質問を更新して、ゲーム開発スタック交換のトピックになるようにします。 4年前休業。 私はすでにC ++とOpenGLの合理的な経験があり、最近モバイルゲーム開発を試すことにしました。Javaを使用してシンプルなOpenGL ES Androidアプリを作成した後、できるだけ少ないコードでAndroidとiOSの両方をターゲットにする方法を調査しました。Visual Studio 2015の誇りに思っているクロスプラットフォームアプリ開発ツールを使用してみましたが、あまりにも新しいため、文書化が不十分でした。プログラムから提供されたテンプレートプロジェクトを構築することはできましたが、これらのテンプレートを前提として、ゲームにアセットを追加したり、タッチスクリーン入力を処理したりする方法を理解できませんでした。 残念ながら具体的な願望があります。Googleで見つけるには具体的すぎます。AndroidおよびiOS用のプラットフォーム固有の薄いラッパーを使用して、C ++を使用するOpenGL ESゲームを作成したいと考えています。人々は私に同様の質問をしましたが(まったく同じではありません)、UIを気にする必要がないため、やりたいことは可能であるだけでなく、比較的簡単であると複数の人が答えています。 私はこのチュートリアルを試しましたが、それはほぼ3年前のものであり、おそらく古いテクノロジー用に設計されたものであり、その結果、さまざまな原因不明のバグに遭遇しました。けれども今のところ、そのチュートリアルは私が見つけたものに最も近いものです。それ以外はすべてAndroidのみ、またはMarmalade SDKを使用するために年間数百ドルを支払うことを推奨しています。たまに、コードを2回(JavaとObjective-Cで2回)作成する気がしますが、この解決策は可能であるという知識に動機付けられ続けていますが、何らかの理由で、現代の詳細のどこにも触れられていません。 要約すると、単一のC ++コードベースを少量のプラットフォーム固有のコードでラップして、iOSおよびAndroid用のOpenGL ESゲームを作成したいと思います。しかし、いくつかの人々がこのアプローチを推奨しているという事実にもかかわらず、誰もそれを行う方法を私に言うことはできません。誰かがそれが実際に可能かどうかを教えてもらえますか。もし可能なら、私が何ができるか、またはどこに行けばその方法を学ぶことができますか?

4
手続き型の生成、ゲームの更新、バタフライ効果
注:数日前にStack Overflowでこれを尋ねましたが、ビューが非常に少なく応答がありませんでした。代わりにgamdev.stackexchangeで尋ねるべきだと考えました。 これは、以前に生成されたコンテンツを壊すことなく、複数のリリース後更新を通じて手続き型生成システムを維持することに関する一般的な質問/アドバイスです。 ゲームの手続き型コンテンツを作成するときに、「バタフライ効果」の問題を回避するための情報と手法を見つけようとしています。シードされた乱数ジェネレータを使用する場合、乱数の繰り返しシーケンスを使用して、再現可能な世界を作成できます。一部のゲームは、生成された世界を生成後にディスクに保存するだけですが、手続き型生成の強力な機能の1つは、同じ方法で領域を再作成するために数列の再現性に複数回頼ることができるということです。持続。私の特定の状況の制約のため、永続性を最小限に抑える必要があり、純粋にシードされた濃度にできるだけ依存する必要があります。 このアプローチの主な危険性は、手続き型生成システムのわずかな変更でさえ、世界全体を変更する蝶の影響を引き起こす可能性があることです。これにより、プレイヤーが探索している世界を破壊することなくゲームを更新するのは非常に難しくなります。 この問題を回避するために私が使用してきた主な手法は、複数のフェーズで手続き型生成を設計することです。各フェーズには、独自のシード乱数ジェネレーターがあります。つまり、各サブシステムは自己完結型であり、何かが壊れても、世界のすべてに影響を与えることはありません。ただし、これはゲームの孤立した部分であっても、依然として「破損」の可能性が多いようです。 この問題に対処するもう1つの方法は、コード内でジェネレーターの完全なバージョンを維持し、特定のワールドインスタンスに適切なジェネレーターを使い続けることです。これは私にとってはメンテナンスの悪夢のように思えますが、誰かが実際にこれを行っているかどうか知りたいです。 したがって、私の質問は、特にバタフライ効果のこの問題に対処するための、特にリリース後のゲームアップデートのコンテキストでの一般的なアドバイス、テクニック、およびデザインパターンの要求です。(うまくいけば、それは広すぎる質問ではありません。) 現在Unity3D / C#で作業していますが、これは言語にとらわれない質問です。 更新: 返信ありがとうございます。 ますます静的データが最良かつ最も安全なアプローチであるように見えます。また、大量の静的データを保存することはオプションではない場合、生成された世界で長いキャンペーンを行うには、使用されるジェネレーターの厳密なバージョン管理が必要になります。私の場合の制限の理由は、モバイルベースのクラウドの保存/同期の必要性です。私の解決策は、重要な事柄に関する少量のコンパクトデータを格納する方法を見つけることかもしれません。 ストームウィンドの「ケージ」の概念は、物事を考える上で特に有用な方法だと思います。ケージは基本的には再シードポイントであり、小さな変更、つまりバタフライのケージの実行に伴う影響を防ぎます。

3
テラス山の特徴
数日前にポートフォリオ/ブログサイトで見つけた手続き型地形効果を再現したいと思っています。 このサイトを引用すると、「[最終的な高さ]に特定の高さの範囲内の減衰値を掛けて、美しい峡谷の特徴を作成する」ことによって、テラスが生成されました。 誰かがこれについてより技術的な例や手順を提供できると思いましたか?過去1週間にわたって、私は手続き型の地形/テクスチャの方法と実践について多くのことを研究および学習してきましたが、「クランプ」とは何かを詳細に説明するものにまだ出くわしておらず、イライラし始めています。

2
Signed Distance Fieldのレイマーチングは、動的な世界にどのように実装されますか?
符号付き距離フィールドレイマーチングの基本を理解していると思います。一連の距離フィールド(http://iquilezles.org/www/articles/distfunctions/distfunctions.htmなど)を使用してシーンをモデル化し、次に、ピクセルを投影するたびに、光線の最初から開始します、その点で最も近いオブジェクトまでの距離を見つけ、何かにぶつかるまでその点を最も近い距離だけ増分します。簡単なレンダラーを何とかして実現しました。そこで、テクニックのほとんどの説明は終わりです。 これにより、SDFレイマーチングを実際のシナリオでどのように使用できるかについて、いくつか質問があります。 質問1:実際のゲームでは、シーンは通常複雑で、CPUにロードされ、多くの動的オブジェクトがあります。基本的なオクルージョンカリング(オクトリーなど)を理解しており、ポリゴンレンダリングを使用して、レンダリングするビューフラストラム内のアイテムの(CPU上に)リストを作成します。 それで、CPUによって制御され、画面上を動く多くのキャラクターと動的オブジェクトを含む非常に複雑なシーンがあると想像してください。レンダリングするオブジェクトをフレームごとにGPUにストリーミングするにはどうすればよいですか?すべての例には、GLSLでハードコードされたシーンがあります。誰かが動的にシェーダーにストリーミングされるレベルの例を共有できますか? 質問2:オブジェクトはどのようにして複数の色を持つことができますか?距離関数は距離を返すだけですが、実装は通常どのように色を返しますか?(たとえば、青い立方体ではなく赤い球体をヒットします。)これがCPU実装である場合、レイマーチャーを終了するヒットであるときに、距離関数内でグローバル関数を呼び出し、ヒットオブジェクトのオブジェクトも渡すことができます。テクスチャ/色。しかし、GLSLでアイテムの色またはテクスチャをどのように返しますか? ありがとうございました。

3
RPGは線形損傷の公式をどのように調整しますか?
RPGのダメージ計算式を開発しています。私は参考のために多くの人気のあるタイトル式(ファイナルファンタジー、クロノトリガー、ゴールデンサン、キャッスルバニア)を確認しましたが、ほとんどが線形関数を使用しているようです。 私の問題は、線形関数の場合、レベルアップするとダメージが増加する%がすべてのレベルで低下することです。たとえば、Lvl 2からLvl 3に移動し、ダメージが50%増加した場合、Lvl 50からLvl 51に移動すると、同じ敵に対する攻撃のダメージは0.5%増加します。 これと相まって、レベルアップするXPがこれらのタイトルで指数関数的に上がるという事実は私には意味がありません。私のゲームではこのタイプの機能を忘れたくなりますが、お気に入りのゲームの多くがそれらを使用しているため、見逃してはならないものがあると感じています。さらに、私はこれらのタイトルをプレイしましたが、これに気づくことはありませんでした。 例:黄金の太陽のダメージ計算は簡単です:ダメージ=攻撃-防御。以下のポケモンのダメージ計算式はもう少し複雑ですが、絶対ダメージの増加も各レベルで減少します。 これらのゲームで、各レベルのダメージの増加率を低くすることを考えてもいいですか? どのようにしてゲームのバランスを取り、レベルがゲームの後半でも重要になるようにしますか?

1
Python 3.5のPygame?
Python 3.5を入手したばかりです...リンク:https : //www.python.org/downloads/windows/ 以前私はPython 3.4とPygameバージョン1.9.2a0を持っていました。それは完全に機能しました。ただし、新しいPython 3.5は、3.4で取得したPygameのバージョンと互換性がありません。私は最新のPygameファイルを見つけました...リンク:http : //www.lfd.uci.edu/~gohlke/pythonlibs/#pygame Pygameファイルをダウンロードしましたが、これは.whl形式のファイルです。私はどうしたらいいですか? 昨日は一日中調べてみました。これまでのところ、私が理解しているのは、pipとwheelに関するものであり、「pip install」などのコマンドを実行することですが、完全に失われています。私はこれまでにピップやそのことを知りませんでした。 Python 3.5で動作するバージョンのPygameがあるかどうかさえわかりませんが、調べて調べようとしましたが、そのような情報は見つかりませんでした。私が望んでいるのは、Python 3.5をPygameで稼働させ、Python 3.4を使用していたときと同じようにうまく機能させることです。PygameがPython 3.5とまだ互換性がない場合は、python 3.4とそれに対応するpygameファイルを再インストールします。
10 python 

4
JavaおよびSteam JVMのデプロイメント
私は現在、ゲーム開発とSteam Greenlightへの展開のオプションを検討しています。特にlibGDXでJavaが好きで、特にクロスプラットフォームのAndroidの可能性があるので、SteamにJavaゲームをデプロイできることを理解しています。私のJavaゲームがC ++ Steamworks APIを呼び出すことができるように、ある種のラッパーを作成する必要があることにもとても満足しています。 私の質問は、私が遭遇する可能性のあるデプロイメントの問題についてです。具体的には、JREのクライアントマシンのインストール。多くのSteamインストーラーが.NETランタイムをチェックするのを見てきました。JREについても同様のチェックとインストールを行う必要がありますか? Monogameを使用したC#のようなものと比較して、SteamでのJavaのデプロイがデプロイと保守の悪夢になるという明白な理由はありますか?
10 java  libgdx  steam 

3
メッシュが非表示になっているときに/後処理メッシュのアウトラインを非表示にする方法
3Dエンジンでアクティブなアウトラインを設定する作業をしています。選択した3Dキャラクターのハイライト効果や画面の風景です。ステンシルバッファーを操作し、満足のいく結果が得られなかった後(凹面形状の問題、カメラからの距離が原因のアウトラインの厚さ、デスクトップとラップトップ間の不整合)、エッジ検出とフレームバッファーサンプリングに切り替えて、アウトラインを取得しましたかなり満足しています。 ただし、選択したメッシュが別のメッシュの背後にある場合、アウトラインを非表示にできません。これは、残りのシーンをレンダリングした後、フレームバッファーから2Dシェーダーアウトラインをレンダリングするだけなので、私のプロセスを考えると理にかなっています。 結果の2つの画面キャプチャーを以下に示します。1つ目は「良好な」アウトラインで、2つ目は、アウトラインソースをブロックするメッシュ上にアウトラインが表示される場所です。 レンダリングプロセスは次のように実行されます。1)ハイライトされたメッシュのアルファのみを描画し、フレームバッファー(framebuffer1)に黒いシルエットをキャプチャします。 2)テクスチャをframebuffer1からエッジ検出を実行する2番目のシェーダーに渡します。フレームバッファ2でエッジをキャプチャします。 3)シーン全体をレンダリングします。 4)シーンの上部にあるframebuffer2からテクスチャをレンダリングします。 私は達成する方法についていくつかのアイデアを持っているので、それらの有効性、またはより単純な、またはより良い方法についてフィードバックを得たいと思っています。 最初に、シーン全体をフレームバッファーにレンダリングし、強調表示されたメッシュの可視シルエットをアルファチャネルに格納することを考えました(強調表示されたメッシュが表示されているところはすべて白で保存されています)。次に、アルファチャネルでエッジ検出を実行し、シーンフレームバッファーをレンダリングしてから、エッジを上にレンダリングします。次のような結果になります: これを実現するために、ハイライトされたオブジェクトのレンダーパス中にのみ、定義を設定して、可視ピクセルのアルファをすべて黒くすることを考えました。 私の2番目のアイデアは、上で概説した現在のレンダリングプロセスを使用することですが、選択したメッシュのシルエットをレンダリングするときに、framebuffer1のR、G、BチャネルにもX、Y、Z座標を格納します。エッジ検出が実行され、framebuffer2に格納されますが、RGB / XYZ値をアルファのエッジからシルエットに渡します。次に、シーンをレンダリングするときに、座標がframebuffer2に格納されているエッジ内にあるかどうかをテストします。その場合は、現在のフラグメントの深度をテストして、RGBチャネルから抽出された座標(カメラ空間に変換)の前か後ろかを判断します。フラグメントが深度座標の前にある場合、フラグメントは正常にレンダリングされます。フラグメントが背後にある場合は、塗りつぶされたアウトラインカラーとしてレンダリングされます。 私はこのプロジェクトにLibGDXを使用しており、WebGLとOpenGL ESをサポートしたいので、ジオメトリシェーダーや新しいGLSL関数を使用するソリューションはありません。私の提案したアプローチについて誰かがコメントしたり、より良い提案をしたりできるとしたら、本当にありがたいです。

2
ゲームプレイアクションを特定のアニメーションタイミングに同期するための良いテクニックは?
私が取り組んでいるゲームで問題に遭遇しましたが、それはおそらく多くのゲームで登場するかなり基本的なことのようです。 私のゲームでは、キャラクターアニメーションの特定の時点でゲームプレイ機能を実行する必要があります。そして、タイトルが示すように、ゲームプレイ関連のイベント/機能/アクションをキャラクターのアニメーションの特定のポイントに同期するためのいくつかの優れたテクニックと基本的な戦略は何なのかと思っています。 ここでは、さまざまな種類のゲームで私が話していることの簡単な例をいくつか示します。 あなたのキャラクターはシューティングゲームで彼らの銃をリロードします。キャラクターは「リロード」アニメーションを再生しますが、currentAmmo変数を設定する関数は、マガジンが交換されて銃がコックされた直後にのみ呼び出されることが重要です。これは、リロードアニメーションの途中の可能性があります。 では、ターンベースのRPGあなたのキャラクターは敵のラインが直面しているラインに立ちます。攻撃するように命じられると、キャラクターの1人が敵の1人まで走ったりジャンプしたり、立っている場所に走ったりジャンプしたりする前に巨大な剣を斬ったりします。スラッシュアニメーションが再生される正確なタイミングで敵がダメージを受けていることを確認する必要があります。 ではステルスゲーム、あなたのキャラクターがこっそりすることができ、世界でコンピューターとボタンと対話します。多分あなたが浸透している前哨のライトへの電力供給をオフにするボタンがあるでしょう。アクションボタンを押すと、キャラクターが手を伸ばしてボタンを押し、アイドル状態に戻ります。ボタンが押されたときに、「push_button」アニメーションの正確なポイントでライトをオフにしたい。 確かに、私の特定のケースは2番目の例に最も似ています。この例では、攻撃中にターンベースのキャラクターが前方に突進するアニメーションを作成し、アニメーションが接触していると思われる瞬間にダメージを適用したいと考えています。 。私のゲームはターンベースのシステム(ファイナルファンタジーやファイアーエンブレムのようなものを想像してください)を使用しているので、ダメージ/ヒーリング/マジックなどが必要です。実際にコリジョン/ヒットボックスを使用していなくても、各キャラクターアニメーションの正しいタイミングで適用されます。 私は人気のあるゲームエンジンでゲームを作成していること、そして今はアニメーションイベントまたは通知を使用してこれを処理し、望ましい結果に近い何かを達成することを言及しなければなりません-キャラクターが特定のコマンドを実行してトリガーしますコマンド固有のアニメーション(つまり、「attack_command」)と各コマンドのアニメーションアセットには、アニメーションイベントを含める/キャラクターのExecuteCommand関数に「コールバック」を通知する必要があります。言い換えると、キャラクターは攻撃アニメーションに再生を指示し、攻撃アニメーションはダメージが与えられるべきアニメーションの正確な瞬間にイベント/通知コールバックをキャラクターに送信します。 正直なところ、これは今のところ機能しますが、ここでは全体像の一部が欠けているように感じられます。このメソッドが間違っていると感じる理由の1つは、ゲームロジックとアニメーションアセットを結合することです。アニメーションアセットにExecuteCommand()イベント/コールバックを含めるのを忘れた場合、コマンドは正しく実行されず、コマンドを実行せずにコマンドアニメーションが終了したかどうかを確認するには追加のコードが必要です。それは乱雑で、私のゲームプレイがそのアセットに奇妙な依存関係を持っていることを意味します。もちろん、攻撃アニメーションの特定の時点でダメージが発生するようにしたいのですが、アニメーションアセット内のゲームプレイコードを呼び出すのはとても変です。 だから私はここで見落としているものは何ですか?アニメーション中に特定の時間に特定の重要なゲームプレイアクションを発生させたい場合に、このようなタイプの状況を処理するための優れた一般的なテクニックは何ですか? 編集:明確にするために、これはエンジン固有の質問ではなく、エンジン固有の設計/手法も探していません。使用しているテクノロジーに関係なく、ゲームプロジェクトで使用できる一般的なアニメーション/ゲームプレイ同期手法に興味があります。

1
自作のレンダリングシステムにリソースをキャッシュする方法
バックグラウンド: 私は、C ++とOpenGLを使用して、エンティティコンポーネントシステムタイプアーキテクチャ用のシンプルな3Dレンダリングシステムを設計しています。システムは、レンダラーとシーングラフで構成されています。レンダラーの最初の反復を終えたら、シーングラフをECSアーキテクチャーに配布します。今のところ、それは何らかの方法でプレースホルダーです。可能であれば、レンダラーの目標は次のとおりです。 シンプルさ。これは研究プロジェクト用であり、システムを簡単に変更および拡張できるようにしたい(したがって、ECSアプローチ)。 パフォーマンス。私のシーンには、多くの小さなモデルと、多くのジオメトリを持つ大きなボリュームがあるかもしれません。OGLコンテキストからオブジェクトを取得し、レンダリングフレームごとにジオメトリをバッファリングすることはできません。キャッシュミスを回避するために、データの局所性を目指しています。 柔軟性。スプライト、モデル、ボリューム(ボクセル)をレンダリングできる必要があります。 分離。レンダラーを作成した後、シーングラフがコアECSアーキテクチャにリファクタリングされる場合があります。 モジュラー。シーングラフを変更せずに、さまざまなレンダラーを入れ替えることができると便利です。 参照透明度、つまり、いつでも有効なシーンを指定できるため、そのシーンでは常に同じ画像がレンダリングされます。特にこの目標は必ずしも必要ではありません。シーンのシリアル化を簡略化し(シーンの保存と読み込みができるようにする必要があります)、テスト/実験の目的で実行時に異なるシーンを入れ替える柔軟性が得られると思いました。 問題とアイデア: 私はいくつかの異なるアプローチを考え出しましたが、各レンダリングノードのOGLリソース(VAO、VBO、シェーダーなど)をキャッシュする方法に苦労しています。以下は、これまでに考えてきたさまざまなキャッシングの概念です。 一元化されたキャッシュ。各シーンノードにはIDがあり、レンダラーにはIDをレンダリングノードにマップするキャッシュがあります。各レンダーノードには、ジオメトリに関連付けられたVAOとVBOが含まれています。キャッシュミスはリソースを取得し、ジオメトリをキャッシュ内のレンダーノードにマップします。ジオメトリが変更されると、ダーティフラグが設定されます。レンダラーがシーンノードを反復処理しているときにダーティジオメトリフラグを確認すると、レンダラーを使用してデータを再バッファーします。シーンノードが削除されると、イベントがブロードキャストされ、レンダラーは関連するレンダーノードをキャッシュから削除し、リソースを解放します。または、ノードに削除のマークが付けられており、レンダラーがノードを削除する責任があります。このアプローチは、4と5も考慮しながら、最も厳密に目標6を達成すると思います。2は、配列アクセスの代わりにマップルックアップを使用すると、複雑さが増し、データの局所性が失われます。 分散キャッシュ。上記と同様ですが、各シーンノードにはレンダーノードがあります。これにより、マップルックアップがバイパスされます。データの局所性に対処するために、レンダーノードをレンダラーに保存できます。その場合、シーンノードは代わりにレンダリングノードへのポインターを持つことができ、レンダラーはポインターをキャッシュミスに設定します。この種のエンティティコンポーネントアプローチを模倣しているので、アーキテクチャの他の部分と一貫性があると思います。ここでの問題は、シーンノードがレンダラー実装固有のデータを保持することです。レンダラでのレンダリング方法を変更する場合(スプライトとボリュームのレンダリングなど)、レンダーノードを変更するか、シーンノードに「コンポーネント」を追加する必要があります(つまり、シーングラフも変更します)。プラス面では、これは、最初の反復レンダラーを起動して実行する最も簡単な方法のようです。 分散メタデータ。レンダラーキャッシュメタデータコンポーネントは、各シーンノードに格納されます。このデータは実装固有ではなく、ID、タイプ、およびキャッシュに必要なその他の関連データを保持しています。次に、IDを使用して配列内で直接キャッシュルックアップを実行できます。タイプは、使用するレンダリングアプローチのタイプ(スプライトとボリュームなど)を示します。 訪問者+分散マッピング。レンダラーはビジターであり、シーンノードはビジターパターンの要素です。各シーンノードは、レンダラーのみが操作するキャッシュキー(メタデータのようにIDのみ)を保持します。IDは、一般化されたマップ検索の代わりに配列に使用できます。レンダラーを使用すると、シーンノードのタイプに基づいてシーンノードが異なるレンダリング関数をディスパッチでき、IDは任意のキャッシュで使用できます。デフォルトまたは範囲外のIDは、キャッシュミスを示します。 この問題をどのように解決しますか?それとも何か提案はありますか?私のテキストの壁を読んでくれてありがとう!

1
BitmapFont-新しい1.6 libGDXのgetBoundsメソッドの場所
最新のlibgdxバージョン1.6をダウンロードしましたが、BitmapFontテキストの中央にある問題を解決できません。バージョン1.54の以前のバージョンでは、getBounds()メソッドを使用してテキストの幅を調べていました。 ソリューションを共有してください
10 java  libgdx 

1
Unityで実行時にインタラクティブクロスからメッシュを保存する方法は?
シーンの開始時に、「ボール」のゲームオブジェクトの上に「シート」と呼ばれるゲームオブジェクトを配置しました。シートには、インタラクティブクロスコンポーネントとクロスレンダラーがあります。インタラクティブクロスコンポーネントのメッシュは、多数の頂点を持つ平面です。実行時にシートがボールの上に落下し、必要な形状が作成されます。この時点でInteractive Clothコンポーネントを無効にすると、シートメッシュは希望どおりにとどまりますが、プレハブとして引き出すことができません。 誰かがその形のコピーを取得する方法を知っていますか? たとえば、実行時にインタラクティブクロスからメッシュを読み取り、それを使用してインタラクティブクロスコンポーネントなしでメッシュを希望どおりに戻すことができます。 どんな助けでも大歓迎です。
10 unity  c#  3d-meshes  cloth 

2
Valveから支払いを受け取るには何が必要ですか?
私はロシアの開発者で、最近Steam Greenlightに合格しました。 現在、Valveプログラムの登録フェーズで立ち往生しています。私がバルブのフォームで見たことから、LLCなどの会社を作成する必要はありません。ここに「個人事業主」オプションがあります。これを選ぶことにしました。 質問は簡単でしたが、銀行口座に関する情報と税金に関する情報の2つにぶつかりました。 税金については、どうしたらいいか理解できたと思います。IRSでEINを申請し、フォームW-8BENに記入する必要があります。 しかし、銀行口座は別の獣です。どの種類の銀行口座を使用するか、私には決められません。日常生活で使用するこのような単純な銀行口座を作成するだけで十分でしょうか?このアカウントはどの通貨である必要がありますか?ロシアルーブルまたは米ドルで?ルーブルは私よりも望ましいですが、米ドルの銀行口座を作成することは問題ではありません。私はどちらがより良いかを決定することはできません。 US以外の人(そしておそらくUSも多分:))のインディー開発者がこのことについてある程度の知識を共有できれば素晴らしいでしょう。繰り返しますが、私の最も重要な質問: 1)会社を設立せずに「個人事業主」オプションを使用していますか?これは確かに合法で許容可能ですか? 2)Valveからの支払いを受け取るために通常の銀行口座を使用できますか?はいの場合、あなたの口座はどの通貨ですか? このスキームをすでに使用していて、Valveから少なくとも1回の支払いを受け取っているなど、確実に確信がある場合にのみ回答してください。 前もって感謝します!
10 legal  steam 

3
Unity3Dでの剛体ジャンプ力とバウンスの大きさの組み合わせの防止
Unity3Dでかなりシンプルな大理石のレーシングゲームを構築しています。ボールは、X軸とY軸上でのみ移動する3D物理オブジェクトです。左右に転がったりジャンプしたりする能力があります。ゲームを壊す問題に遭遇したことを除いて、かなり基本的なものです:落下して地面に当たったとき、ボールのバウンスの大きさをそのジャンプ力と組み合わせて、超高ジャンプを作成できます。つまり、適切なタイミングでボタンを押すと、プレーヤーはボールを急激に跳ね上げ、意図しない高さに達する可能性があります。この不具合が修正されるまで、レベルを適切に設計できません。この例を示しました: ただし、ジャンプは、ボールをまっすぐ上向きに発射するほど簡単ではありません。レベルの設計をより複雑にするために、ボールが転がっている表面に対してジャンプ角度をプログラムしました。 この図の図3は、これまでのところ私のゲームの動作を示しています。図4ではありません。Y軸上の正確な力または速度を単純に測定して設定することはできないので、これはバウンス+ジャンプの問題の解決をはるかに困難にします。これを行うと、奇妙な動作が発生します。これは、ボールが急な斜面を移動するときに劇的に顕著になります。 これまでのところ、私はこのゲームの他のすべてのデザインの問題の解決策を考え出して、それらをプログラムする方法を見つけることができましたが、これは私が行き詰まっています。私はさまざまな方法を試しましたが、どれもうまくいきませんでした。 以下は、ボールのジャンプを制御するC#スクリプトです。 using UnityEngine; using System.Collections; public class BallJumping : MonoBehaviour { public System.Action onJump; public Rigidbody objRigidbody; // Set this to the player public bool isGrounded; // Determines whether or not the ball is on the ground public Transform groundChecker; // A child object that's slightly …
10 unity  c#  physics  jumping 

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