【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/ その後いろいろ調べた結果、Resources.GetBuiltinResourceはArialフォントしか取得できないということがわかりました。どのウエブサイトにもArialフォントを取得する例しか出ていないことで、それは明らかです。
Resources.Loadでフォントを取得するのは、それよりか少しマシで、妙なタイミングの時だけ他のフォントも取得できました。実行しながらインスペクターを見ると、確かにフォントの欄が指定したフォントの名前に変わっています。
しかしインスペクターでは変わっていても、実際の画面では変わっている時と変わっていない時があります。
変わっている時は、インスペクターのフォントをスクリプトで指定したフォントと同じ名前にした時と、その後インスペクターのフォント欄をNONEにした時です。
しかしインスペクターのフォント名をスクリプトで指定したフォントを違う名前にすると、何か壊れたような文字が表示されます。その後NONEにしても同じく壊れた文字になります。
えっとつまり当方はどこが間違っているでしょうか? という質問ですね。
この質問がしたかったので、質問スレ立てました。
よろしくご教授のほどおねがいいたします!!!!!!!!!! >>2
ここはマニュアルに書いてあるんだが、日本語版は翻訳が糞過ぎて意味不明なのでハマるかも知れないな
TextMeshが正しく描画されるためにはTextMeshにフォントがセットされていて、レンダラーに使用するフォントのマテリアルがセットされている必要がある
TextMeshのインスペクタからフォントを変更するとマテリアルも変更されるが、NONEを指定した場合や、スクリプトから変更した場合にはマテリアルは変更されない
よってTextMeshのフォントをスクリプトから変更する場合以下のふたつの手順を踏む必要がある
1.TextMeshのfontにフォントをセット
2.RendererのsharedMaterialにフォントのmaterialをセット
リソースからの読み込み自体は正しく読めているように見えるのでセットする手順に合わせて変数に一旦受けるぐらいでいいはず Unity本書いてるクズがキムチを悪人にしたて上げただけなんだよ
勘違いしてBlenderスレまで追ってきて攻撃しやがって!おい!出て来い!○すぞ!本作家!! キャラ変更機能を実装したいのですが、難航しています。 位置を変えずにキャラだけを変えるにはどうすればいいですか?
やはりemptyに非アクティブキャラを入れて一緒に動かし、アクティブを切り替えるしかないのでしょうか。
もっと簡単、もしくはコードの管理がしやすいものがありましたら、アドバイスお願いします。 >>9
切り替えられるキャラが固定ならそれでもいいと思う
無制限に切り替えられるなら動的にロードと解放を繰り返して読み替えるしかないね
ちなみに位置だけの問題なら普通はモデルそのものを動かすのではなく、親にゲームオブジェクトを置いてその座標を動かすのが一般的だと思うぞ >>10さん
ありがとうございます!
早速試してみます! ここだとスレ違いかもしれないんだけど
マネージャーとかハンドラとか言われるものって
押す→ボタン 管理
↓ ↑│
ボタン2表示選択┘│ 結果表示
↓ ↑
処理呼び出し────┘
こんな感じで処理の呼び出しにだけ使うのと
┌─┐
結果表示←─┐ ↓ │
ボタン──→管理 ┐│
↓↑ ││
ボタン2表示選択││
↓│
処理呼び出し
みたいに全ての処理やらなんやら経由させるのどっちがいいの?
ボタン1押したらボタン2が表示される
みたいな簡単で単純な処理でも管理噛ませた方がいいの? OpenGL書いたりC4D使ったりしてて、さすがにいい加減ゲームエンジンに移行しようと思ってるんだけど
今からUnityやるとしたら5.6系と2017系どちらがいいのだろうか? 別に新しい方でいいんでない?
ちょっと不安定なところあるかもしれんけど なんのゲーム作ればいいかわからん
どこまでやれるか、何が作れるか >>12
図の意味がわからん
下手な図書くくらいならgistとかで簡単なサンプルコード書いてくれたほうがわかりやすい 2ch開いてうだうだ言ってねーでさっさと行動してみりゃいいだろ 5年前はオレも15みたいな状態だったわ
このアイデアは実現できるのか、そもそもどんな知識が必要なのかってところ始まり
参考書を見てもわからず挫折を繰り返す。
とにかく苦しんで手を動かし頭を使い覚えるしかない。
そのうち作れないゲームがなくなっていく。 >>5
いま試行錯誤しています。
難しいですね・・なかなかうまくいきません・・・・w 横スクアクション用に、EdgeCollider2DとPlatformEffector2Dで下からすり抜けられる空中足場を作ったのですが
操作キャラクターがギリギリ足場上に届かない高度までジャンプした際に、移動の向きを変えると足場上まで押し出されてしまいます
キャラクターにつけたBoxColliderの中点がEdgeCollider2Dより高くなった場合に発生するようなのですが、解決策あれば教えていただきたいです
移動はRigidbody2Dの速度を変更させることで実装しています >>23
衝突関連の処理はアセットをかえば解決しますよ タイムラインでカットシーン作ってるんだけど、
タイムラインで台詞を表示した後にプレイヤーがクリックするまで一時停止ってどうやるの? >>26は自己解決しました
ボタンのOnEnableでPlayableDirectorをPauseして、クリック時にPlayableDirectorをPlayするスクリプトつくって
ActivationTrackでそのボタンをActiveにする方法でできました >>5
>>21
うーん…難しいですねw
まだまだ試行錯誤中です・・・ 5じゃないが簡単
(日付見りゃ分かるが、>5が書く前の18:25:55に投下したものだが
余りにも下らないのでレスしなかっただけ)
http://www.axfc.net/u/3858349 >>23
キャラクターの足元に乗るため専用の小さいコライダー付けるんじゃダメなの? Unityのvideoplayerで特定の色を透過できませんか?
もしくは投下したままエンコできる動画編集ソフトとかありますかね……?
シーンチェンジ作ったんですが、背景に黒が出てしまうんです。
何か方法があれば教えてください。 GPUインスタンシングについての質問なのですが、
ライトプローブやライトプローブプロキシヴォリュームを使用するオブジェクトをGPUインスタンシングで描画することはマニュアルに書いてある通り不可能なのでしょうか?
もしそれが不可能だとしたら例えば草原の草などはかなりの負荷を甘んじて一個一個ドローをコールして描画するか、
もしくは全部の草をマージして一個の巨大なオブジェクトとしてそこにライトプローブプロキシヴォリュームを適用するくらいしか思いつかないのですが速度を考えるとそれもちょっと…
一般的にはこのような場合はどうするのが常道なのでしょうか?
教えていただければ幸いです >>5
>>21
>>29
うーん…難しいですねw
まだまだ試行錯誤中です・・・ >>34
おお!これで出来そうです!
ありがとうございます! UnityでC♯を使っての良い解説本ってないですか?
そういう入門本を何冊か買ったんですけど
どれもスクリプトを単に記載してるだけで
どのコードがどの処理をやっているのかという
根本的な理解に突っ込んだ本がなくて・・・ >>30
設定した小さいの値の中点より高くなった場合〜などを考えると根本的な解決では無い気がして躊躇ってます…
EdgeとEdgeの判定が出来ればベストなのですが…とりあえずBoxColliderの最少の厚み0.001でバグがなければそれで行こうと思います
ありがとうございました >>37
36じゃないが、書くのが怖いw
ゆうに10冊は超えてるなw >>36
掌田津耶乃が、たいていの言語・フレームワークの本を書いてる C#本は読んだことないな
困った時は他言語から移植 >>34
Unityは動画はOGVファイルしか再生できないんじゃないですか?
一体どうなってんの!? >>37
Unity5オンラインゲーム開発講座
Unity5入門
UnityではじめるC♯
どれもUnityの基本的な使い方の解説のみで(Unity5入門は言語がJSだったけど)
C♯の詳しい詳細な説明はない模様
Unity5オンラインゲーム開発講座は
C♯やUnityのことを多少理解してる人向けっぽくて
初心者向けではなかったです
この中で比較的一番マシな解説本はUnityではじめるC♯だったのですが
簡単なサンプルゲームを通じてUnityの基本的な使い方を教えるのにとどまるもので
C♯の詳細な説明などはなかったです
Unityで開発を進めながらC♯言語の詳細な文法やUnityでのC♯の使い方を
C♯言語初心者でも分かりやすく詳しく解説してる本などを知っていないでしょうか?
一応C♯言語の入門本は持っていて今学習を進めていますけど
UnityでのC♯を使ってのゲームの作り方も知っておきたいのです >>44
C#の基本だけで1冊3000円の上巻、下巻
C#でゲームプログラミング本だけで1冊3000円の上巻、下巻 + RPGやレースなどゲームジャンル別にさらに増加
Unityの使い方本だけで1冊3000円の上巻、中巻、下巻
君が要求しているのはこれくらいのボリュームある内容だよ
到底一冊では無理 Unity程度の物に本なんかいらんやろ
グーグル先生で十分 >>46
じゃあUnityで開発するには
C♯の基本を修めたあとで
C♯のゲームプログラミング本などでゲーム開発の基本を習得した上で
Unityの使い方本を習うという流れになるのでしょうか? >>49
全部平行に進めるのはダメなの?
簡単なゲームをいろんな種類、何度も作れば色々と学べるよ >>49
本当にC#の基礎の基礎だけ学んであとはUnityを使って実際にゲームを作り進めながら学習する
ある程度作れるようになってくると中身がわからないのに動くのが気持ち悪くなってくるから中身の処理を学ぶためにゲームグラフィックスや物理エンジンの実装を学ぶ
ぶっちゃけフロントエンドのエンジニアになるだけならUnity上での実装、ネットワーク周り、ちょっとしたシェーダー、アセットマネジメントのためのデータ管理 これだけあれば事足りる >>49
君の質問にはプログラミング未経験者でいきなりUnity始めて
今も挫折せずやり続けながらこのスレにいる人
そしてオンラインゲームを1本完成させて公開してる人にしか答えてあげられそうにない。
俺の場合はまさにご指摘通りの道を歩んできてるため
Unityなしでもゲームを作れるのだが
俺の真似すると10年はかかる長い道のりになってしまうと思われ正解とは言い切れない
>C#の基本を修めたあとで
>C#のゲームプログラミング本などでゲーム開発の基本を習得した上で
>Unityの使い方本を習うという流れになるのでしょうか?
プログラミングって刀鍛冶や陶芸家(壺つくりなど)みたいに職人色も強いのよ
学習というより熱意と自己工夫、そして自分の怠け心に負けない強さというかなんというか >>49
Unityで開発するには、
当方の場合開発しながらひとつひとつ使い方覚えていって、
プログラミングもtransform.positionみたいな簡単なのから、
「おっ!!動いたぞ!!」ってな感じてひとつひとつ覚えていって、
つまりだんだん覚えた数を増やしていくという泥縄式のやり方で、
いまもそのやり方を継続中ですなwww >>49
C#を全く知らずにUnityを始めたけど、
基本はBASICやVB.netとそんなに変わらなかった
大文字・小文字が区別されたり、
文末に;がついたり、ブロック文を{}で囲ったり、
条件分岐の比較演算子で、=が==で、<>が!=で、
論理演算子のAndが&&で、ORが||だったり、
For・・・Nextが少し変わった程度だった
(今のところは)
構文の御作法が微妙に違うだけだから、
何か1つのプログラミング言語を経験していれば、
C#自体の敷居は低い気がする・・・
むしろ、transformの構造とか、
Rigidbodyの操作・挙動とか、
Unity特有の部分を覚える方が大変
最初は、とにかく思ったように動かせずに引っかかる
VectorとかQuaternionのメソッド・プロパティとかは、
原理は無視して、ツールとして使えればOKではないかと? 2Dなら、
キャラクタ画像をスプライトとして登録、
オブジェクトとして配置、
Collider2DとRigidbody2Dを載せて設定、
(これだけで、地形判定はだいたいできている)
後は各キャラクタにScriptを載せて、
その中に、キー入力時の操作やカメラの移動、
特定物との衝突時の挙動をコーディングすると
これだけで、アニメーションもBGMも効果音もないけど、
動かして、接触に反応するゲームの土台部分はできる
後は、敵や弾などキャラクタを作り分けていき、
スコアを表示したり、残機管理したりを、後で追加していく
シーンを保存して、OP画面やGameOver画面を作成、
Build設定でシーンの順番を登録して、
後は操作やイベントに応じて、各シーン呼び出していく
これくらいで、ミニゲームというか、
ACTやSTGの骨格はすぐにできてしまうのが、
Unityの凄いところ・・・
ゲーム性は、作り上げる中で追加・調整が必要 cやアセンブラをかじってるなら、c#知らなくても十分unity 本でできますよ。
それすらないと、プログラムの本をやっておかないときついかも。 unity歴二ヶ月のものですが、c#独学はやめた方がいいと聞きました。
今からでもチュートリアルすべきですか? >>59
まぁ、チュートリアルはやって損はないから、やる余裕があって、技術的に詰まってるならやった方がいいと思うよ。 Quaternion.FromToRotation と Quaternion.SetFromToRotation って何が違うの?? Quaternionを作成して返すか、そのQuaternionにセットするかの違い 本の通りに操作・入力してるにもかかわらず
No MonoBehaviour scripts in the file ,or their names do not match the file name.
というエラー出るんだけどこれはどういった理由が考えられるのでしょう >>65
スクリプトの名前でも変えたんじゃねーの? 名前は付け変えてはいないんだけどね
なんかアイコンもC#じゃなくて歯車みたいなのになっちゃってるし
ファイル消して最初からやり直してみる・・・ 拡張子が.csじゃなくなってる
or
クラス名がファイル名と違ってる >>65
スクリプト作る→C#を開く→ファイルの名前変える
の順番でやると
C#のMonoBehaviourの後に書かれてるclass名とファイルの名前が違ってくるのでエラーがでる
ファイル名を変えたときはC#のMonoBehaviourのclassが一致しているか確認 もうプロジェクト消しちゃったからハッキリわからないけど
もしかしたら最初スクリプト名入力する時GameManager.cs.csて拡張子が二重になっちゃってたかもしれない MonoBehaviourのクラス名って大文字にしないといけないって聞いたんですけど、小文字でもちゃんと動作できます。
しかし、やはり心配です。バグとかおこるのでしょうか >>72
別に小文字でも良い
大文字小文字は区別される
class名は大文字から始めるのが基本、ってのを勘違いしてるんだと思う
SampleClassみたいな命名規則が一般的 すみません言葉足らずでした。
全て小文字で書いてます…… キャメルケースでググってみると、キャメルケースとスネークケースって命名ルールがある
https://ja.wikipedia.org/wiki/%E3%82%AD%E3%83%A3%E3%83%A1%E3%83%AB%E3%82%B1%E3%83%BC%E3%82%B9
全部小文字でも問題は起きないけど、読みづらくない?
ThisIsCar (キャメルケース)
thisiscar (唯の小文字)
this_is_car (スネークケース) 問題なく動くんですね!
確かに読みにくいです……
こらからは大文字で書くよう意識してみます。
ありがとうございました! 俺のはキャメルとスネークを融合した独自ルールなのでスネメルケースってところか ちょっと質問解決途中で、別の質問ですが、タレントや有名人のスキャンデータって売っているのでしょうか?
出せば売れるから売ってるはずだと思うのですが、検索してもどうも出てこないので、どうなっているのかと思って・・・
ご存知の方がいればよろしくご教授おねがいします! >>80
よく見るのはメンバ変数かな
ローカル変数と見た目でぱっと違いがわかるようにしてるだけ http://isoparametric.hatenablog.com/entry/20070725/1185327261
ハンガリアン記法でm_をつけて、m_fooといったメンバ関数/変数とするところを
mを削って、_fooにしてしまった派がいたらしい
しかし_で始まるのはc/c++では予約語だから慣習としては良くない
個人的にはお勧めしない あらら俺のはハンガリアン記法も混ざってるな
ハンスネメルケースってところか なるほど、単に識別のためであって特殊な動作をするわけでわないんですね。
ありがとうございました >>85
キャラクターとアニメーションと当たり判定つくれば終わりやろ。そっからの追加要素は自分次第 ListやDictionaryに入っている変数や値を一つずつ取り出して
それを変数に代入することって出来ますか?
列挙させるのはできたのですが、それを一つずつ取り出す方法がわかりません 少し説明不足でした。
キー等を単一のどれかに直接指定ではなく、
ListやDicitionaryに入っている全てに対してそれを実行したい場合です
全てのキーを一つずつ取得していく感じの動きをさせたいです
ListやDictionaryの中身は常に静的ではなく動的に変化するものです >>87
foreachじゃダメなん?
もしくはKeysやValuesで取れると思うんだか? それだと一つの変数に中身全部持ってきちゃいませんか?列挙っていうんでしたっけ
もしくはやり方によってはそこからどうにかできるんでしょうか なにしようとしてるのかわからないからとりあえずどういうプログラム書け VITA向けに作ったとして
個人製作のものでもPSストアに並べてもらえるの? 以前はそういうのできたが、今はvitaでソフト出すならplayismとか他のメーカーに売り込むしかない そうなんだ
VITA自体下火だし軽くあしらわれそうな気もするね Rigidbody2dでMovePositionを使うと重力値が初期化されるのは仕様?3DのMovePositionと動きが違うみたいなんだけど 仕様だよ
俺たちがそう思えばバグですら仕様
信じる事を忘れるな Unity MultiPlayerを使ったサーバを自分で建てようと思ってるんだけどさ
その場合ってCCUの制限なんて受けるもんなの?
https://twitter.com/hecomi/status/631389984130371584
受けないんだとばっか思ってつくってたけど、このツイートの意味してるところがよくわからなくてこのままで良いのか考えちゃってる・・・・ ■ このスレッドは過去ログ倉庫に格納されています