【3Dゲームエンジン】Unity質問スレッド32
■ このスレッドは過去ログ倉庫に格納されています
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートは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質問スレッド31
https://mevius.5ch.net/test/read.cgi/gamedev/1504366121/ すみません、多分すごいしょうもないことやってるんだとは思うのですが
いつの間にかプロジェクトからヒエラルキーやシーンにドラッグドロップできなくなってしまいました
逆の、プロジェクトに落としてprefab化もできません
何か原因のお心当たりありますか? Pcごと再起動して同じことを試す
新規プロジェクトで同じことを試す
Unity再インストールして試す
検討つかないけど自分ならこの順番でチェックしてみるかな どなたかアセットの宴3を使っている人はいませんか?
インポートした場合、トップメニューにToolsのメニューが表示されるはずなんですがありません。
初めてアセットを買ったので基本的な使い方がわかっていないのかもしれませんが、、、。 >>475
開発者、結構レスポンスくれる人だから聞いてみたら
時村良平 @rodostw >>472
おい、>>469の質問は当方ではありませんぞ!!
>>468の書き込みが当方のものだぞ。
おい、間違えないように頼むぞ!!! >>475
その人のwebサイトを見てみました。
Unitychanを使っていますね。それよりちょっとダサめのキャラは自作キャラですか?
で「宴3」ですが、読んでも結局、何のソフトなのかわかりませんでしたw
こんなわけのわからないものを買うなんて、あなたも相当変な趣味の人ですね 当方もいま自作キャラを開発中です。
名前はヨナchanです。
まだベースがunitychanから出ていなくて、開発途上なんですけど・・・
ベースをどんどんつくりかえてていって、完全にオリジナルのところまで持っていけばゴールです。
https://youtu.be/LRQDRvAIL9o >>474
ありがとうございます、PC再起動で直りました
Unity自体は再起動したり新規プロジェクトで試したりしたのですが改善せず困ってました
まずはPC再起動大事ですね 宴って日本発assetで一番売上あるんじゃね?
他に有名所あるかも知れんけど
こんだけunity触っててaseetの内容すらわからないってやばくない? ノベルゲームつくーるみたいなもんだよ
レベルの低い開発者を相手に商売するのが一番儲かる
数が多いから >>480
確かにこの絵は一般ウケする絵ではないようだ。
だが眉を太くしてキツネ目にしないと、どうしてもキムヨナに似ないのだよ。
かといってキムヨナ以外のキャラつくっても、自分的にまったく意味ないし・・・
何かいい解決策はありますか? キムチはライセンス違反と法律違反をしたいようだな
自分で読めと言ってるのを無視し続けるそうなる
馬鹿じゃねーのコイツ >>486
おい、間違いじゃないのか?
>>469の質問は当方ではなく、
>>468の書き込みが当方のものだ。
改変して配布するとダメなことは わかっているよ。
配布するときにはにはunitychanから離れるから大丈夫だよw 違約金ビジネスでガッポリ荒稼ぎ
何で読まないんだろねw 初心者ですが、UNITYで面白いゲームは制作できますか?
すでにあるゲームでUNITY製の名作って有りますか? >>489
unityは道具なだけたから、あなた次第。 >>489
有名なやつなら白猫、ナンバリング忘れたけどドラクエ、ポケgoあたり
面白いゲーム作りたいなら>>490を100回読めよ >>489
面白さってものは人それぞれだけど、10万ダウンロードくらいを目指すなら個人でも案外簡単に作れるよ。 はいどうも。講師です。
今回はプログラミングの話しではなく
番外編としてゲーム作り理論について少し語ってみたいと思います。
まず初心者の間でよく出る質問が
「面白いゲームの作り方」と
「簡単に作れるゲームはなに?」で
この2つを合体させて「面白くて簡単に作れるゲームはなに?」ですが
この2つは水と油の関係みたいなものです。
基本は反比例関係にあり両立しないと思った方がいいでしょう。
"簡単に作れる"ということは、言ってしまえば誰もが作れるものであり
誰もが作れるのならば、そのゲームは世の中にありふれているわけです。
ありふれているということは誰もが一度は触った事がある可能性が高く
結果、もう飽きられている物が大半と言えます。
具体的には
テトリスやぷよぷよなどの落ちゲーパズル
スコアを競い合うだけのシューティングゲーム
オセロのようなボードゲーム
などがパッと思い浮かびます。
一度は無料ゲームで遊んだことありませんか?
余談ですがゲーム関係の専門学校は卒後するために
自作ゲームの作品を提出する課題を出すところが多いのですが
ノベルゲーム(テキストアドベンチャー)やオセロなどのボードゲームは禁止にしている場合が多いです。
理由はゲームプログラムの勉強にならないほど簡単な為です。
なのでこの2つのジャンルを自力ではなくアセットを使って行うと
あまり自分の為にならないのでゲームプログラミングの勉強をしたい人にはオススメしません。 次に「面白いゲーム」についてですが、
あなたが今まで「これ面白いぞ!」と思ったゲームをいくつか思い出してみましょう。
そしてそれの何処が面白く感じたのか、時間をかけてじっくり分析してみてください。
すると今まで漠然と、なんとなく面白いと感じていた物には理由や仕組みがあることに気付けるはずです。
格闘ゲームが好きな人もいれば音ゲーが好きな人もいる点からも分かる通り
「面白い」という感覚は人によって違います。
陥りがちなのが
「自分が面白いと思っているため絶対に他の人にもうけるに違いない」と独りよがりに妄信してしまうことです。
この点には注意が必要です。
これを回避するには
自分は面白いとは思ってないのに世間で人気のある売れてる作品を
冷静に分析してみると勉強になるかと思います。
「自分は面白いとは思わないが皆はこういうのが好きなのか」
という事を理解できるため、これはマーケティング(市場調査)の勉強にも繋がります。 そして人気のあるゲームは周期的なブームがあることも覚えておくといいかもしれません。
過去に
縦型弾幕シューティングブーム
格闘ゲームブーム
RPGブーム
シミュレーションRPGブーム
音ゲーブーム
レースゲームブーム
パーティーゲームブーム
無双系ゲームブーム
クラフト系ゲームブーム
脱出系ゲームブーム
FPSゲーブーム
オープンワールド系ブーム
などがあり、ゲームプレイヤーならば記憶に刺さる部分があると思います。
現在は
オープンワールド&オンライン&多人数&対人対戦&FPS&ソーシャル&カード
といったキーワードの入っているゲームの売り上げが好調です
ただしこのブームも全盛期は去年または1年前までで
今は徐々にブームの火が小さくなっているところです。
今、ブームとまではいきませんが少しずつ盛り上がってきているのが
VRを効率的に活用したゲームです。
ここまで読んでいただいた方には分かる通り
売れるゲームを作る秘訣は
「市場のニーズを読み解く」
「作るにはライバルが作れないようないくつもの技術的困難をクリアする必要があり簡単に作れるものではない」
です。
何かの参考にしてみてください。 そして
「自分が好きなゲームを作る」のと
「売れるゲームを作る」のとでは
やる事が違ってくるということも覚えておくといいかもしれません。 >>499
頭の可笑しいキムチが見えない敵と戦うスレw Unityは売れるゲームは作れても面白いゲームは無理
ガチャゲー周回ゲーの日本モバイル市場に特化した存在 最新のUnity使ってるんですが、画面全体にエフェクト(できればトゥーン調の)を掛けたい場合、シェーダーではなくポストエフェクト?イメージエフェクト?でないと駄目なのでしょうか。
またassetからイメージエフェクトをインポート出来ると合ったのですが、シェーダーしか無くスクリプトが見つかりません…。最新版では無くなったのでしょうか? >>504
画面全体に掛けたい=レンダリングされた平面画像に毎フレーム掛けるしかない=イメージエフェクト
シェーダーで実現したいなら画面に映る物全てにトゥーンシェーダーを適用する >>505
詳しくありがとうございます
トゥーン調のイメージエフェクトは無いのですか? 標準で使える…みたいな記事は見つかるのですが… >>505
シェーダーとイメージエフェクトは違うのですか?
当方にはまったく同じものに思えますが・・・
違いがさっぱり理解できません! >>508
それを理解するには、描画エンジンの簡単な概要ぐらいは知らないとちと理解できないかも。 普通にチュートリアルの初級レベルの話だろうに
基礎も何も習得しないでゲーム作りたいとかいってる馬鹿ばっかり パクリ野郎のキムチなんて相手にするなよ
NGにぶち込め アセットストアから購入した3dモデルをインポートし、
fbxをヒエラルキーに追加しました。
他のオブジェクトから、そのfbxオブジェクトを操作しようとしたところ、
GamaObject.Find は成功している?が、
GetComponentが全て失敗します。(transformも反応なし)
何か考えられる原因はありますでしょうか?
(ちなみに、全然別のfbxを追加したものは、普通に各種操作ができています) >>513
Satomi Character Pack 1.05
です。
Assets->SatomiCharacterPack->Resources->Satomi->ModelsLegacyの中の
f05_blazer_020_h.fbx
を使用しました。
ModelsMecanim下のfbxを使用した場合も同様でした。 >>512
全て失敗ってなに?とりあえずコード晒す方が日本語で説明するより分かりやすいかもね
失敗してるなら、そのGameObjectが指定したコンポーネント持ってないだけだしょ
transform.positionを更新しても反映されないとかだったらAnimatorコンポーネントでもくっついてるんじゃないの? >>514
そもそもトゥーン調のイメージエフェクトあるなんてその記事に書いてなくね?
csファイルが見つからないのはフィルタ掛けてるから表示されてないとかじゃないか?
https://docs.unity3d.com/jp/540/Manual/ProjectView.html
トゥーン調のイメージエフェクトの有無
csファイルが表示されない
2つの問題をごっちゃにして話すのはやめよう >>516
あ、ModelsLegacy下のfbxオブジェはAnimationコンポーネントが、
ModelsMecanim下のfbxオブジェはAnimatorコンポーネントが付いてる。
ので、transformが不正落ちしないけど反応しないのはそれが理由のようです。ありがとうございます。初心に帰ります。
ただ、下記のように、fbxオブジェが明らかに所有するコンポーネントを取得できてなくて、
触ると不正落ち。なのが不明です。(kuriControllerスクリプトは間違いなくfbxオブジェクトにaddComponentで追加されている) //検証用コード
GameObject kuri;
kuri = null;
kuri = GameObject.Find ("f05_blazer_020_h");
if (kuri == null) {
Debug.Log ("error obj");//これは出ない
}
Debug.Log (kuri.name);//正しい名前が出るのでfindはうまくいってる
kuriController kuriCtr;
kuriCtr = null;
kuriCtr = kuri.GetComponent<kuriController> ();//取れてないっぽい
if (kuriCtr == null) {
Debug.Log ("error ctr");//このログが出る
}
kuri.transform.Rotate (50, 50, 50);//落ちないけど反応なし
kuri.transform.Translate (4, 4, 4);//落ちないけど反応なし
Animation anim;
anim = kuri.GetComponent<Animation> ();//取れてないっぽい
//animが取得できていない?ため、anim.CrossFade ("jump_10", 0);を実行すると不正落ち。 jump_10はfbxオブジェに追加定義されている なんつーかバカ初心者だな
ゲームオブジェクトとかインスタンスとかプレハブとかアセットとか全然区別ついてねえだろ >>516 >>520
インスタンス化した状態で実行したら全てうまくいきました。
ありがとうございました。(+勉強しなおします。)
(よくみたら今までfbxオブジェ色付きのままでやってた) オブジェとか変な略し方キムチが良くしてたな
チュートリアルやっても3歩歩くと忘れるキムチレベルの記憶容量なのかね インスタンスについて教えて!概念を理解するのがいまだに難しい。
変数にゲームオブジェクトを代入するとメモリが確保されてそれが実体です。と覚えてるけど合ってる?
プログラマーは当たり前に理解してるから頭がいいね。 実際キムチだしな。
コイツは質問する時だけコテハン外して新規利用者のふりしてやってる姑息な野郎。
だから余計嫌われる。
キムチの質問と言葉遣いは特徴的だからバレてるのに馬鹿な奴だよ。
アセット、ライセンス、有料アセット、モデルインポートの話が続くのは
これ関係はほぼキムチ >>523
教えて!じゃなくて調べろよ
何のためのインターネットだ
2ch見てる時間に調べろ
そうすれば今頃とっくに理解できてるぞお前
馬鹿なのかお前? >>523
インスタンス、実体化、とか、数多の書籍、先輩への応答をしても中々身につかないw
ましてや、ここでは説明しきれんぞ。というか、説明しても一向に理解できないと思う。慣れろw そんな複雑な話じゃなくUnity上ではシーンに配置されたものは全部インスタンス クラスは本来newしてインスタンス化しないと呼び出せない筈。
(生成前に呼ぶと、実体が無いからコンパイラに怒られる)
普通は使う時にインスタンス化してコンストラクタで初期化して実体にする。
不要になったらdeleteで破壊、その時に呼び出されるのがデストラクタ。
newとdeleteがセットで、newしたものは必ずdeleteしないといけない。
C#は初期化しなくても勝手に初期化されるとか、MonoBehaviourが介入してて、
ルールが厳格でないし、あとC#自体が緩い。 >>526
大正解
>>527
手抜き
そして俺も手抜き
>>528
初心者が理解できないマニュアル的回答 >>523
これでわかったな
てめえで調べろ!
沢山調べて自分に分かりやすい場所を見つけろ 明示的にインスタンスの生成と破壊をしないから、分かりにくいっつーだけだが、
多分C#だけとかUnityだけじゃ分からないんでないの? 2017を最初インストールしてその時はちゃんと動作してて、その後Unity5に入れ直して、また5消して2017入れ直して、2017を起動したら
・MSVCP120.dllが見つかりません。再度インストールし直すと解決する可能性があります。
・MSVCR120.dllが見つかりません。再度インストール・・・
と2つエラーが出て起動できなくなって何度アンインストールして入れ直しても同様に起動できないのですがどうすればいいのでしょうか >>531
初心者のインスタンス分からない病はそれ以前の問題
何故インスタンスが必要なのか
インスタンスのメリットとかの概要から説明しないとだめ >>512
>アセットストアから購入した3dモデルをインポートし、 fbxをヒエラルキーに追加しました。
これでインスタンス化=ヒエラルキービューに配置されてる
>>521
>インスタンス化した状態で実行したら全てうまくいきました。
???
512で言った通り、GameObject.Find ("f05_blazer_020_h"); が見つかる時点でインスタンス化されてるんだけど・・・
GameObject.Findってシーン上のオブジェクト探すものだよね
あとf05_blazer_020_hにkuriControllerが付いててGetComponentした場合、失敗するケースなんてないと思うんだけどなあ
ほんとについてるの?って思う
自己解決されてるようだが、謎 >>534
高卒専卒プログラマにはこれが理解できないんだよな
理系大卒を未だに採用しないといけない理由がこれ KuriControllerとkuriController >>523
>変数にゲームオブジェクトを代入するとメモリが確保されてそれが実体です。と覚えてるけど合ってる?
初心者はコード乗っけた方がいいと思う。言葉だとざっくりしすぎ
var go = new GameObject();
⇒これならgoという変数にゲームオブジェクトがインスタンス化=実体化される。
[SerializeObject] GameObject otherGameObject;
var go = otherGameObject;
⇒これは変数に参照を渡しただけでメモリ確保とは言わない。
int n = 10;
配列じゃない数値型を初期化しかときにメモリ確保なんて言わないよね。これと一緒 知り合いのゲーマーがUNITYのゲームはクソゲーしか無いからUNITYで作るなと言われました
どうしたらいいでしょうか? >>540
ゲーマーが喜ぶようなゲームを作るにはUnreal Engineを使いましょう
Unityは簡単に安く低スペックでゲームを作れることが強みです インスタンスの説明はここでは無駄だと言ってるのに何で続けてるんだお前ら?
初心者を完全に理解させる説明するにはメモリー本体のハードウェアの話しと
メモリーのアドレス空間、そしてC言語のアドレスとポインタの説明が必要不可欠なんだよ。 >>535
具体的には、ヒエラルキー上で青色のf05_blazer_020_hに対して
うまくいかなかったものを、
メニューのGameObject -> BreakPrefabInstance
を実行して黒色にしたらうまくいくようになりました。
「インスタンス化したら」という表現は適切でない書き方でした。すみません。
たしかにヒエラルキーにあれば、黒も赤も青もインスタンスはインスタンスですね。
あれ?でも別のヒエラルキー上の青色のオブジェクトに対しては
別オブジェクトからgetComponentできてる・・・
うまくいったのは別の理由?と思ったけど、それ以外操作してないんだよなあ・・・ 何も理解してないことを認識できてよかったな
無知の知だよ >>544
いや、正直あんま理解せず使えるもんだから、まぁこうすりゃ動くねいままで作ってきた私には、理解した上で、先の説明は合点がいったw
上の先生方、ありがとう。 >>544
あほくさ
>>546
プレハブとのリンク切ったからGetComponentできるようになりましたなんて、ありえないよ
まあなにかほかの要因でしょう コンポーネント名が小文字から始まるものって見たことないな
エラー文 plz >>541
ありがとうございます!
Unreal Engineを勉強します!
>>543
神ゲーいいですね!
Unreal Engineで神ゲー目指しますね! >>549
あほくさだと?
お前がインスタンスの仕組みを理解せずに参考書通りのマニュアル回答している人なのはよくわかった
言っとくがお前の>>538の説明はインスタンスの使い方の説明であって
インスタンスその物をまったく理解しておらず間違ってるから人に説明する時は気を付けることだな お前は予備知識があるから少しの説明で済みそうなので教えてやる。
インスタンスはクラスのコピーとポインターを足したような機能をイメージしろ。
大元となるオリジナルのクラスは実行時に静的アドレス空間に1つだけ展開されている。
これをひな型だと思え。
インスタンスとは、このひな型の一部を別のアドレス空間にコピーし、コピーしなくて済む部分はひな型のあるアドレス番地を直接参照して
大元のクローンを作って仕様することを言う。
この方法により容量制限のあるメモリーを節約して効率よく使用できるのと
メモリー空間にバラバラに変数が展開と解放を繰り返しゴミデータ化し
GCが頻繁に発生するのを防ぐのに役立つ
結果、各値の参照をする時の速度低下を防ぎプログラムの実行速度低下を防止している
これがインスタンスだ
わかったかボケ>>553 知ったかで話してるんじゃねえぞ?
誰かに物を教える時はてめえ自身がよく理解を深めて置け >534で必要とかメリット言ってる時点でダウト
バレバレだから触られてないって気付けよ地雷 >>556
え?馬鹿なの?最初の質問100回読み直したら?>>523
概念についての質問だぞ
使い方ではなく 概 念 な
頭冷やしてみな
お前が相当馬鹿な事言ってるの理解できるはずだ でだ、その概念について自称初心者の523にいきなり>>554なんかぶつけて理解できると思う訳?
だからググレとこのように誘導している>>525
実に的確だろう
それを>>528や>>538のように質問者が教えてほしい事とはまったく関係ない返しをしてるのに
自分はわかってます風でしゃしゃり出てくる頭でっかち連中
ちゃんと質問者の質問を汲み取って回答したれや
そんな頭でっかち連中は最後はこんなですわ
幼稚幼稚 >>553 >>556
とりま今後は言葉に気を付けた方がいいだろう
間違えると俺みたいな面倒な奴が噛みつくぜ? 素晴らしい!
皆さんのお陰でインスタンスの理解が格段に深まりました!心より御礼申し上げます。 って思うじゃん?
心の目でみるようにしないと人生損するぜ?
なんでも疑心暗鬼にいきてるとスネ夫みたいになるぜ?
答えは1つ
自演ではありません ↑のような発言を行なう者は統計学的にぺニスが著しく小さな成人中年男性に見られる傾向があります。 >558 20:17:20.94
>559 20:17:56.28
その間僅か36秒 >>561
ま!お前以外の当事者全員が自演じゃないことはわかってるんだけどな!
お前だけが真実を見えてないわけよ
ID1つが人1人で見た通り素直にみたほうがいいぜ
主要メンバーは俺含めて4〜5人でのやり取りだからな >>564
うんうんそれでそれで?
じゃあ>>563と>>564も自演ってことになるのかな?
違うよね。お前ならわかるわな。
世の中偶然が重なる事って沢山あるんだよ。
勉強になっただろ。 https://codegenius.org/open/courses/24/sections/212
このサイトの通りに敵の攻撃を停止させるアイテムを作成した所
そのアイテムのistriggerの欄にチェックを入れると
そのオブジェクトアイテムが床をすり抜けてしまいました
どうすればいいでしょうか? 雛形の元のインスタンス〜♪
つーきぬけろ愛のインスタンス〜♪ >>567
ああん!?てめえしばくぞ!!
当たり判定はトリガーかコライダーかどっちか1つしか使えねえんだよ!!
何でそうなってるかわかるか!?
どっちも本質は同じだからだよ!!
どちらか片方できればもう片方もできるからだ!!
すり抜けたくなかったらトリガーじゃなくてコライダー使えや!!
しばくぞ!! >>567
頭にきたからもっと言ってやる!
トリガーってのはな!もともとすり抜けてもいいオブジェクトにつけるもんなんだよ!
でもよ幽霊みたいに壁をすり抜けると、あれ?幽霊が壁に当たった時ってどうやって判定するわけ?
ってなるだろ!!!
そういう時に使うもんだ
イズトリガー >>554
で、結局きみは>>523の力になれたわけ?
なれてないよね〜、それよか>>528とかの方が具体的には説明してるだろ
君の
>本体のハードウェアの話しとメモリーのアドレス空間、そしてC言語のアドレスとポインタの説明が必要不可欠
とかなんとかあたかも自分はいろいろ知ってるぜ的な主張は何も説明できてないわけ。あほくさ
そもそもハードウェアって単語がなんででてくるのか、あほくさ。
>>554
を最初に言えば難しい説明だけどましなんちゃう?
ただ、この方法により〜から下の内容は関係ないとおもいまーす Colliderを設定することは、ゲームで言うところの当たり判定枠を設定すること
当たり判定時に衝突させるか、通過させるかは、isTriggerというフラグで切り替え
衝突を行いたいとき(通過させたくないとき)は、isTriggerをオフにして、
接触をOnCollisionEnter(Collision)イベントで判定する
判定相手は、Collisionで取得し参照が可能
衝突を行いたくないとき(通過させたいとき)は、isTriggerをオンにして、
接触をOnTriggerEnter(Collider)イベントで判定する
判定相手は、Colliderで取得し参照が可能
どちらも、「Enter」を、「Stay」や「Exit」に変えれば、
接触開始時、接触中、接触終了時をそれぞれ判定可能 ■ このスレッドは過去ログ倉庫に格納されています