問題タブ [unity3d]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1657 参照

javascript - カスタム マウス カーソル + IE の問題

私はこれらの属性を持つプロジェクトに取り組んでいます:

  1. ページを駆動するjQuery
  2. jQuery を使用してページに埋め込まれた Unity 3d プレーヤーとunityobject.js(Unity からの指示に従って)
  3. ユーザーのカーソルが Unity のキャンバス領域内にある場合、Unity にはカスタム マウス カーソルがあります。

問題: Unity はマウス カーソルをキャプチャしますが、それを含む Web ページが非アクティブになったときに解放しません。これは、ユーザーが別のタブに切り替える (または新しいウィンドウを開く) 場合、Unity があったはずの領域にマウスを移動すると、マウス カーソルが消えることを意味します。これは Unity 3d フォーラムで説明されている Unity のバグです: http://forum.unity3d.com/threads/4565-Unity-Web-player-issue-mouse-hidden-for-all-new-windows

いいえ、Unity Web クライアントの最新バージョンではまだ修正されていません。

この問題を軽減するために、Unity が JavaScript を介して現在のブラウザー ウィンドウのステータスをリッスンし、受け取ったステータスに基づいてカスタム マウス カーソルをキャプチャ/リリースすることにしました。しかし、他にも問題があります:

Unity がウィンドウ ステータスを受け取る方法:


私は次の方法を試しました...

方法 1: イベントを「window」オブジェクトにバインドする

問題: IE7 と IE8 では、新しいブラウザー タブは別の「ウィンドウ」と見なされないため、コードは Unity に影響しません。真の別のブラウザ ウィンドウが開いている場合にのみ機能します。



方法 2 :イベントを「ドキュメント」オブジェクトにバインドする$( document ).live(...);

問題: $( document ) jQuery では実際には何もしません。難しい方法を見つけました。
ソース: http://forum.jquery.com/topic/should-document-live-map-to-document-bind-window-too


<body>
方法 3 :イベントをオブジェクトにバインドする$( 'body' ).live(...);

問題:どういうわけか IE は Unity オブジェクトが DOM の一部であることを認識しません (.live()メソッドを使用しているにもかかわらず)。そのため、ユーザーが組み込みの Unity プレーヤーをクリックするたびに、ブラウザーはblurイベントを Unity に送信し、マウス カーソルがロックされます ( Unity がクリックされるとconsole.log()出力されます)。inactiveまた場合によっては、マウス カーソルを解放することさえできず、ブラウザ全体がマウス イベントに応答しなくなります。カーソルを解放する唯一の方法は、ブラウザー ウィンドウの外側をクリックし、ブラウザーをもう一度クリックすることです)。


私が試した他のこと:

問題: .addEventListener()これらの要素のメソッドは、IE ではまったくサポートされていません! ガッ!


おまけ:
より注意深い人は、「ねえ、Unity オブジェクト自体でマウス クリック イベントを検出して、そのblurイベント (.live()複数可) を無視してみませんか?」と言うかもしれません.bind()。それを試しました。IEもそれが好きではありません。イベントを完全に無視し、それらのイベントはオブジェクトには使用できないと伝えます。

だから私の仲間のJavascriptグル。この問題にエレガントな方法で最善の方法でアプローチする方法について、私はアイデアがありません。任意のポインタをいただければ幸いです。

0 投票する
1 に答える
7588 参照

unity3d - ogre3dまたはunity3dを選択する必要がありますか?

私はゲーム開発に不慣れです。私はc++、c、pythonが得意なので、プログラミングは私の問題ではありません。しかし、私はogre3dとunity3d(無料バージョン)を混同しています。どちらも異なるogreはAPIのようなものであり、unityはゲームエンジンです。しかし、私は自分のプロジェクトにどちらを使用するか本当に混乱しています。プロジェクトに1か月かかりましたが、短時間で優れたグラフィックスを備えたゲームを開発する必要があります。誰かが私を正しい道に導くことができますか?誰もが私に団結と鬼の賛否両論を与えることができますか..?。

要するに、ゲーム開発にはどちらが良いですか..?..鬼または団結(無料版)..?

0 投票する
3 に答える
8014 参照

objective-c - 関数宣言子の後に期待される関数本体

xcode で unity3d プロジェクトをコンパイルしようとしていますが、以下の関数で次のコンパイル エラーが発生します。何が原因か分かる人いますか?

Xcode 4、SDK 4.3、および Unity 3.3 を使用 ベース SDK は 4.3 に設定され、Unity の SDK バージョンは 4.2 に設定され、iOS は 3.2 にターゲット設定されます

AppController.mm:710: エラー: '.' の前に初期化子が必要です トークン

AppController.mm: エラー: 解析の問題: 関数宣言子の後に関数本体が必要です

上記の関数の前のコードは次のとおりです。

0 投票する
1 に答える
1049 参照

javascript - SilverStripe CMS Unity3D Web プレーヤーの埋め込みの問題

SilverStripe CMS バージョン 2.4.5 を使用して、Unity3D (www.unity3d.com) Web プレーヤーをサイトに追加しようとしています。SS が Web プレーヤーを含む私のコードを動的に削除しているように見えます。終了 div タグを残します。

単純な静的ページに Web プレーヤーを埋め込むのは非常に簡単です。次のコードが必要で、完全に機能します。HTML:

0 投票する
1 に答える
987 参照

animation - ローカル位置のアニメーション

私はこれを作ろうとしています:

キャラクターが大きな木箱に近づき、プレイヤーがeキーを押すとアニメーションが再生され、キャラクターが木箱に登っていきます。(すべて一人称視点)。

これまでのところ、Unity の通常の「First Person Controller」プレハブでこれを試しました。

これまでの私のコード:

ただし、これを FPC で使用すると、常にアニメーションが作成された位置から再生されます。また、空のゲーム オブジェクトを作成して、そこに FPC を配置しようとしました。同じ効果が得られます。

直近では、FPC単体のグラフィックだけアニメ化してみました。これは機能しているように見えますが、Character Controller 自体はアニメートされていないため、地面にとどまります。そのため、FPC 全体が機能しなくなります。

プレーヤーがその時点でいるローカル位置でこのアニメーションを再生できる方法はありますか? それとも、つかんで登るための他の論理的な解決策を思いつくことができますか?

0 投票する
1 に答える
1167 参照

ios - iOS が次のレベルをロードしない

Unity の初期レベルが大きいと、読み込みが完了する前に iPhone/iPad がアプリをシャットダウンすることを認識しています。私が考えた解決策は、1 または 2 フレームで降伏してから次のレベルのロードに進むローディング レベルです。

これは何らかの理由で機能しないようです。どちらのシーンも Unity のビルド ウィンドウで正しく設定されており、Xcode ではエラーは発生しません。

私が説得できる提案はありますか?

0 投票する
2 に答える
7511 参照

unity3d - マウススクロール入力を取得するには?

Unity3D で単純な武器の変更を試みています。これを行う最善の方法は、私が見る限り、マウスのスクロール ホイールを使用することです。

これを行う方法をグーグルで調べたところ、Input.GetAxis("Mouse ScrollWheel"); を使用する必要があることがわかりました。このコードを使用して印刷します。それでも私は常に0の値を取得します。何かアイデアはありますか? 最初に値を取得する方法を解決する必要があるだけで、残りは自分で理解できません。

コードのアイデア:

0 投票する
1 に答える
662 参照

iphone - Unity3diphoneゲーム開発

unity3diphone開発の入門チュートリアルはありますか?また、Unityで開発するためにObjectiveC言語を使用したチュートリアルも見たことがありません。だから、ObjectiveCのあるものがあれば教えてください。

前もって感謝します。

0 投票する
1 に答える
572 参照

unity3d - 派生オブジェクトを階層で回転させると、それらがスケーリングされますか?

課題のために、私はアミューズメントに乗ってUnity階層を実験するように言われました。上下に動く、うまく機能するサーフェスを作成しました。上下に移動するサーフェスに新しいオブジェクトを追加して回転させようとすると、それらも同時にスケーリングされます。なぜこれが起こるのかわかりません。ルートオブジェクトの外で作成してから追加しようとしましたが、同じことを行います。誰かが私が間違っていることについてのヒントを私に与えることができれば、それは素晴らしいことです。

0 投票する
3 に答える
1925 参照

unity3d - ゲームオブジェクトを見つける前に遅延を追加する方法

敵を刺すことができるゲームを作ろうとしています。敵は約 1 秒間もがき、死んでしまいます。(ラグドール);

私のスクリプトを表示するのが最善だと思います。あなたは私が何を意味するか知っています:

オン トリガーで、スクリプトを入力します。

そして更新機能で:

今、私のナイフが敵の衝突に入ると、敵はすぐに床に落ちます. 私は入れてみました:

の更新機能でif(StopBleeding > 50)

これを行うと、スクリプトが敵を見つけることができるため、Null reverance exception のエラーが発生します。それができる間、私は引き金に入ることができます。

基本的に私の質問は次のとおりです。このエラーを修正して 50 フレームの遅延を与える方法はありますか (残りはすべてStopBleeding動作します)。

または、ラグドールがアクティブになる前に簡単な遅延を入れる方法はありますか?

前もって感謝します