【3Dゲームエンジン】Unity質問スレッド36
レス数が950を超えています。1000を超えると書き込みができなくなります。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他
次スレは>>950以降にできるだけ早く(できれば回答者が回答した後にでも余裕を持って)建てて下さい。
■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/
●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・マニュアル
http://docs.unity3d.com/ja/current/Manual/index.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質問スレッド35
http://mevius.5ch.net/test/read.cgi/gamedev/1523771570/ >>893
自分がチェックした範囲内での個人的な印象だが、
公式チュートリアルは、初級からして、プログラム言語使ってゲームを作ったことのある人向けの内容だと思う
いきなり「毎フレームでの更新」とかいわれても、まったくの未経験者は意味が分からないだろう
Unityのチュートリアルは、ゲーム開発の作業工程を、従来のプログラム主体のやり方から、Unityというツールに置き換える方法を説明したものと考えた方がいい
だからチュートリアルをやれば「ゲームを作る基礎力がつく」のではなくて、
チュートリアル自体が、元々「ゲームを作る基礎力のある」人向けに、効率的にUnityの使い方を習得してもらう為の内容になっている >>893
汝よ、チュートリアルに初級とか中級とかあるのかね?
我もチュートリアルはよく覗くが、初級とか中級とかいう言葉を見たことがないが、それはどこに書いてあるのかね?
汝よ、どうかね? >>900
各ジャンルの各フェーズごとの動画か説明文のページ
タイトルの下に
確認済のバージョン: 5.5
難易度: 中級
みたいな感じで書いてあります >>899
プログラムの基本が全く理解していないあなたもアセットを買えばゲームを簡単につくれますよ ParticleSystemにカメラとの距離によって自動で表示のON/OFFをするような機能はありますか エディタ拡張する時のクラス内での値のやり取りについて質問ですが、MonoBehaviour内にEditorクラスとOnDrawGizmos()がある場合に、OnDrawGizmos()内の値をEditorクラスに持っていきたい場合はどうすればいいですか? シューティングゲームビルダーっていうフリーソフトのスクリプトパネルっていう機能がプログラムでゲームをどう作って行くのかの良い勉強になったな、急がば回れの精神でゲーム制作が全く解らない人にはお勧めしたい 3Dのアクションを作っているのですが、
未だにキャラクターを動かすのが
Transform.Translate なのか
Transform,Position なのか
Vector3なのか
Vector3.Velocityなのか、調べてはいるのですが、状況の応じての使い分けがわかりません
Velocityはあまり良くない(理由は忘れてしましました;)、Positionはワープしているから衝突時に良くないと読んだのですが、
TranslateとVector3ならどちらが良いのでしょうか? >>907
3Dのアクションでキャラクターを動かすのであれば、アセットを買うのが一番手っ取り早いです、
絶対です >>907
どんなの作ってるかによるとしか言えないけど、起伏のある3Dのフィールドを歩くならCharacter Controllerコンポーネント使って動かすと楽かもね >>907
あっ、Rigidbody使った上で直接座標を弄りたいならMovePositionで動かすといいよ CSVファイルを /Assets/Resources/CSV/test.csv という場所に置いています。
Unity Editorでは、
StreamReader sr = new StreamReader(Application.dataPath + "/Resources/CSV/" + "test.csv");
のような形で読み込んでいます。
Androidにビルドしたときに読み込みたいのですが、どのようにすればよろしいでしょうか? >>908
汝よ、汝は適切なアセットがあったら、質問者に紹介しなさい。
汝は我が見守るこのスレで、誉れと思って、自らのなすべきことをしなさい。 オブジェクトAでオブジェクトBのスクリプト内の変数を使用する際に、そのスクリプトの型の変数を
作成して、インスペクターでオブジェクトBをドラッグ&ドロップして関連付けました。
しかし、オブジェクトAをprefab化した際にその関連が消え、ドラッグ&ドロップもできなくなりました。
なぜでしょうか。 >>898
先に(型名) number; で変数numberを作る >>914
まあそうだけど単純にvarすりやいけるんじゃね >>913
prefab化してインスペクタで指定できない時はfind やgetcomponentを使いなされ Scene上でクリックしたらその座標を取得してそこにオブジェクトを生成するものを作ってるんですが、クリックした際にHierarchyの選択が変わってしまうのを選択しないようにするにはどうしたらいいですか?
Hierarchyから選択した場合は普通に選択できてScene上のクリックでは変わらないように、スクリプトで実装したいです
クリックした際に全オブジェクトを取得してtagかlayerを付与して選択を無効にするとかしかないんですかね?Unityで用意されてる機能でそれを実装できますか?
詳しい方いましたらよろしくおねがいします。 >>917
よくわからないのでとりあえずアセットを買ってみましょう >>918
汝よ、汝は適切なアセットがあったら、質問者に紹介しなさい。
汝は我が見守るこのスレで、誉れと思って、自らのなすべきことをしなさい。 キャラの見た目というのは、性格や肉体的特徴などの設定を突き詰めて作るものですか?
その設定を見た目に反映させるという感じでしょうか
よく履歴書を作るといいますよ 汝らよ、我が公開しているフリーソフトにバンドルしたいというメールがきたのだが、バンドルって何?
GOM・・・とか何とかいう聞いたことない会社だった。詐欺の一種なのかな?
汝らよ、どう見るかね? >>921
よかったじゃん金儲けのチャンス到来
GOMプレイヤーで有名な韓国の会社でしよ NullReferenceException: (null)
UnityEditor.SerializedObject..ctor (UnityEngine.Object[] objs) (at C:/buildslave/unity/build/Editor/Mono/SerializedObject.cs:21)
UnityEditor.Experimental.AssetImporters.AssetImporterEditor.GetSerializedObjectInternal () (at C:/buildslave/unity/build/Editor/Mono/ImportSettings/AssetImporterEditor.cs:73)
UnityEditor.Editor.get_serializedObject () (at C:/buildslave/unity/build/Editor/Mono/Inspector/Editor.cs:433)
UnityEditor.BaseAssetImporterTabUI.get_serializedObject () (at C:/buildslave/unity/build/Editor/Mono/ImportSettings/BaseAssetImporterTabUI.cs:13)
UnityEditor.ModelImporterModelEditor.OnEnable () (at C:/buildslave/unity/build/Editor/Mono/ImportSettings/ModelImporterModelEditor.cs:48)
UnityEditor.AssetImporterTabbedEditor.OnEnable () (at C:/buildslave/unity/build/Editor/Mono/Inspector/TabbedEditor.cs:83)
UnityEditor.ModelImporterEditor.OnEnable () (at C:/buildslave/unity/build/Editor/Mono/ImportSettings/ModelImporterEditor.cs:17)
ゲーム起動時に毎回このようなエラーが出るのですが、どこに原因があるのかわかりません。
どこを確認すればいいのか教えていただけませんか? steamでどのくらい売れているソフトか調べる方法ってないんですかね >>925
>NullReferenceException: (null)
これと、該当するcs行で、も一度検索して調べてください。 >>927
自前のコードが絡んでいないのでソースコードを確認するわけにもいかず困っています。
一体何がnullなのか。 エラー書いただけで答えられる奴がいるわけねーだろ
ちゃんと質問しろ >>928
うーん、困りましたね。
言い方はアレですが、929さんと同じです。
これだけでは、エラー内容を検索しまくって、該当するだろうケースを見ていくしかありませんね。 In my case,
restarting Unity was the only solution.
No idea if something I did helped,
but when I closed Unity and opened again,
no more such errors could be found!
おらの場合はよ、Unityをもう一度開いてみたんだ。
そったらエラーが出なくなっただよ!(cregox さん)
Funny story... my Unity froze while I was trying to debug this,
and when I restarted Unity the problem disappeared.
So... I guess that's the answer.
俺のUnityなんだがデバッグ時に毎回固まるんだぜ。
だけどUnityをリスタしたら問題が消え去ったんだぜ。
これで俺の人生バラ色さ! (kk93 さん)
だってよw 質問スレで質問しまふ(^^
・ゲームを完成させるコツ
・スパゲッティコードにならないコツ
の二つを教えてくらふぁい(^^
ボッキング!(^^ >>933
意識しながら数多く作るだけ。そうすると平均がわかりセオリーが貴方の中に作られて自然とそうなる。 >>934
意識しながら数多く作るといっても
本のサンプルを写経するくらいしかやることがないです
ただでさえどんなゲームを作ればいいのかアイデアが浮かばないのに
ステップアップの勉強のために造るだけのゲームを何を作るかなんて全く思い浮かばないです >>935
まず、回答と論点ずれてる。
次に。思い浮かばないならやめればいい。
作りたいものがあるから挑むのであって、それがないなら作れないだろ。小学生の方がもっと割り切るぞ。 >>936
現時点の自分の実力では
作れないだろうゲームのアイデアなら思い浮かびます 他人が作ったアセットで楽する
エラーが出たときに今までの楽を帳消し以上の地獄見る
そんな感じになっちまうよな >>937
それを作ればいい。壁にぶつかれば検索なり聞くなりできるツールはある。
私の見た所、ネットで分からない(作れない)ガジェットは無いからやれば必ずできる。
やって足掻いてもいないのにできないというのは甘えか、そもそもやる気がない。 >>938
アセットはエラー出たら仰る通りだし
パフォチューでプロファイラ見たら絶望感漂う事多々だし
あくまで、教則で、アーキテクチャだけパクらせて貰う位じゃないととてもカスタマイズに耐え無いよね。
そう考えると車輪の再開発に勘所強い奴が一番アセット使えてるって感じだね >>933
完成させるコツは、完成させる事を繰り返すこと。
要は手数を増やして経験を積むこと。
いきなり難しいのを作ろうとせず、ネットに作り方が書いてあるような簡単なものから、コピペでも良いから、完成させたと言う事実・実績を積むこと。
スパゲティにならなくなるようにするコツは、とにかく「一つの関数には一つの機能」を心がけること。 昨日山田孝之のドラマで、
クレジットカード会社にパソコンで侵入するのはプログラマーなら誰でもやってると言ってました!
本当ですか?こわーい>< terrainにスクリプトから木を生成したい場合ってどうすればいいんでしょうか?
自動で地形を生成することはできたのですが、そのあとに植物生やしたいなーって思ったんですが
調べかたが悪かったのか見つからなかったもので unity始めたばかりです
玉転がしのチュートリアルをやってみたのですがまだ全然よく分からなくて、オススメの写経サンプルプロジェクトはありますか? FTPに接続して、ディレクトリ情報を取得するコードを作成しているのですが、
全角文字のディレクトリが取得出来ず、どのように書けばよいかアドバイスいただけませんでしょうか。
ご教授宜しくお願いいたします
private void GetDirectoryNameAddList( ref string directory )
{
var directorys = SplitRetrunCode( ref directory );
foreach ( var item in directorys )
{
//ディレクトリ属性かチェック
if ( CommonWord.CompareEqual ==
String.Compare( item, CommonWord.IndexHead, CommonWord.DirectoryCode, CommonWord.IndexHead, CommonWord.Length ) )
{
//スペースで分割
var directoryDetails = Split(item, CommonWord.SpeaceCode,
(int)CommonWord.DIRECTORY_DITALS.NAME, StringSplitOptions.RemoveEmptyEntries);
//.で始まるディレクトリは無視する。
if ( CommonWord.CompareEqual ==
String.Compare( directoryDetails[(int)CommonWord.DIRECTORY_DITALS.NAME],
CommonWord.IndexHead, CommonWord.PeriodCode, CommonWord.IndexHead, CommonWord.Length ) )
{
continue;
}
ChildrenDirectory.Add( directoryDetails[(int)CommonWord.DIRECTORY_DITALS.NAME] );
}
}
} 948です
ディレクトリ詳細情報の取得の部分はこのように書いています
/// ディレクトリ詳細情報の取得
/// </summary>
private void GetDirectoryDetails()
{
WebRequest.Method = WebRequestMethods.Ftp.ListDirectoryDetails;
string output = "";
using ( WebResponse res = WebRequest.GetResponse() )
using ( StreamReader sr = new StreamReader( res.GetResponseStream() ) )
{
output = sr.ReadToEnd();
}
GetDirectoryNameAddList( ref output );
Debug.Log( output );
} >>942
>>950
>>951
汝よ、汝は適切なアセットがあったら、質問者に紹介しなさい。
汝は我が見守るこのスレで、誉れと思って、自らのなすべきことをしなさい。 ボタンを押したときのポヨンってアニメーションさせるアセットおしえて >>952
汝よ、馬鹿者!!そんくらい自分れつくれ!!自分れ!! 汝らがアセットアセット言うから結局自分でアセット作ったわ 最近アセットストアを見てると無料化したアセットが多い気がするんですけど
作者が自主的に無料化してるんでしょうか?
それともアセットストアの規約なんでしょうか?
買う方には嬉しいですけど、売る方には嬉しくないですよね 売れないのをいつまでも置くわけにはいかないし
最新バージョンのUnityに対応し続けるのも地獄。
販売を止めると有料購入した人からサポート要求が来るから
無料化してフェードアウトする感じかな。 大量のオブジェクトにIsTriggerのコライダー2D、Kinematicのリジッドボディ2D貼ってスクリプトで動かしてるんだけど
Android実機でProfiler見たらPhysics2D.SolveDiscreteで半端なくパフォーマンス低下起こしてる
ググっても情報出てこないけど、これ解決策無いかな >>961
rigibodyは重いよ大量のオブジェクトには現状向いてないから、カクカクだが、transform使うしか無いな。
あたり判定は自前ね。
てか、皆んなそうやってるじゃん。
先にanimatorの並列化にテコ入っちゃったけど、そのうちrigibodyとかコライダにもテコ入るんじゃない?
まだやるには時期尚早ってこった 大量オブジェクト、俺はrigidbodyがecsに対応したらcpuのコア数によっては最大40%位パフォーマンスが向上すると予想してる。
全コア余す事なく使い切って、gpuにも計算やらせてもたかが知れてるし、まともに計算するなら密な状態では2千位が限界じゃないかなぁ。モバイルでは。
疎な状態だと色々やりようがあるだろうけど。 linecastを使って2dの横スクロールゲームのジャンプっぽい動きを作ろうとしてるのですがレイヤーの範囲を見る方法ってありますか? >>962
汝よ、汝は適切なアセットがあったら、質問者に紹介しなさい。
汝は我が見守るこのスレで、誉れと思って、自らのなすべきことをしなさい。 >>965
アセットをかえば見えるかもしれませんね プレイヤーからオブジェクトにレイキャストを飛ばして、オブジェクトに当たったら
独自のイベントをそのオブジェクトで発生させるにはどうすればいいですかね?
例えばですが、プレイヤーからレイを飛ばして、当たったオブジェクトのスクリプト内のHitRayのイベントを呼び出すといった感じです。
イベントをオブジェクトごとにしたい理由としては、レイが当たったらオブジェクトの種類によって別の動作をさせたいといったところなのですが。 Event関連のページ見てもうちょっと質問が固まってから再度質問しますね、擦れ汚し失礼しました。 >>968
汝よ、汝は適切なアセットがあったら、質問者に紹介しなさい。
汝は我が見守るこのスレで、誉れと思って、自らのなすべきことをしなさい。 >>970
rayは遅延処理じゃないぞ。イベントも糞も無い。
打ったら即返って来る。
打った直後にふりわけりゃ良いんじゃ >>972
Eventの使いどころを少し勘違いしていたようでした。
やりたかったのは、レイを飛ばして検知したオブジェクトにあるスクリプトのメソッド実行だったのですが、
レイ飛ばして、当たったオブジェクトのSendMessageでメソッドを実行すれば可能でしたね。
メソッド名を同じものにしておけばオブジェクトごとに処理ができるので、そうしようと思います。 >>973
パブリックにすれば、コンポーネントキャッシュした後で直につかえるぞ。
実行したいクラス o= a.game object.get component<実行したいクラス>()
o.実行したいメソッド()
aはhitしたrayから取れるはず。
メッセージセンドも良いがそれこそメッセージ待ち受けになっちまう。
こっちも検討してみてくれえ >>974
それも最初に考えてはみたのですが、オブジェクトとスクリプトが数個程度ならなんとかなるでしょうが、
数十を超えてくると分岐の数が膨大になりそうなうえにスペックも食いそうなのでSendMessageにしようと思います。
ありがとうございました。 >>975
すまん、お節介かも知らんが聞いてくれ。
メッセージは癌なんだ。理由は
デバッグがキツイ。
ソース管理で死ぬ。
今のだと、実行したいクラスを統一し、メソッドのパラメータでメソッド内で分岐するのが吉。
今回は、それで行けるかも知れんが、大き目の作る時はちょっとそこら辺も考慮してみてくれえ。 >>975
えっ?
674の方が圧倒的に軽いと思うよ。 >>976
マイクラのかまどとかMMOのショップのUI表示みたいに数百単位で存在する場合もやっぱり
そうやってメソッド内で分岐するほうがいいんですかね?
>>977
そうなんですか?
たぶんアイテム毎にその分岐をするスクリプトが必要だと思うのですが、それでもそちらのほうが軽いんでしょうか? >>978
オブジェクトに共通メソッドを入れておき、レイが当たったら、そのオブジェクト独自のメソッドを動作させればいいと思ったのだが。 Findは遅そうだけどGetComponentは速い? >>978
話しがごっちゃになりそうなんで、アレだが
uiの数と表示に関する重さは、どちらかと言うと描画能力に関わるんだよね。
んで、大量に表示されてるような物は大体レイ飛ばして無いよ。範囲内のを描画しとる。レイ飛ばすとしたら並列化とかしないとまず無理だね。
そんな並列化するなら、自分からじゃ無くてオブジェクトから飛ばして、全オブジェクトの動きを並列化する方が楽。
何にせよ、当たったらとか、その先のクリックしたら?とかの分岐は、ちゃんと設計すれば、そんなに種類は多く無い筈なんだよね。
そうなると、共通処理を噛ます、コールする。の方が圧倒的に楽で早い事が分かると思うよ。
アイテム毎に分岐するってのはまず無い話しで、それは何か設計が間違っているから、共通化出来るものを探す旅からする事をお勧めする。 >>979
なるほど、空オブジェクトに当てたスクリプトの独自メソッド呼び出せば全部のアイテムにスクリプト適応する必要ないですね
>>981
ごめんなさい、書き方が悪かったですね。
自分が言いたかったのは、たとえばMMOであれば鍛冶屋、ショップ、クエスト受付所などがあるとして、
鍛冶屋では装備強化などのUI、ショップでは購入、売却のUI、クエスト受付所ではクエスト選択、報告のUIを
それぞれのオブジェクト(人物)のスクリプトにあるメソッドで実行表示する場合に、どのように呼び出すかという意味だったのですが
マイクラであればかまど、金床、クラフトテーブル、村人交易...etc
のUIを表示するにはそれぞれレイを飛ばして目の前にあるアイテム(オブジェクト)ごとにUI表示のメソッドを引き出す必要があると思ったもので >>982
アセットを買えばいいんじゃないですかねえ iPhoneアプリ開発したいのですがどのMac買えばいいですか
最新Unityが問題なく動く一番安いの教えてください。 >>985
その通りMacを買うと良い。
今までWindowsを使っていた場合は操作方法が全部違うので注意。
Macを新品で買う場合はその時の最新の物しか販売されてないので選択の余地なし。
旧品は中古でヤフオクなどから入手するしか方法なし。 >>984
汝よ、汝は適切なアセットがあったら、質問者に紹介しなさい。
汝は我が見守るこのスレで、誉れと思って、自らのなすべきことをしなさい。 >>985
自分はアップル好きじゃないからやったことないけど、
知り合いが中古の安いMaxかって自作PCにHackintosh入れてたけど、そういう手もあると思うよ
もちろんPCの知識要るし、100%動作する保証ってものはないけど、安く作るのであればそちらも手かと >>990
俺もvmにhack入れてやってみたで。
なんだっけな。動いたのはel capitanだかの結構上のバージョンだったわ。
osは動くけど、結局証明書取得で挫折したけどな。
素直に安いの買った方がええで >>985
定価レベルでは、Mac miniが一番安い。Intel搭載必須ね。
面倒に巻き込まれたくなきゃ、できれば新品でお探しを。
また、型番が決まったらここで、それで良いか聞くと良い。 レス数が950を超えています。1000を超えると書き込みができなくなります。