2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

【3Dゲームエンジン】Unity質問スレッド17

1 :名前は開発中のものです。:2015/04/19(日) 12:16:54.53 ID:Erl+lZnN.net
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

次スレは>>970を踏んだ方が建てること。ダメなら>>980>>990が建てて下さい。

■前スレ
【3Dゲームエンジン】Unity質問スレッド16
http://peace.2ch.net/test/read.cgi/gamedev/1425192691/

■本スレ
【3Dゲームエンジン】Unity総合スレッド26
http://peace.2ch.net/test/read.cgi/gamedev/1429375487/

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
 http://unity3d.com/japan/
・ユーザーガイド&リファレンス
 http://japan.unity3d.com/developer/document/
・チュートリアル
 http://japan.unity3d.com/developer/document/tutorial/
・スクリプトリファレンス
 http://docs-jp.unity3d.com/Documentation/ScriptReference/
・FAQ
 http://answers.unity3d.com/index.html
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
注意事項:アセットおじさんは優しく愛でましょう

391 :名前は開発中のものです。:2015/05/11(月) 21:26:17.17 ID:CcP5+jor.net
Unity4.6.5f1で製作してます。
やりたい事:画面内でタップした@GameObject0(←ANavMeshAgentコンポーネント付き)の名前を取得したい。

Raycastを使ってGameObject名を取得する事自体は出来たんですが、@をタップしようとするとすり抜けて
下に配置されてる床のGameObejct2(←Colliderコンポーネント付き)が認識されてしまいます。
再生開始から数秒は、@の子にあたるGameObject1(←Colliderコンポーネント付き)や、@自体にCollierをつけてみると
取得出来るのですが、数秒立つと上記のようにまたすり抜けたりして挙動が安定しません。

NavMeshを適用したObjectにタップした時にどう安定してアクセスできるか、、
何か心当たりがある方いらっしゃいませんか?

392 :名前は開発中のものです。:2015/05/11(月) 23:27:26.65 ID:8VZA0iEPf
>>389>>390
ありがとうございました。おかげさまで何とかテキスト表示まで持ってこれました

393 :名前は開発中のものです。:2015/05/11(月) 23:21:09.62 ID:HkHDqq6J.net
C#関連の質問です。
unityで定義されているインターフェース(IPointerDownHandlerなど)について、
その処理内容の実態はどこに記述されているのでしょうか?

例えばIPointerDownHandlerの定義を遡っても、
void OnPointerDown(PointerEventData eventData);が書いてあるだけで、
一体なぜこれでクリック認識の処理が出来るのか、わけがわかりません。

394 :名前は開発中のものです。:2015/05/11(月) 23:33:38.41 ID:MNRmBkyg.net
Unityはソース公開してないよ。ブラックボックスだから一切フォークできない。
unrealengineとはそこが大きく違う。ただしuGuiはオープンソース。

395 :名前は開発中のものです。:2015/05/11(月) 23:37:14.71 ID:Flz0Rfd6.net
そういう共通の処理はどこかに実装されてて
利用者はイベントがあった際のメソッドとかを用意すればいいという感じになってる
この辺が他人が作ったエンジンのいいところであり悪いところかもね
XNAなんかもゲームループのコアの部分は隠匿されてて特定のタイミング呼ばれるところを
書くってスタイルだったし

396 :名前は開発中のものです。:2015/05/11(月) 23:38:36.56 ID:9xESL9Tn.net
>>393
Interfaceは呼び出し規約の定義(戻り値、メソッド名、引数定義の集合)
実装は自分のクラスにimplementする。

詳細はC#のclass,interfaceについて記載された書籍かMSDNで学習してくれ

397 :名前は開発中のものです。:2015/05/11(月) 23:41:50.56 ID:t1ob6tJP.net
play makerって、オブジェクトAの変数(プロパティ)をオブジェクトBのプロパティやメソッドに送ることできますか?

398 :名前は開発中のものです。:2015/05/12(火) 00:08:33.30 ID:awMiLw+L.net
>>394-396
そうだったんですか、ありがとうございます。中身を見れないのはちょっと辛いですね。

あと、これに関連した追加の質問をしたいのですが、、
『あるインターフェースを実装したクラスに、指定されたメソッドを作ってそこに内容を記述すると、インターフェース独自の処理が実行される』
というのは、初心者レベルでのインターフェースの知識では、やはり意味不明なところがあります。
というのも、あくまでもInterfaceとは、ある規格化されたメソッド宣言を行うことを強制する手段として用いるものですよね。
だとすると、なぜそこで新しい機能が自動的に実行されるのでしょうか。

イベントハンドラ?とか、拡張メソッド?とか、その辺りを駆使しているんですかね?全然分かりません。

分かりづらい質問ですみませんが、エスパー出来る方、よろしくお願いします。。。

399 :名前は開発中のものです。:2015/05/12(火) 00:26:08.70 ID:fjyqG3xL.net
そういう仕組みだからとしかいえないのかな?
https://unity3d.com/jp/learn/tutorials/modules/intermediate/scripting/interfaces

その辺はunityの仕組みつーより言語の仕様?

400 :名前は開発中のものです。:2015/05/12(火) 00:31:45.10 ID:fjyqG3xL.net
c#のインターフェースってC++のころの多重継承の弊害からできた機能だっけ?
この辺の話は使う側ではなく提供する側に回るとなんで存在するかとかわかるはず

総レス数 1011
314 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★