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

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

4
ゲームと音楽を同期する方法
ダンシングライン、ジオメトリダッシュ、またはギターヒーローなどのryhtmゲームに精通しているかもしれません。それらには共通点があります。ゲーム内のすべてのアクションは音楽と同期されます。私の目的は、Geometry Dashのようなゲームを作成することです。プレイヤーは、キャラクターがレベルを自動的にスクロールする間に、リズムでいくつかのアクションを実行する必要があります。このタイプのゲームについていくつか質問があります。 FPSは常に音楽と同期する必要があるため、FPSを一定に保つ必要がありますか? 音楽を念頭に置いてレベルを構築し、同期されるようにするにはどうすればよいですか? UnityでC#を使用しています。

1
Unity 2Dのピクセルアートを理解する
Unityのピクセルアートの背後にある基本を理解するのに苦労しています。 ユニットとは何かを理解しています。16x16ピクセルでスプライトを描画する場合は、PPUを16に設定する必要があります。 たとえば、スターデューバレーを見てください。下の画像では、プレーヤーが正方形ではないことがはっきりとわかります。ゲームの作成者は、すべてを16x16で作成したと言いましたが、キャラクターにはどのように多くの詳細がありますか?(タイルマップの場合のように)キャラクターを作成するためにいくつかの16x16の正方形にパッチを適用しませんか? 画像内の文字のように、正方形ではないものを処理する「一般的な」方法は何ですか。16x32スプライトを作成し、PPUを16に設定しますか?16x16スプライトの横で少し奇妙に見えるのではないでしょうか?通常、1つのサイズ(つまり、16、32、64)を選択して、ゲームのすべてのサイズを維持しますか? 私が見た視覚的な問題はこれです。32x32スプライトが16x16スプライトの隣で非常に場違い(鋭すぎる)に見えます。 したがって、1つの画像が他の画像よりもはるかに鮮明に見える場合に、この効果を得るためにどのようにサイズを混合するのでしょうか。たとえば、タイルが16x16のときに、文字を16x32、または非正方形の値にしたい場合

4
Unityライフサイクルメソッドは、UsedImplicitly属性で注釈を付ける必要がありますか?
UsedImplicitly属性を使用してUnityライフサイクルメソッドに注釈を付けると、コードが読みやすくなりますか? 例えば: public class Example : MonoBehaviour { [UsedImplicitly] private void Awake() { DoSomething(); } private void DoSomething() { // ... } } 「Unity MonoBehavioursの構造化」に関するこのブログ投稿は、このアプローチを有用な慣例として示唆しています。 Unityライフサイクルメソッド(Start、Awake、Update、OnDestroyなど)、イベントメソッド、および[UsedImplicitly]属性を使用してコード内で暗黙的(または自動的)に呼び出されるその他の関数に注釈を付けます。この属性はUnityEngine.dllに含まれていますが、参照されていないように見えるメソッドのコードクリーンアップの提案を無効にするためにReSharperによって使用されます。また、Unityやコードベースの初心者がコードを読みやすくするのにも役立ちます。特に、インスペクターを介して参照されるイベントの場合に役立ちます。 (注:ReSharperが一見参照されていないように見えるUnityライフサイクルメソッドのコードクリーンアップの提案を示しているとは思わないので、古くなったアドバイスかもしれません。) Unityの初心者には役立つかもしれないという上記の投稿に同意します。私はまた、これらのラベル付けすることが有用であると思うユニティライフサイクル機能頻繁にとして使用されていないAwake、StartとUpdate。しかし、これが実際に「クリーンなコード」のための良い慣習なのか、それとも読みやすさを低下させるのは単なるノイズなのかと思います。
9 unity  c# 

2
インスペクターでフィールドを表示(アタッチ可能)するがコード(プライベートライク)でアクセスできないようにする方法は?
もちろんbutton、type という名前の変数があるとします。ButtonSystem.Serializable その変数をインスペクターを通じて割り当て可能にしたいので、次のようにしますpublic。 public class SomeScript : MonoBehaviour{ public Button button; } それは私にそれを与えます: 今、私はコードをクリーンで安全な(整理された)状態に保ちたいのですが、カプセル化を維持する必要がある本当の理由があります。 私は実行時にコンポーネントを取得する方法が複数あることを知っています。transform.Find("Some/Genius/TypeUnsafe/Path")または、GameObject.Find("3 seconds scene iteration").GetComponent(...).それを避けたいです。 インスペクターで変数private accessをどのように混合しますpublic accessか?

2
アニメーターでスパゲッティを避けるには?
Unityでアニメーションを操作していますが、これまでに4つ(上下左右)しか作成しておらず、アニメーションウィンドウは次のようになっています... 問題は、私が上に移動している場合、ヒーローが「ニュートラルアイドル」(または彼が開始したもの)に移動しないで上を見続けることを望んでいることですが、それは私が4つのアイドルポジションを持っていることを意味します... 、左または右、彼らは追加の各アクションで指数関数的に行く... これは私が何か間違っているように感じます... 異なるアクション間で遷移するより良い方法はありますか?
9 unity  2d  animation 

5
Vector3で演算子 '> ='を使用できないのはなぜですか?
私は私がように参照する2つの位置の間を移動するための四角形を取得しようとしている_positionAとします_positionB。どちらもタイプVector3です。長方形はうまく動きます。ただし、到達_positionBしても、本来のように反対方向に移動することはありません。 コードをもう一度見てみました。オブジェクトが移動ifすると、コード内のステートメントは、rectsの位置がに等しいフレームを逃したという結論に達しました_positionB。rectsの位置がより大きいか等しい 場合は、コードを変更して方向を逆にすることにしました_positionB。私のコードは長すぎないので、以下に表示します。 using UnityEngine; using System.Collections; public class Rectangle : MonoBehaviour { private Vector3 _positionA = new Vector3(-0.97f, -4.28f); //Start position private Vector3 _positionB = new Vector3(11.87f, -4.28f); //End position private Transform _rect_tfm; private bool _atPosA = false, _atPosB = false; public Vector2 speed = new Vector2(1f, 0f); private …
9 unity  c#  vector  mathematics  vector  matrix  unity  c#  transformation  java  3d  terrain-rendering  shading  ios  opengl-es  opengl  rendering  optimization  python  scripting  minecraft-modding  modding  pc  3d-meshes  mesh  culling  point-cloud  networking  interpolation  mathematics  game-design  ai  game-mechanics  animation  unreal-4  skeletal-animation  3dsmax  unity  c#  3d  opengl  c++  textures  unity  ide  cocos2d  cocos2d-x-js  unity  c#  mono  il2cpp  c++  game-loop  timer  linux  flash  actionscript-3  java  glsl  c++  vector  entity-component  c++  directx11  windows  visual-studio  libgdx  mouse  unity  c#  architecture  storage  unity  c#  rotation  coordinates  quaternion  vrpn  movement  vector  unreal-4  unity  shaders  unity  gui  text  bug  shooter  3d  animation  rendering  voxels  c++  mmo  multithreading  linux  textures  procedural-generation  terrain-rendering  multiplayer  mmo  game-state  java  android  libgdx  opengl  procedural-generation  unity  gui  3d  animation  tools  geometry-shader  mobile  advertisements  unity  c#  animation  scripting  unity  animation  unityscript  coroutines  unity  shaders  lighting  camera 

1
モデルのアニメーションテクスチャ。シェーダーの書き方は?
ロケットリーグを見ていて、アニメーションのデカールとホイールがあることに気づきました。 。 上の画像の効果に似たものを実装したいと思います。 Unityシェーダーを作成してホイールエフェクトを作成するにはどうすればよいですか? シェーダーについてよく知りませんが、標準のUnityシェーダーを編集してアニメーション効果を実行できますか?

4
UnityでC#6コードがコンパイルされないのはなぜですか?
UnityがC#6コードで動作しないのはなぜですか?常にコンパイラエラーが発生します。以下にいくつかのコード例を示します。 using static System.Convert; using static System.Environment; $"€{punten}{NewLine}€{Money}{NewLine}€{KilledEnemies}{NewLine}€{bonus}{NewLine}€{total}"; コードエディターとしてVisual Studioを使用し、エラーなしでビルドしています。Unityで再生を押してもビルドされません。
9 unity  c# 

1
地形生成のためのOctreeの構築
以前にマーチングキューブ/四面体を実装して、IsoSurfaceをレンダリングしました。これは機能しましたが(YouTube)、ビューの距離に基づいて可変の詳細レベルを実装する(または古い、遠いチャンクを削除する)ことを回避できなかったため、パフォーマンスは悲惨でした。 今回はもう一度やってみることにしました。Build()が呼び出されたときに次のように機能するOctreeNodeを作成することから始めました。 チャンクが小さすぎてビルドできない場合は、すぐに戻ります。 サーフェスがこのチャンクのボリュームを通過する場合は、ワークアウトしてください。 その場合は、LODを上げるかどうかを決定します(カメラが近いため)。 その場合、8つの子を生成し、同じプロセスを呼び出します そうでない場合は、現在のノードの寸法を使用してメッシュを構築します いくつかのPseudoCode: OctNode Build() { if(this.ChunkSize < minChunkSize) { return null; } densityRange = densitySource¹.GetDensityRange(this.bounds); if(densityRange.min < surface < densityRange.max) { if(loDProvider.DesiredLod(bounds)² > currentLoD) { for(i 1 to 8) { if(children[i] == null) { children[i] = new OctNode(...) } children[i] = children[i].Build(); } } …
9 unity  c#  voxels  octree 

1
ResolutionException:com.google.android.gms:play-services-games:8.1+の候補アーティファクトが見つかりません
このエラーを取得する: EditorAssemblies.ProcessEditorInitializeOnLoad(System.Type type)(at C:/buildslave/unity/build/Editor/Mono/EditorAssemblies.cs:123)Rethrow as TargetInvocationException:例外が呼び出しのターゲットによってスローされました。System.Reflection.MonoCMethod.Invoke(System.Object obj、BindingFlags invokeAttr、System.Reflection.Binderバインダ、System.Object []パラメータ、System.Globalization.CultureInfoカルチャ)(/ Users / builduser / buildslave / mono-runtime- and-classlibs / build / mcs / class / corlib / System.Reflection / MonoMethod.cs:519)System.Reflection.MonoCMethod.Invoke(BindingFlags invokeAttr、System.Reflection.Binderバインダ、System.Object []パラメータ、System.Globalization .CultureInfoカルチャ)(/Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:528)System.Reflection。 これを解決するには?

1
スプライトシートの一部を手動で描画するにはどうすればよいですか?
Unityで作業していますが、2Dゲームで、アニメータが自分がやろうとしていることに対して機能していないことがわかりました。スプライトシートを使用して特定のアニメーションを構築し、同じアニメーションを、セルごとに同じサイズとサイズである他のスプライトで再利用したい。調査の結果、不可能だとわかりました。 代わりに、独自のアニメーションスクリプトを作成しようとしていますが、Unityにスプライトのセクションのみを描画するように指示する方法がわかりません。XNAのようなもので、開始座標と終了座標を使用してスプライトの特定の四角形のみをレンダリングできます。 スプライトシートの一部を手動で描画するにはどうすればよいですか?

2
Unity 5でUI画像のマウスオーバーを検出する方法は?
移動してズームインおよびズームアウトするように設定した画像があります。問題は、ズームはシーンのどこからでも実行できることですが、マウスを画像の上に置いたときにのみズームしたいのです。OnMouseEnter、OnMouseOver、イベントトリガー、コライダーなし、コライダー付き、トリガーコライダー付きの3つすべて、および画像自体と空のゲームオブジェクトでそれらすべてを使用しようとしました。しかし、それらのどれもうまくいっていません...だから私は絶対に困惑しています...誰かがここで助けてくれませんか! これが私のスクリプトです: private float zoom; public float zoomSpeed; public Image map; public float zoomMin; public float zoomMax; void Update () { zoom = (Input.GetAxis("Mouse ScrollWheel") * Time.deltaTime * zoomSpeed); map.transform.localScale += new Vector3(map.transform.localScale.x * zoom, map.transform.localScale.y * zoom, 0); Vector3 scale = map.transform.localScale; scale = new Vector3(Mathf.Clamp(map.transform.localScale.x, zoomMin, zoomMax), Mathf.Clamp(map.transform.localScale.y, …
9 unity  c#  gui  image  mouse 

2
一連のコルーチン
次々と実行される一連のコルーチン呼び出しを積み重ねるにはどうすればよいですか? コルーチンで一連のカラーlerpsをループする点滅するカラーエフェクトを取得しようとしましたが、機能しません。
9 unity 

3
Slerping回転ミラー
次のコードを使用して、ターゲットを監視するためにゲームキャラクターを回転させます。 transform.rotation = Quaternion.Slerp(startQuaternion, lookQuaternion, turningNormalizer*turningSpeed/10f) startQuaternionは、新しいターゲットが指定されたときのキャラクターの現在の回転です。 lookQuaternionは、キャラクターが見るべき方向であり、次のように設定されています。 destinationVector = currentWaypoint.transform.position - transform.position; lookQuaternion = Quaternion.LookRotation(destinationVector, Vector3.up); turnNormalizerはTime.deltaTimeインクリメントされるだけturningSpeedで、エディターで指定される静的な値です。 問題は、ほとんどの場合、キャラクターが正常に回転する一方で、180度に近づかなければならないときに問題が発生することです。次に、時々それがジッターして回転をミラーリングします: この不十分に描かれた画像では、キャラクター(右側)が左側の円に向かって回転し始めます。左または右に回転するだけでなく、この「ミラーダンス」が開始されます。 新しいフェーシングに向かって回転し始めます その後、突然同じ角度にスナップしますが、反対側で回転し続けます ターゲットを見るまで、この「ミラーリング」を長時間実行します。これは、四元数、slerping / lerpingなどの問題ですか? EDIT1: どうやら、問題は回転自体から発生するのではありません。より可能性の高い問題は、キャラクターが回転しているときに面に向かって移動することです。キャラクターが動くことを許可されているとき、向きとターゲットの間の角度を制限することで、ジッター/ミラーリング回転が減少し、時には解消されます。 もちろん、これはさらに多くの疑問を投げかけますが、なぜ問題なくキャラクターが同時に移動および回転できないのですか?運動に使用されるコード: transform.Translate(Vector3.forward * runningSpeed/10f * Time.deltaTime);

1
2番目のゲーム内カメラから録画し、後でビデオファイルにエクスポートするにはどうすればよいですか?
UnityでPCホラーゲームを作成しています。ゲーム内でカメラ録画シミュレーションを行いたいので、いつでも不気味な場所を離れることができます。探索中にカメラで録画したものをテープに収めることができます。 技術的には、2つ目のカメラ(ハンドカメラ)をキャラクターの手に取り付け、プレーヤーにボタンを押してビューファインダーを覗かせます。しかし、どの位置でも、ハンドカムはその時点でフォーカスされているすべてのもの(床、階段、ゴミなど)を記録する必要があります。手の高さで下げても、プレーヤーの視点に合わせて上げてもかまいません。 ゲームが終了したら(プレーヤーが去るか死ぬか)、記録したテープをビデオファイルに保存するオプションが必要です(これが不可能な場合は、いくつかの保存ファイルに保存します)。 ゲームにそのような機能を実装するにはどうすればよいですか?特別なUnityのトリック、またはアドオンと追加のモジュールはありますか?アクティブなトリガーで装飾やシーンを保存したり、画面からビデオを取得したりしますか? 以下は、私が意味することの簡単なMSPaintの概念です。

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