【3Dゲームエンジン】Unity質問スレッド34
■ このスレッドは過去ログ倉庫に格納されています
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートは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質問スレッド33
https://mevius.5ch.net/test/read.cgi/gamedev/1513643755/ ゲーム中一度だけ呼び出す処理について教えて下さい
AwakeやStartでは、画面遷移でもう一度処理することになってしまいます
【Unity】ゲーム起動直後に1度だけ処理を行う
http://tsubakit1.hateblo.jp/entry/2015/11/06/215722
こちらを参考にやってみたのですが
何度か実行しないと一度だけの処理をしてくれません
【Unity】ゲーム画面にDebug.Logを出したい!
http://www.urablog.xyz/entry/2017/04/25/195351
このApplication.logMessageReceived += OnLogMessage;が
次回以降も加算されていくので困っています >>111
スクリプトができない人はアセットを買えば良いと思いますよ >>111
要は初回起動時のみに加算されればよろしいわけだから画面遷移でも値を破棄しない(オブジェクトがそのまま残る)ようにスクリプトを組んでその値が0の時log出力後それに1足すという条件文をawakeかstartに組めば宜しい >>111
シングルトンでフラグ管理すればいいんじゃないでしょうか >>112>>113>>115
【Unity開発】シングルトン(Singleton)パターンまとめ【ひよこエッセンス】
http://hiyotama.hatenablog.com/entry/2015/06/26/090000
シングルトンで検索して、一度だけの処理を作ることができました
ありがとうございました 名前とスコアを持ったクラスのリストを受け取ってランキングにする
埋め込んで文字列にしてテキストフィールドとして表示するのが楽だけど、グリッド状にレイアウトを揃えたい
gridlayoutの子要素にテキスト配置するとできそうだけどこれでいいんかな?なんか面倒くさそうだけど ユニティ初めて1週間ほどなのですが、質問させてください、
transform.positionの値を変えるとオブジェクトが移動するのは何故なのでしょうか?
positionはフィールドだと思うのですが、メソッドのような挙動に感じます、
説明などではvector3のインスタンスと書かれているのですが、
変数にインスタンスを入れてプロパティを作ることもできるのでしょうか? >>119
positionはフィールドじゃなくてプロパティだな
まあ、実際は代入されたタイミングで動かしてるんじゃなくて、レンダリングとかのタイミングで行列に適用してるんだと思うけどね https://teratail.com/questions/114126
不躾ですみません。どなたか上のURLの質問に答えていただけないでしょうか。 >>123
ローテーション操作はいろいろとめんどいというか理解するには数かこなさなあかんとかあるから、割愛して。
回転角度を変数で持ってください。
その変数を計算してから、最後に回転角度へ反映。
例
myCAMERAをベクター3でつくって、これの値をこねこねする。
そして、このスコープを抜ける時に、この変数で指定された角度を代入して描画を行う。 CAMERA変数はパブリック、もっというならstaticで指定。
つまり、このスコープが呼ばれた時に、いまのカメラの角度を代入せず、ずっとCAMERA変数を中心に計算すること。 >>123
下の方のif文はMathf.Clampで短縮できるよ。 単純にcubeオブジェクト作成して、それの角度制限できるならそこにカメラァタッチするんじゃだめかな 公式のtransformのrotationのとこにあるサンプルで
public float smooth = 2.0F;
public float tiltAngle = 30.0F;
void Update()
{
float tiltAroundZ = Input.GetAxis("Horizontal") * tiltAngle;
float tiltAroundX = Input.GetAxis("Vertical") * tiltAngle;
Quaternion target = Quaternion.Euler(tiltAroundX, 0, tiltAroundZ);
transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * smooth);
}
これカメラにアタッチしてやると出来るで スクリプトができない人はアセット購入がおすすめです >>128
まぁ細かく解説する必要ないと思うけど、上下30度に設定ねこの例では
あとQuaternion のとこ、tiltAroundZ がZ値になってるけど、軸をどこにするかになるんで
ま上下移動ならこれをY値にあてればいい 皆さんご回答ありがとうございます!
おかげで何とか出来ました! >>131
あっちの方、ちゃんと回答つけて回答済みにするんやで
同じ問題で困る後継者にわかるようにね >>133
アセットを買いましょう
アセットを買えばアセットの種類もわかりますよ >>136
荒らしは徹底スルーして下さい。荒らしに構う奴も荒らし認定。IDNGで存在抹消推奨。 >>138
いや辞めてはいないが、ここで質問することがだんだんなくなってきた・・・w
何質問したらいい? みなさんどんなアセット買ってるかとか教えてください>< >>139
こんな場末で解決することなんざねえからそれが正常だわ >>140
まずお前が買ったアセットとそれを使用して作ったアプリを書け サイバーマンデーとかみたいなアセット割引キャンペーンって、直近じゃ次いつ頃になるのかな? 2Dアクションゲームに使える攻撃エフェクト系のアセットパック教えてくれ。
モーション作るだけで手一杯だ。 >>140
買ったのは少ない2つ3つだ。
めぼしいところでは破壊系のアセット買った。オブジェクトがバラバラになるやつだ。
だがあまり使い道がなかった・・・
無料のものならかたっぱしからDLしてDVDに保存している。その場合たいていスクリプトとシェーダー、オーディオ等は削除している。
これがあるとエラーが出るのと邪魔になるからだw 2Dゲームの話の流れが来ていてタイミング良い
Unityで何か作ったこと自体ないんだけど2Dから入っても問題ない?
Unity公式ページも2Dゲームでゲーム作るための入門ページ用意してるし… 2Dと3Dにはなんら本質的な差はないから2Dのほうが取っ掛かりやすそうだと感じるなら尻込みせずに取り組んだほうがいいよ 俺は2Dはアセットを揃えるのが面倒で3Dに移行した
2Dは同種のゲーム、同じアングルでしか素材が使い回せないからプロトタイプの開発に時間がかかる
probuilderもあって入門しやすくなってるし絵描きで筆が早いとか2Dで作りたいゲームがあるとか明確な理由がなければ3Dでいいと思う 3Dにアレルギーが無ければ3Dの方が色々と便利ではあるよ
ただ全員がお手軽にーといかないのが3Dだけども 個人が2Dでゲーム作るのにUnity必要か
ツクールでも使ってたほうがいいんじゃね
3D画面でエディットして弄る楽しさこそUnity >>150
パーティクル使ったVFXや物理演算手軽に実装できるのはUniyならではだが C#を使えるならUnity
使えないならツクール
プログラム出来ない奴はUnityに触らないほうが無難 そうは言ってもUnityのプログラミングはだいぶ敷居が低い
作るゲームのジャンルにもよるよけど つかこのスレは見ての通りのろくにプログラミングが出来ない子たちの溜まり場だよ
どこぞからコピペしてきて中身を理解せずに使ってトラブルってる頭の弱い子たちが頑張ってるスレ という訳で既にやってしまった子たちは仕方ないけど
今から始めるならプログラム出来ないなら触らないほうが無難ってこと *陰キャオタクは他人をディスることで自我を保っています* プログラム出来るか出来ないかはやってみないと解らんからとりあえず挑戦すれば良い
全く出来なくてもやる気さえあれば、ある程度は作れる様になるしね
問題はやる気の強さだなー 普通、足し算覚えたら引き算覚えるみたいに、
憶えた事を道具として使って応用するからステップアップしていく
それが出来ないタイプがいるのは事実だね
やる気があるとかないとかじゃなくて、何やってんだコイツ?みたいなのいる >>160は
+演算子、-演算子, +=演算子, -=演算子をすべてマスターした天才 >>161
>>160は足し算、引き算しかできないの?
そうすると4列6行のモノを数えるのに、
4+4+4+4+4+4=24と数えるの? 能力があるのにやる気というか集中力が無い場合も駄目だし、楽する事ばかりのタイプも駄目だし、かと言って気が長すぎる人も上達が遅いし難しい 勉強と何も変わらないんだよな
知能が低いとラーニングカーブが人より劣る >>163
すてっぷあっぽするんだよ
って、かいてるだろ
行列はまだまださきだがな Macbookair2015使ってる人に質問なんだけど
簡単な3Dゲームくらいなら動かせるかな? >>167
ローポリでちゃんとベイクすれば余裕
ポストプロセスはカクカクする それよりエディタフォントちっちぇぇ…
調べてもゲームでフォント使うことばっかり出てくるし >>164
なかなか良い例えだな。
俺は能力があるのに集中力が無く気が長すぎる人、に当てはまってるかもしれない。 >>169
それってスクリプトのか?
何の言語かしらんがつかってるIDEの説明みればいい
大抵alt+マウスホイールとかで大きくならんか? 質問ですが、
こういう親子関係のオブジェクトがあります。
【親】キャラA:【子】カメラA
【親】キャラB・【子】カメラB
このカメラAとカメラBを、【親】カメラmanagerの子にしたいのですが、
キャラA,キャラBとの親子関係を保持したままカメラmanagerの子にもするにはどうすればいいですか? キャラAとキャラBをマネージャーに突っ込めばいいんじゃね(適当) キムチって結構長いこと居着いてるのにまったく成長しないな
すごく簡単な事なのにどう応用すればいいか分からないのかな
基礎力が無さ過ぎるんじゃね 全裸で助けてキムチママーって叫んで町内一周すればいんじゃね? >>172
親子関係はアセットを買えば簡単に制御できますよ おやおや?一つのオブジェに親は複数もてるのかなぁ? 目的と手段を混同してる典型的な馬鹿
親子関係を維持したままカメラをうんぬんが目的じゃないでしょうに
やりたい事の手段を思いつかなくて無駄な事をしてるだけ >>180
えっ?本人って?質問者ってことか?
えっ? blenderで作ったモデリングをunityに持っていくと
マテリアルが編集不可になっていてシェーダーがいじれない問題・・・。
誰か助けてーーーー >>182
確かにそれはいえる。
blenderで作ったモデルにunityで問題なくマテリアルを貼れるようにする方法はあるのだろうが、
当方にはまだその方法はわからん…
blenderではなくmakehumanで作ったモデルなら、ふつーにマテリアルつけられるのだが…
ただmakehumanでつくるとダサすぎるのが致命的な欠点。
やはりblenderで一からつくらないと、まともなものはできないが、blenderはボーンをつけるまでなら何とかこぎつけるが、そこから先の作り方が難解すぎて、当方そこでストップしたままだw >>184
一冊か二冊まともなキャラデザインの本やったら書いてるよ
アニメーションの作り方とか
Unreal Engineの話になるけど、テクスチャ画像とかマッピングのUV座標のやつとか全部UE4のほうで作ってたが キャラクターのジョイスティックでの移動はできたのですが、思いのほか操作しづらいです...。
ジョイスティックを無くして、スマホ画面上のタッチ移動量によってキャラクターを操作しようと思うのですが
お勧めのサイト等はありますでしょうか?
こうした方が良いなどのアドバイスも頂けたら嬉しいです。 >>194
タップした場所を検出してキャラを移動させたいってこと?
スクリーン座標基準でタップしたところを起点にRay飛ばして、マップにヒットしたらスクリーン座標をワールド座標に変換してから動かせばいいんじゃない?
あとは自分で調べてくれ。 UGUIの子オブジェクトごとアルファグラデーションかけるAssetとか無いですか?
調べても子オブジェクトには反映されないものばかりで・・・
具体的にはHorizontalなScrollViewの左右を中の子オブジェクト(Image)ごと徐々に透過させたいです >>182
blender使ってない上に風呂入りながら適当に答えるけど、
参照するマテリアルがFBX等の内部データになってると駄目かもね。
FBXならUnityでモデルの設定をいじるところに
マテリアルをエクスポートする設定項目があるから
Materialsフォルダに書き出したあと編集可能になる。 >>188
当方としてはblenderでUV展開してマテリアル貼らずに、
blenderではせいぜい色だけつけといてunityに取り込んだ後マテリアル貼るって方向でいきたい。
unityのgameObjectでキューブ取り込むと、最初色だけがついてて後で別のマテリアル貼れるのと同じ。
ああいう感じでblenderからunityに取り込めると楽w BlenderからUE4で自分でモーション付けて書き出したときは、UE4にUVマッピング情報入ってなくってテクスチャのUnwrap情報は入ってたんだ。
FBXConverterでそのFBX見るとやっぱりUVマッピング情報は失われてる。
https://i.imgur.com/RvqGNqO.png
たぶんUnityもそこらへん弄れば・・・・ >>195
BlenderとUnityじゃシェーダーは違うと思うよ。
テクスチャは同じUV座標のマッピングだろうけど。
と思ってぐぐったら、希望通り、Unityでマテリアル作る説明が公式にあるじゃないか
https://docs.unity3d.com/jp/current/Manual/Materials.html
この通りしたら、Unityでマテリアル作って貼れる。
けど、違う色にしたいならBlenderの時点でうまくエクスポートされないにしてもマテリアルをわけて作っとかないといけないと思うよ。
Unityでマテリアル作って、モデルに貼る枠というかチャンネルだけは用意してくださいよみたいな UVマッピングのテクスチャ貼るなら、たぶんFBXといっしょにUV展開マップ情報もエクスポートされてる。
作ってるなら。
Unityでもアセットの詳細かなんかでUVマッピングチャンネルのどれを使うよって指定しないといけない。
まだ、おれはそこまで行ってないから知ってる人いたら教えてあげて欲しいな
UE4もやってるからたぶんそうだろうなと想像つくだけだから。
UVってのは3Dモデルの表面を2次元座標(例えば数学のXとYのグラフのような)を付けて、その座標にもとづいてテクスチャを貼る。 UVは頂点座標ごとに割り振られてるから消える筈ないんだよな Unityはじめて一週間もたってないけど、UE4経験あるからやってみたけど
楽勝じゃないか…
https://i.imgur.com/uInyoyi.png
結局、UVsetは0でもOK
テクスチャをBlenderで使ったテクスチャ画像を3Dモデルとは別にインポート
テクスチャを>>200の新規のマテリアルのとこの一番上の・Albedoのロのとこにドラッグ&ドロップ
そして作った新規マテリアルをインポートした3Dモデルと紐付ける >>203
普通そうなんだよね
韓国の御惣菜は頭がおかしい荒らしなんで、答える必要もないよ
専用ブラウザを使ってNG nameにぶち込んでおけばいい >>193
アセットは知らんけど、
左の要素がヒエラルキー上で上、右に行くにつれて下っていう順序関係を保ってるなら子オブジェクトのリストを取得して最初と最後を透明化すればいい
さらにその子のImageをまとめて透明化するならGetComponentsInChildrenを使えばいい
徐々に透明化するなコルーチン使って段階的に透明度を下げればいい >>203
きんもちわりーモデル使ってんな
お前の自作か?グロかよ >>189
スクリーン座標をワールド座標に変換してタップしている間その座標に向かって移動させるようにすればいい
目標xz座標と現在xz座標の差分を取ってそれを正規化した単位方向ベクトルdirection使って
transform.position += direction * speed * Time.deltaTime;
とかrigidbodyで移動すればいい
向きも変えたいならatan2を使えばいい >>207
リットシェードの付いてないモデルはほとんど不気味になるから大目に見ろ あと自作ならなかなかいいスキルを持ってると思うんだが? ズーム対応のパンスクロールをやりたいんですけど、
マウスの入力値に遠近法を適用するにはどうしたら良いんでしょうか ■ このスレッドは過去ログ倉庫に格納されています