トップページgamedev
1002コメント372KB

【3Dゲームエンジン】Unity質問スレッド23 [無断転載禁止]©5ch.net

レス数が1000を超えています。これ以上書き込みはできません。
0001名前は開発中のものです。2016/03/08(火) 17:08:01.75ID:k9REU5f/
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
Windows/Mac用。JavaScript/C#といった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

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

■本スレ
【3Dゲームエンジン】Unity総合スレッド27 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1441891966/

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

●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・ユーザーガイド
 http://docs.unity3d.com/ja/current/Manual/UnityManualRestructured.html
・チュートリアル
 http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
 http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
 http://unity3d.com/jp/unity/faq
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

前スレ
【3Dゲームエンジン】Unity質問スレッド22
http://echo.2ch.net/test/read.cgi/gamedev/1452443083/
0966名前は開発中のものです。2016/05/01(日) 23:19:48.71ID:wVT/k+68
コードをスマートに書きたいとか考えだすとキリがないからやめろ
作りながら考えて良い方法が思いついたら次のゲームからやれ
0967名前は開発中のものです。2016/05/01(日) 23:36:59.13ID:4QpsYJw1
>>966
同意
>>965
基本を知ってればその質問はしないな
Arrayを使うこだわりがあるのか知らんが、Listを使えば終わりな話だからな
0968名前は開発中のものです。2016/05/01(日) 23:43:13.87ID:qX7VKaIV
スマートとかそんなの以前に根本的なところで間違ってるんだから指摘してやれよ……

type[]は配列操作しないこと前提だから素直にList<T>を使え
コードはこんな感じだ

List<int> narabi = new List<int>(){1,2,3,4,5};
narabi.RemoveAt(2);
narabi.Add(0);

詳しいメソッドはList<T>でググれ
0969名前は開発中のものです。2016/05/01(日) 23:51:50.84ID:663sAXvh
>>965
配列っていうのは基本的にそういうことをスマートに一文でやる、という方法はない。
泥臭く中身を入れ替えてくしかないんだよ。詰める、などという発想で作られているデータ構造ではないから。
アドレスが順番に並んでいるから早くアクセスできる、というのが配列の特徴でとにかく頭から順に処理するためのものだ。
そういうことをしたいなら>>967のいうようにListを使う。
ListやQueueやStackやDictionaryみたいな処理に適したデータ構造というものがあるってことだ
0970名前は開発中のものです。2016/05/01(日) 23:55:46.68ID:XyyshtZv
宿題なので答えは書かないように
0971名前は開発中のものです。2016/05/02(月) 00:09:05.60ID:mvH3eETo
eachは使えないの?
0972名前は開発中のものです。2016/05/02(月) 00:14:46.04ID:9aEN65yZ
めんどくせww

int[] narabi=new int[5];
narabi={1,2,3,4,5};
int[] narabi2 = new int[5];
foreach(int Int in narabi.){
if(Int == 3){
}eles{
narabi2. add(Int);
}
}
narabi2. add(0);
0973名前は開発中のものです。2016/05/02(月) 00:15:37.36ID:9aEN65yZ
あ、.いらね
0974名前は開発中のものです。2016/05/02(月) 00:32:44.58ID:0q4xoJPa
>>965
非推奨:https://ideone.com/MzyYIn
推奨:>>968
0975名前は開発中のものです。2016/05/02(月) 00:56:12.67ID:fztGoFWr
配列だけでゴリ押しした方が地力はつく。
リストなんてサルでも使えるし、脳みそ使わなくて痴呆症になるわ。
0976名前は開発中のものです。2016/05/02(月) 01:38:44.68ID:2EFix3XQ
ほんとおまえらって馬鹿みたいな単純な質問ほど食いつきがいいなあw
0977名前は開発中のものです。2016/05/02(月) 01:42:28.18ID:EnZTTc62
どうしても配列じゃなきゃダメで処理部分を1行で書きたければLinq使ってこんな感じに書くかね
using System.Linq;を先に書いとかないと動かないし、この程度のことにLinq使うのは馬鹿だがw

narabi
= narabi.Concat(new int[]{0}).Where((i,v)=>{return v!=3;}).ToArray();
0978名前は開発中のものです。2016/05/02(月) 01:47:05.07ID:EnZTTc62
布団でゴロゴロしながらスマホで打ってたら無駄な改行が入ってた、すまんw
まあでもちょっと込み入ったデータの選び出しをするならLinqは便利だから覚えておいて損はないと思うぞと
0979名前は開発中のものです。2016/05/02(月) 02:18:43.00ID:GfHgInKF
UniRxのObservableWWW.Postでタイムアウトのトラップのやり方分かる人いませんか
Getの例はプラグイン製作者さん含めてちょいちょいあるんだけど、
Postは同じようにやっても無理で、いくらググっても出てこない
0980名前は開発中のものです。2016/05/02(月) 02:34:04.02ID:GfHgInKF
自己解決。質問すると何故かすぐ解決するという…

subscribeの第二引数の関数で、下記で判定できました。
if (err.GetType() == typeof(System.TimeoutException))
0981名前は開発中のものです。2016/05/02(月) 14:55:36.14ID:U20zTYJI
>>975
負荷も考えられない無能乙
0982名前は開発中のものです。2016/05/02(月) 15:12:32.37ID:xDQEsI9F
配列の方が負荷は低いのでは…
0983名前は開発中のものです。2016/05/02(月) 15:26:04.48ID:DlNmY3WQ
>>975
くだらないところに脳味噌つかわないで、
面白さを追求したらいいんじゃないかな

そのうち最適化なんかAIがやるんだろうし
どうでもいい知識になりそう
0984名前は開発中のものです。2016/05/02(月) 15:44:55.17ID:YWABOjS3
以下の一部の実装できなくて困ってます。どなたかご教示ください。

やりたいこと
1,UnityEditor.EditorWindowを継承したクラスをEditorWindow.GetWindowで作成
2,1で作成したウィンドウ上でコンテキストメニュー→「編集」をクリック
3,マウスカーソルを非表示にする
4,リターンキーを押す
5,マウスカーソルを表示する

1〜5の内、1,2,4は実装できているのですが3,5が対応できなくて困ってます。
UnityEditor.EditorWindow自体、MonoBehaviourを継承していないのでCursor.visibleでマウスの表示非表示が対応できません。
代替案知っている方いませんか?
0985名前は開発中のものです。2016/05/02(月) 15:50:11.27ID:eQT/6faw
何のためにやるかが書かれてないのは学校で出た宿題だから?
0986名前は開発中のものです。2016/05/02(月) 16:16:32.42ID:YWABOjS3
984の追記です
Gameビュー上ではマウスカーソルが表示されなくなっていたので、
Cursor.visibleはGameビュー上でのみ有効のフラグみたいでした。

1のウィンドウ上のみ動作・反映されるCursor.visibleのようなものを探しております。
ご存じの方おられますでしょうか……
0987名前は開発中のものです。2016/05/02(月) 16:29:51.43ID:OZaj7T3v
「首ボーンはひとつ、背骨はふたつ、ツイストは入れない」みたいな
「理想のボーンとは」的な公式記事を読んだ記憶があるんだけど、
あれってメカニムで人体アニメをUnity側から操りたいクリエータ用だよね?
ドラゴンやワニは背骨2つじゃ絶対足りないんだし
0988名前は開発中のものです。2016/05/02(月) 16:36:21.42ID:1fCzqqLF
>>987
あれはHumanoidの仕組みを利用してモーションのリターゲットしたい場合の話だよ
同じモーションを(ある程度)どんな体格のキャラにも使いまわしたい時はそうするといい、ってこと
なのでモンスターとかの場合は気にしなくていい
0989名前は開発中のものです。2016/05/02(月) 16:42:18.60ID:OZaj7T3v
>988
ありがとう
0990名前は開発中のものです。2016/05/02(月) 16:45:34.08ID:G6/nPfT6
ジェネリックアニメーションかヒューマノイドアニメーションかで異なる
俺的には人型なら汎用性が高いヒューマノイドでボーンは少なく快適動作に
キャラ重視なMMD的なダンス物とかはclothやspringboneを活用
それ以外ならジェネリックで目的に応じて多種多様

MMDやXPSモデルから持ってくるとボーンはたいてい多すぎるからBLENDER等他のツールで減らしてウェイト付け直したほうが軽くなる
0991名前は開発中のものです。2016/05/02(月) 18:58:10.02ID:GZzLM5rZ
初心者が質問できるスレってあります?
ここだと何の会話してるか全然わからないので
0992名前は開発中のものです。2016/05/02(月) 19:29:26.72ID:1fCzqqLF
そんなスレ探すより地道にチュートリアルやった方がいいよ
どんな本買うよりスレで質問するよりそれが一番有効
0993名前は開発中のものです。2016/05/02(月) 19:36:26.64ID:P67V91JS
>>984,>>986
この辺使って透明なカーソル作ってからそのカーソルに置き換える事で出来るんでないかね?
http://answers.unity3d.com/questions/259975/change-editor-cursor.html
http://answers.unity3d.com/questions/786279/editorguiutilityaddcursorrect-mousecursorcustomcur.html

>>991
ここでOK
0994名前は開発中のものです。2016/05/02(月) 19:54:00.21ID:GZzLM5rZ
ありがとうございます

プレイヤーにイベントの起こさせ方がわかりません
xboxcontrollerのAを押したら、人に話しかけたり、物を動かしたりしたいのですが
教本やネット探しても、ドットイート系でオブジェクトが消えるものしかありません

playmakerだとC#よりも簡単にできるかと思ったのですが
やっぱり英語ばっかりだし、日本語サイトも何かいてるかわからないし、
動画を日本語に翻訳してもわかりません
ググってもTRIGGER ENTERの意味がなんなのかわからないレベルなんで困っています
よろしくお願いします
0995名前は開発中のものです。2016/05/02(月) 20:01:35.93ID:6UaOGsVV
>>994
RPGは意外と管理する物が増えるからScriptやPlaymakerの使い方を一通り覚えた後でやらないと挫折すると思うよ。
まずは今自分が使っているツール類の学習系動画で一通りの使い方覚える方が近道だと思うのだけど。

RPGツクールは特化ツールなんでシナリオベースで作れるけど、Unityはゲーム全体に対して汎用なんで地力つけないと使いこなせないよ。

Unity使って挫折する人はだいたいが下地を作ることを無視してる感じするのよね。
0996名前は開発中のものです。2016/05/02(月) 20:23:37.68ID:U20zTYJI
Unityはフィールド作って敵と戦うのは簡単だけど、
それをゲームとして成立させるウィンドウやらが結構面倒くさい
簡単な作り方が何かあるのかなぁ
0997名前は開発中のものです。2016/05/02(月) 20:27:07.38ID:JKsk5dMj
人に話しかけるイベントだったら

まず会話可能なキャラクターの近くに自分がいることを確認して
次にAボタンが押されるかどうかを常に監視して
押されたらウインドウを表示して〜予め用意しておいたテキストを読み込んで表示して
長い場合はページ送り機能を用意して
クエストが発生するなら自前でそのデータを予め用意しておいてそれを読み込んで
依頼を受諾したことをまた記録

とここまで全部自前で書く
0998名前は開発中のものです。2016/05/02(月) 20:37:08.42ID:WSIFGlIp
和ゲーの会話シーンとかほとんどノベルゲー
宴とか使えばすぐ出来るよ
間に適当に3Dシーン入れればそれっぽい3Dゲーに見えるw
0999名前は開発中のものです。2016/05/02(月) 22:38:33.82ID:EnZTTc62
【3Dゲームエンジン】Unity質問スレッド24 [無断転載禁止]&#169;2ch.net
http://echo.2ch.net/test/read.cgi/gamedev/1462196288/
1000名前は開発中のものです。2016/05/02(月) 23:47:17.38ID:BipP8iyr
2get
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 55日 6時間 39分 16秒
レス数が1000を超えています。これ以上書き込みはできません。