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

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

3
Unityでの惑星サイズの世界のフロート制限の克服
私の知る限り、Unityで世界の原点から100万ユニットを超えることは、浮動小数点の精度の問題のため、ほとんど不可能です。 半径が1M単位を超える世界を作成するにはdouble、座標にvarを使用するか、いくつかの空間分割手法を使用して、大規模なシーンを階層チャンクに分割する必要があります。最小のチャンクは約10000単位です。つまり、各ワールド空間の位置が表現されます。チャンク階層によって、オブジェクトのインとfloat、最後のチャンク内のローカル位置(および場合によっては回転とスケーリング)を表すvarの束。 どちらの方法でも、これを行うには完全に新しい座標系を実装する必要があるため、Unityでそれが可能かどうか、可能であれば、物理学などの既存のUnityシステムでそれをどのように機能させるかについて知りたいのです。 PS惑星の周りで同時に物事を進行させたいので、プレイヤーが移動するときに世界を原点に移動することはできません。 ありがとう!

2
障害物にスナップするドラッグ可能なオブジェクトを作成するにはどうすればよいですか?
私はまだマウスでドラッグして別の質問(私はC#でUnityを使用しています)を持ちますが、それほど一般的ではない詳細:ドラッグが発生する経路の途中に障害物が存在する(2Dではなく3Dスペース) 。 説明させてください。"obj"と呼ばれる立方体をドラッグしたい平面があるとします。それは簡単です。これが私の簡単な実装です: void Update () { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if(Physics.Raycast(ray, out hit, 1000000)) obj.transform.position = new Vector3(hit.point.x,0.25F,hit.point.z); } できます。ただし、平面上に障害物である他のいくつかの立方体もあるとします。明らかに、プレイヤーが平面上で「obj」を動かすとき、そのような動きは障害物によってブロックされるべきです。そして、障害物と衝突している間、「obj」はその障害物の側面にのみ移動して移動する必要があります。マウスを動かして "obj"が障害物との衝突をやめると、自由なドラッグスタイルの動きが再開されます。 課題をより困難にするために、障害物でRigidBodyコンポーネントを使用せずにそれを達成するために懸命に努力しています(ドラッグされたオブジェクトはそれを持つことができます)。それを達成するための最も効率的な方法は何ですか?どうもありがとう! 編集:コメンテーターは私の注意を喚起しました、私はスナップするときにオブジェクトが回転することを許可されていることを言及すべきです。 編集2:元の定式化の難しさを考慮して、ドラッグされたオブジェクトでのリジッドボディコンポーネントの使用を許可する質問を変更しました。ソリューションでは、障害物でリジッドボディコンポーネントを使用できません。

2
C#Unityのポインター
ちょっと最近ポインタについて学んだばかりで、c#でそれらをどのように使用できるのか疑問に思っています(c ++でそれらについて学んだばかりです)。でもいくつか質問があります。 ポインターは低レベルのプログラミングを使用してコンピューター上のさまざまな値の位置を見つけます。つまり、任意のスクリプトから変数の値にアクセスできるということですか。 もしそうなら、ロケーションコードだけで変数のロケーションを呼び出すにはどうすればよいですか? C#とC ++のポインターの間に、私が知っておくべき識別可能な違いはありますか? Unityの変数タイプ(Vector3s、Transforms、GameObjectsなど)でポインターを使用するにはどうすればよいですか? さらに多くの質問があるので、追加の情報やソースがあるかどうかを確認します。

0
OpenFLを使用したSceneManagerの実装
OpenFLとHaxeを使用して基本的なSceneManagerを実装しようとしています。OpenFLとHaxeの使用経験はあまりないので、いくつか問題があります。 以下は、SceneManagerクラスの設計方法です。 package; import openfl.display.Sprite; import openfl.Lib; class SceneManager extends Sprite { private var currentScene: ...; public function new(rootScene: ...) { super(); currentScene = rootScene; Lib.current.addChild(currentScene); } public function changeScene(newScene: ...): Void { Lib.current.removeChild(currentScene); currentScene = newScene; Lib.current.addChild(SceneTwo); } } 「...」は、どのシーンでも保持できる一般的な「クラス」タイプに置き換える必要があります。 誰かがこれを解決するのを手伝ってくれるなら、私は本当に感謝するでしょう。

1
(Unity)多くの移動オブジェクト用に最適化されたネットワーキングソリューション
私は現在、かなり野心的なプロジェクトに取り組んでいます。要するに、それはバクテリアの力学を持つリアルタイムのマルチプレイヤー戦略ゲームです。 基本的に、私は環境内に2人のリモートプレイヤーがいて、彼らはバクテリアのようなユニットをスポーンさせて、お互いに攻撃して増殖し、リソース制限に達するまで自分自身を複製することができます。これにより、約200以上のゲームオブジェクトが画面にレンダリングされ、それぞれに独自の状態と動きがあります。これは悪いように聞こえますが、ボットに対するローカルのゲームプレイは実際には非常に優れており、私はそれを非常に高性能にすることができました。 ただし、このゲームをネットワーク化しようとすると問題が発生します。私はすでにこのガイドに従ってこの機能を実装しようとしました:http : //www.paladinstudios.com/2013/07/10/how-to-create-an-online-multiplayer-game-with-unity/ これにより、最高のレイテンシであっても、非常に遅く、不快なゲーム体験が生成されます。これはおそらく、数百のユニットの移動データを送信する必要があるために発生します。 私が提起している質問: 2つのクライアント間の多くの移動ユニットのネットワークと同期を最適化するにはどうすればよいですか? これを行う方法の1つはすでに考えました。ユニットをスポーンした後、何かに当たるまで一方向にのみ移動します-おそらく、ユニットがスポーンされたときと、別のオブジェクトと相互作用したときにのみ同期できますか?これには多くのメリットがありますか?これを実装する理想的な方法は何ですか? 回答ありがとうございます!

1
カスタムエディター-デフォルトの外観を維持しますが、さらに追加します
OnInspectorGUIを使用して、インスペクターを1つまたは2つの追加フィールドのみを含むものに置き換える簡単な方法があるかどうかを知りたいです(1つまたは2つの追加を除いて、非カスタムエディターと同じに見えるように)最後に2つのフィールド)。少しだけ追加したいのに、手動ですべてのフィールドを再作成するのは面倒なようです。 または、特定のタイプのフィールドのデフォルトの描画を行うように統一を簡単に指示する方法はありますか?以前これで遊んでいたとき、私は表示されるものに厳密にコミットする必要があり、手動で各フィールドを書き出す必要がありました---クラスのパブリックフィールドが変更されると面倒です-そしてそれらは開発中に頻繁に行います。 tl; dr-カスタムエディターでインスペクターのデフォルトの動作をシミュレートする方法はありますか?
8 unity  gui 

3
Unity2Dトールグラス
Unityを使用して2Dトップダウンゲームを作成しています。これまでのところすべてが順調ですが、適切に解決できない問題に直面しています。 キャラクターの一部が隠れてしまう「背の高い草地」を実装したい。 視覚的な例: 私は背の高い草をレイヤーごとに作成することを考えていましたが、それはゲームオブジェクトの多くを作成し、キャラクターが上に移動するときの遷移は十分に滑らかではありません。 私はこれにどのようにアプローチできますか?シェーダーを使用してこのようなことを達成できると思ったのですが、私のシェーダーに関する知識は非常に限られているため、そのようなことが可能かどうかさえわかりません。
8 unity  2d  sprites 

1
プログラムによるUnity 5 2D描画スプライト
Unity 5でスプライトをプログラムで描画するにはどうすればよいですか?spriteBatch.Draw()XNAに似たものを探しています。私がそれについて検索したときに得られる結果は、古いhttp://wiki.unity3d.com/index.php?title=SpriteManager(これは2012年に書かれた)であるか、ユニティインターフェイスを使用して行われています。私は見つけることができるすべてがあるSpriteUnityEngine.dllでクラス。これは私が必要なものですか?描画はどのように機能しますか?本当にわかりません。
8 c#  unity 

3
Unityで2つの2Dスプライトの間にUI画像を配置する
Unityで2Dゲームを開発しています。 を使用してレンダリングされた2つのスプライトオブジェクトがありますSpriteRenderer。 新しいUIシステムでは、それを使用して2つのスプライトの間に画像を表示します。つまり、最初のスプライトの並べ替え順序は100、次にUIイメージの並べ替え順序は200、2番目のスプライトの並べ替え順序は300です。 それは可能ですか? 並べ替えレイヤーを使用してみましたが、UIイメージが常に2つのスプライトをオーバーレイしているようです。
8 unity 

2
Unity 3d 4プレイヤー一度に押すことができるボタンは4つだけです
一度に押すことができるボタンは4つだけなので、プレーヤーは時々移動できません 各プレーヤーには独自のコントロールがあります i変更、上向き矢印、およびその他の各プレーヤー用のもの--- v 入力V-VV public string UpArrow; public string DownArrow; public string LeftArrow; public string RightArrow; if(Input.GetButton(UpArrow)) transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime); if(Input.GetButton(DownArrow)) transform.Translate(-Vector3.forward * moveSpeed * Time.deltaTime); if(Input.GetButton(LeftArrow)) transform.Rotate(Vector3.up, -turnSpeed * Time.deltaTime); if(Input.GetButton(RightArrow)) transform.Rotate(Vector3.up, turnSpeed * Time.deltaTime);
8 unity  input 

2
洞窟を生成する高度なセルラーオートマトン
Unityで洞窟を作ろうとしています。これを行うために、私はセルオートマトンを使用しようとしています。私が達成しようとしていることに似ている次の(洞窟のルージュ盆地セルラーオートマトン)を見つけました。 しかし、チュートリアルは完全に私が望んでいるものではありません。このWebサイト(Don Jon Caves)が「海綿」の設定で作成したもの(下の画像を参照)が欲しい。 画像でわかるように、すべてが接続されています。私は数多くの方法とライブラリを試しましたが、何もうまくいきませんでした。 私はしばらくの間この問題に取り組んできましたが、これまでにどんなガイダンスもありがたいと思います。 ありがとう

1
カスタムTexture2Dがぼやけるのはなぜですか?
いくつかのWWWオブジェクトに.PNGイメージをダウンロードさせます。 ((SpriteRenderer)renderer).sprite = Sprite.Create(request.texture, new Rect(0,0,100,100)); 私のスプライトはうまく見えます。 ここで、少し冗長にTexture2Dして、ダウンロードからバイトを作成します。 Texture2D t = new Texture2D(100,100); t.LoadImage(request.bytes); ((SpriteRenderer)renderer).sprite = Sprite.Create(t, new Rect(0,0,t.width,t.height)); 技術的には、これにより上記のスニペットと同じものが生成されます。ただし、スプライトはぼやけています(低品質など)。 電話するときだと思いますLoadImage。これは何が原因ですか?
8 unity  textures 

1
Unity3D-2Dスプライトをテッセレーションする方法?
2Dスプライトで動的な頂点ライティングを使用しています。大きいスプライトでは、小さいスプライトよりも照明が醜くなります。これは、すべてのスプライトが2つの三角形の四角形であるためです。広い領域を照らすのに十分な頂点がありません。 スプライトでより多くの三角形を使用する方法はありますか?彼らがカバーしている画面スペースの大きさにもよるでしょうか?

3
Unityが2Dモードである場合、なぜスケーリングとデフォルトのothographicサイズを採用しているのですか?
以前にSFML、XNA、Monogameなどを使用して2Dゲームを作成しました。画面に100pxのスプライトを表示すると、100px かかります。128pxタイルを使用して背景を作成する場合、最初のタイルは(0、0)にあり、2番目のタイルは(128、0)にあります。 一方、Unityには独自の奇妙な単位系があり、すべての変換、ピクセルから単位への変換、オソグラフィックサイズなどでスケーリングされます。つまり、私の質問は2つあります。 Unityがデフォルトで2Dのこのシステムを持っているのはなぜですか?モバイル開発用ですか?私には見られない大きなメリットはありますか? Photoshopに128x128のスプライトがある場合、ゲームを実行するとUnityで128x128のスプライトとして表示されるように、環境を設定するにはどうすればよいですか? デスクトップのみをターゲットにしていることに注意してください。
8 2d  unity  sprites  camera 

2
shmupでの2D Bulletの一定の動き
pixelnestチュートリアルに従って2D shmupを作成しました(http://pixelnest.io/tutorials/2d-game-unity/player-and-enemies/)。 これに取り組んでいる間、弾丸の連続的な流れを得るために発射率を上げることを実験しました、そして船が後方に動かされると弾丸はより間隔が空いていて、船が前方に動かされるときそれらは塊になることに気づきました。プレーヤーの動きに関係なく、弾丸間の距離を一定に保つ方法はありますか? 私も気にする必要がありますか?プレイヤーが後方に移動した場合、発射率は本質的に遅くなり(少なくとも画面の端に到達するまで)、前方に移動すると逆になります。
8 2d  unity 

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