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

Unityは、簡単なアートパイプラインプロセスに焦点を当てたクロスプラットフォームのゲーム作成システムです。ゲームエンジンと統合開発環境で構成されています。ゲームエンジンのスクリプトはMono上に構築されています。

2
レンダリングツリーのパフォーマンスへの影響をどのように減らすことができますか?
低ポリ様式のゲームを作っています。水がある地形があり、たくさんの木が欲しいです。現時点では、10,000本の木が大量に配置されています。各ツリーは200個以下の三角形で構成されているため、負担がかかりすぎません。 主な問題は、湖があり、湖が非常に大きいことです。湖の反対側には実際には木が見えません。特にそこを歩いていると木が突然現れたとき、それは本当にひどく見えます。 これを修正するには、湖の向こう側に十分な量の木が見えるように木の距離を長くする必要がありますが、パフォーマンスは40〜50 fpsに低下し、ゲームにはまだ他にほとんど何もありません。それが役立つ場合は、GTX 1080を使用しています。 ツリーを増やしてゲームをより速く実行するにはどうすればよいですか?

4
Visual Editorを最小限/使用せずにUnityでゲームをビルドするにはどうすればよいですか?
完全にC#でゲームを作成したいと思います。エンジンを検索したところ、Unity3Dが見つかりましたが、チュートリアルとドキュメントはすべて、ビジュアルエディターと、クリックしてポイントしてシーンやスクリプトを作成するUnity IDEについて説明しています。 私はそれをしたくありません。デザイナーが私から離れて物事を抽象化するよりも、完全なコードカバレッジを好む。純粋なC#コードをゼロから作成するか、必要に応じてUnityスクリプトを追加としてのみ作成したいと思います。そうすることについての説明や文書が見つかりませんでした。Unityを使用してビジュアルエディターを最小限(またはまったく)使用せずにゲームを構築するにはどうすればよいですか?
24 c#  unity 

2
クォータニオンの使用:それらで何ができますか?(数学なし)
私はゲーム開発者であり、数学を勉強していません。そのため、ツールとしてクォータニオンのみを使用します。また、3D回転を使用するには、クォータニオンを使用する必要があります(またはマトリックスですが、この質問ではクォータニオンに留まりましょう)。多くの開発者がそれらを使用することが重要だと思います。それが私の知識を共有し、できれば私が持っている穴を埋めたい理由です。今… だから私が理解した限り: クォータニオンは2つのことを説明できます。 3Dオブジェクトの現在の向き。 オブジェクトが実行できる回転変換。(rotationChange) クォータニオンでできること: 乗算: 四元数endOrientation =四元数rotationChange *四元数currentOrientation; たとえば、3Dオブジェクトは左に90°回転します-そして、私の回転は、右に180°回転し、最後に3Dオブジェクトは90°回転します。 クォータニオンrotationChange =クォータニオンendRotation * Quaternion.Inverse(startRotation); これにより、rotationChangeを取得し、これを別のOrientationに適用できます。 Vector3 endPostion = Quaternion rotationChange * Vector3 currentPosition; たとえば、次のようになります。私の3Dオブジェクトは位置(0,0,0)にあり、乗算する回転は180度右への回転であり、終了位置は(0、-50,0)のようなものです。そのクォータニオンの中には、軸とその軸の周りの回転があります。ポイントをその軸のY度に向けます。 Vector3 rotateOffsetVector = Quaternion rotationChange * Vector3 currentOffsetVector; 例:開始方向はUP-(0,1,0)を示し、乗算した回転は右に180°回転し、終了方向は下を示しています。(0、-1,0) ブレンド(LerpとSlerp): クォータニオンcurrentOrientation = Quaternion.Slerp(startOrientation、endOrientation、interpolator) 補間器が1の場合:currentOrientation = endOrientation 補間器が0の場合:currentOrientation = startOrientation Slerpはより正確に補間し、Lerpはより多くのパフォーマンスを補間します。 私の質問: 今まで説明したことはすべて正しいですか? クォータニオンでできるのはそれだけですか?(obv。not) 他に何ができますか? 2つのクォータニオン間のDot製品とCross製品は何に適していますか? …

7
Unityでタイトなスクリプトカップリングを回避するにはどうすればよいですか?
しばらく前に、Unityの使用を開始しましたが、依然として密結合スクリプトの問題に苦労しています。この問題を回避するためにコードをどのように構成できますか? 例えば: 健康と死のシステムを別々のスクリプトに入れたいです。また、プレイヤーキャラクターの移動方法を変更できるさまざまな交換可能なウォーキングスクリプトが必要です(マリオのような物理ベースの慣性コントロールと、スーパーミートボーイのようなタイトでぴくぴくしたコントロール)。ヘルススクリプトは、プレイヤーのヘルスが0に達したときにDie()メソッドをトリガーできるように、デススクリプトへの参照を保持する必要があります。デススクリプトは、使用中のウォーキングスクリプトへの参照を保持して、ゾンビにうんざりしている)。 私は考え、通常のように、インターフェースを作成しIWalking、IHealthそしてIDeath私は自分のコードの残りの部分を壊すことなく、気まぐれで、これらの要素を変更することができるように、。たとえば、プレーヤーオブジェクトの個別のスクリプトでセットアップしますPlayerScriptDependancyInjector。おそらく、そのスクリプトにはpublic IWalking、IHealthおよびIDeath属性があり、適切なスクリプトをドラッグアンドドロップすることで、レベルデザイナがインスペクタから依存関係を設定できます。 これにより、ゲームオブジェクトにビヘイビアを簡単に追加でき、ハードコードされた依存関係を心配する必要がなくなります。 Unityの問題 問題はユニティで、私はインスペクタでインタフェースを公開することができないということである、と私は私自身の検査官を書いた場合、参照が連載を取得文句を言わない、そしてそれは、不必要な多くの作業です。だからこそ、密結合されたコードを書くしかありません。私のDeathスクリプトは、スクリプトへの参照を公開していInertiveWalkingます。しかし、プレイヤーキャラクターにきめ細かく制御させたい場合、TightWalkingスクリプトをドラッグアンドドロップすることはできませんDeath。スクリプトを変更する必要があります。ひどい。対処できますが、このようなことをするたびに魂が泣きます。 Unityのインターフェイスの代替として望ましいものは何ですか?この問題を修正するにはどうすればよいですか?私はこれを見つけましたが、すでに知っていることを教えてくれ、Unityでそれを行う方法を教えてくれません!これも、どのように行うべきかを説明するものであり、方法ではなく、スクリプト間の密結合の問題に対処するものではありません。 全体として、ゲームデザインのバックグラウンドを持ってUnityに来た人のために書かれたものだと感じています。Unityには通常の開発者向けのリソースはほとんどありません。Unityでコードを構造化する標準的な方法はありますか、それとも独自の方法を見つけ出す必要がありますか?
24 c#  unity  scripting 

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 

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



4
Unityゲームでのプレイヤーの進行状況を保存する
Unityゲームエンジンを使用してゲームを作成しています。私はなど、レベル、経験値、選択した文字を含むプレイヤーの進行状況を保存する現在、私が使用していますplayerprefsを私はこれがうまくとして自分のモバイルデバイス(Androidの/ iOS版)でこのゲームを実行するゲーマーのために機能するかどうかを知りたいですデスクトップ(OSX / PC)として?そうでない場合、この情報をどのように保存する必要がありますか?各ステージをクリアした後、プレイヤーの進行状況を自動保存します。
22 android  unity 

3
スターをモデル化するにはどうすればよいですか?
私はUnityでスターをモデル化しようとしていますが、それは一種の作品ですが、理想的ではありません。現在、私は大きな球体を使用し、その表面に適用された星のテクスチャを含む自己照明マテリアルと、次のような星明かりの効果を作成するスポットライトを使用しています。 動作しますが、最高に見えません。Kerbal Space Programがスターをモデル化する方法に沿って、より効果を探しています。 どうすればこの効果を達成できますか?

2
Unityスプライトのunits to pixelプロパティは何に使用されますか?
2D開発用のUnityを学び始めています。 そのため、いくつかのスプライトをゲームにインポートしていますが、デフォルトではに「pixels to units」プロパティがあることに気づかずにはいられませんでした100。通常はに設定し1ます。この値を異なる値にする必要がある理由はあり1ますか?または、より一般的には、異なる複数のスプライトを持つ理由があります
22 2d  unity 

2
ショートカットグラス効果を実装するにはどうすればよいですか?
Rocket LeagueやFIFAなどのゲームのスクリーンショットを見てきました。 そして、私は1つが近道草効果を達成するだろうと思い始めました。 シェーダーですか?実際のジオメトリですか?それとも、テクスチャ付きのクワッドですか?誰かが私を方向に向けることができれば、それは大歓迎です。

5
粒子を発光させ、周囲に光を当てるにはどうすればよいですか?
私は現在、暗い森でホタル効果を作ろうとしています。レベルには非常に低い光があり、プレーヤーは数少ない光源の1つです。プレイヤーにレベルを見やすくさせるために、輝くホタルがマップ上にランダムに表示されるようにしています。1つの方法は、パーティクルシステムを使用することです。しかし、私は粒子が周囲に光を投​​げかけることはできません。これを行う方法はありますか?

3
伸縮性のある壊れやすいピザチーズ素材を作成するにはどうすればよいですか?
リアルなピザを作成し、ユーザーがそれを操作できるようにします。 私が欲しいもの: 私が作成したもの: Blenderでピザのモデル(8個)を作成し、Unityにインポートしました。ピザのピースは非常に人工的に見えますが、その主な理由は「堅い三角形」です。 ユーザーがピースを動かしたときにチーズを伸ばしたり壊したりするにはどうすればよいですか?

2
オブジェクトが何であるかに基づいてコンテキストメニューを設計する方法
「右クリックオプション」動作のソリューションを探しています。 基本的に、ゲーム内のすべてのアイテムは、右クリックすると、オブジェクトが何であるかに基づいて一連のオプションを表示できます。 さまざまなシナリオの例を右クリックします。 インベントリ:ヘルメットはオプション(装備、使用、ドロップ、説明)を表示します 銀行:ヘルメットにオプションが表示されます(テイク1、テイクX、すべてテイク、説明) フロア:ヘルメットはオプションを表示します(テイク、ここを歩く、説明) 明らかに、各オプションは、言われていることを行う特定の方法を何らかの形で指し示しています。これは、私が理解しようとしている問題の一部です。単一のアイテムに非常に多くのポテンショニングオプションがあるのに、クラスを非常に乱雑にならないように設計するにはどうすればよいですか? 私は継承について考えましたが、それは本当に長くかかり、チェーンが巨大になる可能性があります。 インターフェイスを使用することを考えましたが、Xmlファイルからアイテムデータをロードして汎用の「Item」クラスに配置することができないため、これはおそらく少し制限されます。 Runescapeと呼ばれるゲームに基づいて、目的の最終結果を作成しています。ゲーム内ですべてのオブジェクトを右クリックすると、オブジェクトの種類や場所(インベントリ、フロア、銀行など)に応じて、プレーヤーが操作できるさまざまなオプションセットが表示されます。 これをどのように達成しますか?まず、どのアプローチをとるべきか、どのオプションを表示すべきかを決定し、クリックしたら、対応するメソッドを呼び出す方法を決定する必要があります。 私はC#とUnity3Dを使用していますが、実際のコードとは対照的にパターンを追っているので、提供された例はどちらにも関係する必要はありません。 どんな助けでも大歓迎です。質問や希望する結果が明確でない場合は、コメントを投稿してください。できるだけ早く対応します。 ここに私がこれまで試したものがあります: 私は実際に、さまざまな種類のアイテム(追加攻撃、追加防御、コストなど)のすべての値を保持する一般的な「アイテム」クラスを実装することができました。これらの変数には、Xmlファイルのデータが入力されます。 可能な限りすべての対話メソッドをItemクラス内に配置することを考えましたが、これは信じられないほど面倒で貧弱なフォームだと思います。おそらく、1つのクラスのみを使用し、異なるアイテムにサブクラス化することにより、この種のシステムを実装するための間違ったアプローチを取っていますが、Xmlからデータをロードしてクラスに保存できる唯一の方法です。 Xmlファイルからすべてのアイテムをロードすることを選択した理由は、このゲームが40,000以上のアイテムを使用できる可能性があるためです。私の数学が正しければ、各アイテムのクラスは多くのクラスです。

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