【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/ >>229
作りたいものが無くてなんとなくUnityを覚えたい、というなら指南本を一周して一通りやるのがオススメです
作りたいものが固まっているなら分からない部分はネットで検索して進めれば本よりも詳しく解説されています。 個人プレイなら最初のうちは「もっといいやり方があるのでは?」はあまり気にしないで「1本の作品を完成させる」事に全力注いだ方がいいと言われてるよ。
コードの中身に拘るあまり途中で投げ出す事になりいつまでも作品が完成しない人の方が非常に多いため。
個人で作品作っているのなら最初はコードの中身はグチャグチャでもいい。
実行結果を大事にした方がいい。
「もっといいやり方があるのでは?」の世界は永遠に続くため2作品目以降で意識し始めた方が吉。
自然と「前回はこう言うやり方して後々後悔したから今度はここをもっとまとめて作るようにしよう」みたいに工夫できるようになっていく。
例外として現在チームで作品を作っているか将来就職予定ならば
コードや世界基準をしっかりしていた方が有利に進む。 まともにゲーム開発したいならそこらのウニ本より中学高校の数学の教科書を読むべき >>234
おっしゃる通りだと思います。
私の買った猫本でもほんとにさらっとですが、当たり判定時に開設していました。
そこも一からやり直そうと思います。 学校で習った事覚えてないの?
滅茶苦茶成績悪かっただろソレ こり出すと本当にいいやり方は変わってくるし、迷ったらシンプルにするのが一番 数学を勉強しなおすのも良いけど便利な関数が勢揃いしてるから、ぶっちゃけその使い方を覚えるだけで基本的には困らないけどな。 >>203
とてもクオリティの高いアニメ風キャラですね。特に顔がいいです。
顔はUnitychanの顔マスクを改良してつくったのですか?
目がUnitychanには及びませんが、これだけつくれればいうことなしですねw 最近Unityを始めたものです。質問というか疑問なのですが、
マルチシーンが実装されていなかった頃は
ゲーム中の色々なタイミングで呼ばれるオプションメニューのような画面は
どのように実装していたのでしょうか? プライマリサーフェース、バックサーフェース、オフスクリーンサーフェースというのがあってだな
・・・と説明しても理解できないだろうから昔から3枚くらいはマルチシーンが使えてたと思ってよろしい
オフスクリーンサーフェースすら使えないハードウェアでは
その都度画面を再構築していたわけ
値は話題のstatic変数に格納し続けて置くか一時ファイルに書き出して保管しておいて
その値を元に画像で画面を再構築する >>241
今でも普通にやるけど、プレファブにして動的に読み込んで展開するんよ なるほどー、マルチシーン使わなくてもやりようはあるんですね。
まだメリットデメリットが判らないので調べてみます。
ありがとうございました。 ふう2DgameKitのアクションゲークリアしたったわ 2Dkitリファレンスは2Dゲーム作る時また参照して初心者は先にインターラクティブなラーニングチュートリアルしろって意見あるな Unityから
ボスキャラ倒したし、チュートリアル次の章いくか つい1時間ほど前にUnityを初起動した初心者です
https://unity3d.com/jp/learn/tutorials/projects/2d-shooting-game/creating-sprites-and-sprite-animations?playlist=46524
上記ページの
Animation Controller(アニメーションコントローラー)とAnimation Clip(アニメーションクリップ)ファイルの作成
のところを実践しているのですが、Spaceship_0からSpaceship_3までを同時にSceneビューにドラッグ&ドロップしても、Spaceshipフォルダに何もファイルが追加されないのですが…
代わりに、SoundフォルダやFontフォルダにそれらしいファイルが追加されます
上記解説ページの挙動とは違うのですが…原因がわかる方いましたらご教授願います。
https://i.imgur.com/SQhGs6C.png 前にスクショ貼ったかもだけど、
ここ
http://baba-s.hatenablog.com/entry/2017/10/23/093500
で紹介されてるUnity Editorのテーマ変えられるやつ
機能はするんだけど謎のエラーが出る
https://i.imgur.com/PRCNp5d.png
いまはエラー出るから使うの止めてるけど
Unity Editorってフォント小さいから助かってたんだよなぁ。。。。 https://peatix.com/event/356223
Unityデベロッパー交流会
ここで質問すればみんな教えてくれるよ
今週なので急げ!
って参加者少な杉?Unityて人気無いの? >>247
出来てんじゃん
ダイアログで保存場所を聞かれた時に、別の場所を指定したから
そこに出来てるだけだろ エディタをGenshin フォントに変えるアセット使ったらFontがアセット化されててそこのサイズ弄ったらフォント見やすく出来たです。 クッキークリッカーみたいなの作ろうと思っているのだけどジャンルが分からないのでなにか面白いのあれば教えてください >>55
>メダリスト全員メダル付けていたね
げえっ!!ソチのときは、メダルはタブーだったのか?!げえっ!!
ねえっ!!どうして?!ねえっ!! ねえったらねえっ!? スクリプトってパターンあるよな
それを見つけて体系化すれば簡単にできそうだな >>251
保存場所を変更したい場合はどうしたら出来ますか?
はじめてなのでなるべく解説ページと同じ環境でやりたいと考えています(そのためにWindowsではなくMacを引っ張り出しました) Winだとダイアログが出る
Macなど知らぬ
OSのファイルシステムで日付ソートすりゃ、
何が超最近出来たファイルなのか分かるだろ
それをリネームするだけでしょ >>257
>俺は間接的には関係あるから
ぎょえええええーーーーーっ!!!!悲しすぎ、哀しすぎ!!!
間接的に関係あることでトランペットを吹く人間がこの世にいたとは!!!!!
そ、そこまで卑屈に人間はなれるものだろうか!!!???
ねえっ!!!???、人間ってそこまで卑屈になれるの!!!??? あるGameObjectのtransform.rotation.eulerAngles.xにDeg2Radを掛けたものを
Cos関数で処理するとマイナスの値をとってくれない(0〜1を行ったり来たりする※)んですが
なぜでしょうか?
※xはtransform.rotateによって毎フレーム一定値が加算されます >>263
同じ回転状態でもオイラー角は一意に決まらない
解がいくつもある
eularAngles.xは0°~180°になる解を優先してるんじゃないのかな
適当予想だけど >>264
調べたところ、xは270〜0〜90の間を移動していました
もうxは信用できないので、もう独自の変数を用意して、それでGameObjectを回転させ、Cosに変数を与えることで解決しました。
ありがとうございました。 Unity触り始めて1週間くらいの初心者です。
3Dプロジェクトの中に2Dのスプライトを作りたいのですが、
普通にやると2Dスプライトも3次元的な角度を持ってしまいます。
(たとえばz軸に垂直な方向をもつスプライトはx軸方向からは見えません)
質問なんですが、どの方向から見ても常に同じ画像を見せるスプライトっていうのは作れるでしょうか?
マリオ64のキノコとか一部の背景の木は、どの方向から見ても常に同じように見えますが、
ああいうことがやりたいのですが、やり方がわからず困っています。 カメラの角度を取得して、それをもとに画像を回転させればいいんじゃない?
LookAtとかも使えると思うけど、微調整できないから自分で計算するとかして対応する。
ずっと表示させるならuGuiで表示するとかの方がいいけど、そうでもないんでしょ? >>267
ありがとうございます
それを第一に考えたんですが、構想しているゲームがマルチプレイヤーのゲームで、その方法だとスプライトが正面を向けているプレイヤーと自分との視線の方向に対して垂直な方向にいるプレイヤからは見えなくからだめだなあと…と。
様々な方角にいる複数のカメラに対して、どのカメラにも正面から映るようにする方法ってないですかね?
あと、正確に真正面でなくても、大体でOKです。 第一に考えた事を書かずに質問とかアホだな
もう誰も答えてくれないだろうから明日ID変わったら別のキャラになって語尾に「それと便座カバー」をつけて
質問しなおせば答えてくれるかもな >>268
パーティクルを横や裏から見たら見えないと言ってるのと同じだぞ
ビルボードがどっち向いてるかサーバに送るとかアホなの? 「Unity ビルボード」で検索すると色々出てくるよ。
マルチプレイヤーゲームはオブジェクトの向いてる方向を共有する必要は無いけどね。
それとカーテンの上のシャーってなるやつ。 アンリアルエンジン神とクライエンジン王に尻を捧げろユニティ女よ Vector3 v = new Vector3(); //初期化
v = this.transform.position; //代入
v.x += 0.01f;
this.transform.position = v; //代入
これと、
Vector3 v = this.transform.position; //代入、インスタンス化
v.x += 0.01f;
this.transform.position = v; //代入
どっちがいいだろ
どっちも結果同じだけど 個人的に上のほうがしっくり来るけど。
毎フレームごとに起こるUpdateメソッドの中に記述してる前提でね
参考サイトは、下のほう言ってるんだよ。 >>275
それ初期化エラーにならん?
どっちにしろ、一行でいけそうね すみません、詳しい方にお訊きしたいのですが、
無償版の条件にある$100,000を越えてしまったときは
有償の方を新しくインストールするだけで特に手続きとかはいらないんでしょうか? >>277
Vector3 v = new Vector3(); //初期化
v = this.transform.position; //代入
を
Vector3 v = new Vector3(); //初期化
Vector3 v = this.transform.position; //代入
だったらエラーになった。
変数vがすでに使われています。スクリプトを見直して下さいとか言われた。
あーここかとすぐわかったけど。 EpicのおかげでUnityもふとっぱらにせざる得ないのはありがたい
Epicさまさま人
同時にUE4みたいに全無料に走らないといずれUEに負ける >>280
なんで変数の宣言で無駄にVecter3生成してるのバカなのって思う
Vector3 v; //宣言
v = transform.position; //代入
宣言と代入を分離したいならこれでいいんだよ 一応、1行で
transform.position = new Vector3(transform.position.x, transform.position.y + 0.01f, transform.position.z);
こっちでも、どっちでも
transform.position += new Vector3(0f,0.01f,0f); Update内でnewする事は根本的によくないと認識しているが
ガベージコレクションが頻繁に起きて処理落ちの原因になるんじゃなかったっけ Vector系は初期値でVector3.zeroとか使えるよ。 すみません、vrchatでmmdデータを使いたくダウンロードしfbxファイルをunityのassetsにドロップしたのですがマテリアルフォルダが作成されません…
自分でマテリアルフォルダを作成するまではいったのですがassets内にあるuntitled(キャラクターの見た目をしたもの)の中にあるマテリアルデータの様なものがマテリアルフォルダに移せなくて難儀しています
マテリアルフォルダにマテリアルのデータを移す方法を教えて下さい、長文申し訳ありませんがお願いします たしかに
調べるとVector3はクラスだからnewでインスタンス化は正しいが、newは参照型の不定なデータに対してメモリーを多めに確保する意味だから、メモリー食うかも。
一回newで確保したインスタンスをUpdateの次周で同じクラスをインスタンス化すると、当然前のやつは参照されないんで
一秒で60fpsで60回の60個
でもVector3はnewでインスタンス化が正しいって書いてたからいいかなたぶん Vector3は構造体じゃないの?
ローカル変数の構造体はスタックに生成されるからGCの対象にはならない認識だけど、、、、
どちらにせよ宣言と同時にデフォルト値で初期化するのは無駄ではある クラスも構造体もわからない人は、さっさとアセットを買って楽になりましょう Unityをインストールしたので、チュートリアルの玉転がしやってるんだけど困ってる
https://unity3d.com/jp/learn/tutorials/projects/hajiuni-jp
Planeって平らだよな
でもチュートリアル通り進めてボールを速くすると、転がしてるうちにバウンドする
Planeを引き延ばして同じサイズにしたらバウンドしないし、
Plane同士の継ぎ目でバウンドしてるんじゃないかと思うんだけど、
継ぎ目を滑らかにするにはどうしたらいいの? >>295
そのチュートリアルにあるように、Yの値がそろってれば大丈夫じゃないん?
Ground1(x:5, y:0, z:-5)、
Ground2(x:5, y:0, z:5)、
Ground3(x:-5, y:0, z:-5)、
Ground4(x:-5, y:0, z:5) http://libro.tuyano.com/index2?id=11166003
ここなんだが、Vector3をクラスと言い切り、必ずnew使えと書きながらサンプルコードではnew使わずにインスタンス化なんてしてる自己矛盾型サイト
時々、Tranformとかスペルまで思いっきり間違ってるし
Unityのリファレンス見るとVector3は構造体じゃねえかw
しかも構造体は値型なのでnewも必要ないとか
しかもそう言うサイトのくせにAdBlocker入れてると注意してきて、Adblockすると先に進めない仕組み バグは、
いきなり止まる → 記述ミス シンタックスエラー、コリジョンの干渉
いきなりキャラが飛んだり痙攣したり→コリジョンの干渉
入力を受け付けない→コリジョンの干渉
ものがすり抜ける→コリジョン設定ミス
とたいていはコリジョンから疑うべき >>11533
>あなたが、「美し者は短命です」と言ったので、
夏目雅子を例に出して言ったのですね。
>わたしは観念の「美人薄命」を否定したのです。
樋口可南子によってそれを否定したのですね。 >>297
全部正しく設定してるんだけどなあ
なんなんだろう
>>299
俺へのレスかな?
コリジョンの設定なんて何もいじってないんだけど、
Plane4枚を隙間なく並べてsphere転がすだけでも何か設定必要なの? >>303
ちゅ一とで四枚となっては
ちなみに一枚なら大丈夫って書いてるね たぶん各PlaneにアタッチされたColliderが悪さしてるんだろうね。
どうしてもPlaneを4枚使いたいならCollider1枚を4枚分のサイズへ広げるといいよ。
そういう挙動の把握もチュートリアルの裏目的みたいなもんだと思うw >>305
チュートレベルの理解力でそれは厳しいな、planeには最初からコライダがあるから
おれもやってみたけど問題なく動いた
とりま平面と球だけでやるとかしてみればいい
壁とかいじるときに変なところいじってるかもしれんし Blenderで作ったモデルをUnityでアップしてVRChatでそのモデルを選択したら設定した大きさよりかなり巨大なモデルになってしまうんですがどうしたら良いでしょうか?
どこで質問したら良いかもわからないのでスレチでしたらご容赦下さい >>295
ボールが跳ねて外飛び出るのを期待してやったら何も起きねえぞゴルァ
寧ろどうやったら撥ねるのか教えれ >>295
フィジックスマネージャーもしくはフィジックスマテリアルのBouncinessを0にしたら治ったりしない? 新しいプロジェクトを作る
Planeを作る
3枚複製する
それぞれのPositionを>>297へ設定
Sphereを作る
SphereのPositionを(0,1.5,0)へ設定 ((-5,1.5,0)の方が挙動が分かりやすい)
SphereにRigidbodyコンポーネントを追加
SphereにC#のスクリプトを新たに作成
https://unity3d.com/jp/learn/tutorials/projects/hajiuni/moving-the-player?playlist=45986
の一番下のコードを6行目からコピペ
Speedの値を50に変更
再生
Sphere落下後少ししてからDを押し続ける
これで弾むんだよね
弾まない時もあるし、弾み方も一定ではないけど
>>310の方法をググって試してみたけど変わらなかった
正しく設定できてたかはわからないけど なるほど、Speed上げると飛ぶのか
Y軸の高さをログ出力してわかったんだが、繋ぎ目を跨いだり壁にぶつかると
0.5052602とか0.5以外になってる事がある
0.5に収束する前に跨いだりぶつかるのを繰り返すと、座標に誤差が出て
0.5未満(0.4999994)とか、ちょっとcolliderにめり込んだままになるタイミングがある
その時に繋ぎ目を跨ぐと飛び上がるようだ
球の高さを最初からY0.5にして、Freeze PositonのYをロックすればいんでね? mass100、Speed10000でもふっ飛ぶな
http://imgur.com/ru0Lglm.png
飛ぶ直前に必ずY座標のめり込みがある 質問します
unityってビルトインで「default particle」というマテリアルが入ってますよね
自分でパーティクルを作る時このdefault particleと同じ設定にする場合どうやって作れば
いいと思われますか?
このdefault particleの画像が気に入らなくて自分で作った画像でマテリアルを作ったりしたのですが
どうも別物になってしまって具合が良くないです
マテリアルをparticle/additiveとかparticle/alpha blendedとかにしてみても別物のようです
一体どういうマテリアルを選べばいいのでしょうか? >>315
マテリアル関連のアセットをかえばいいです >>314
yか関連するものに何か掛けてる?
じゃないと座標が勝手にかわるとかありえないんだが
ソース全張り希望、 >>317
なんなら作ったプロジエクトファイル全部公開したら間違えわかるんじゃね >>317
void Update()
{
float y = gameObject.transform.position.y;
if (y < 0.5f)
{
Debug.LogWarning("I can fly:" + y);
}
else if (y > 0.7f)
{
Debug.LogError(y);
}
else if (y > 0.5f)
{
Debug.Log(y);
}
}
PlayerContorller.csのUpdateにログ出力を組んだ以外は全く同一
壁にぶつかっても0.7f以上跳ねないから、0.7f以上浮いたら飛んだと判定して
LogErrorで一時停止してる
物理演算は接触したらcolliderで外に追い出すだけだから、
実際には常に0.5にはならず、自由落下と反発を繰り返してる
完全に0.5の時は計算しないみたいだけど、それ以外の時は
ずっと計算してる >>319
gameObjectが何を指しているかで変わる
アタッチしているのであればこれ指定する必要ないし
Update関数だけでは測りかねないので、全ソースというかプロジェクトどっかにアップしたほうが
解決は早いよ
ほんとに
小出しにしても何もいい事無いと思う >>315
これ?↓
ttps://gyazo.com/2201536ff4f5e249572461070f487296
どういう画像にしたいのか?
てか変えるってより追加するだけじゃね? まさかとは思うが、球体にアタッチするのを地面にアタッチしてないよな?
ていうかそいうのも含めて全ソースあるとわかりやすいんだが
エスパーばかりじゃないんで しかしRoll A BALLって日本語のしかもテキストバージョンあんのかよ
Youtubeで英語しかないと思って、英語字幕で見てたわ なぜかUnityの人 Gyazo使ってるね
普通imgrイメグラだろうけど 右クリックで画像のアドレスコピーして、書き込みのときペーストしたらいいやん
https://i.gyazo.com/2201536ff4f5e249572461070f487296.png
専ブラでプレビュー出るし、スマホやPCでもブラウザ立ち上がらずに画像見れる 球体のコリジョンの形を実際の珠のメッシュに近くするためにもっと細かくしてみれば? >>321
あ
すいません
自己解決しました
よく見たら生成直後のパーティクルのマテリアルのところに「alpha blended premultiply」
と書いてありました
これの事です 解決したら何よりです
解決しないと気持ち悪いよね、とくに勝手に座標が増減してるとかは クラス設計の手順みたいなものないっすかね?
とりあえず必要な機能を全て書き出して、
細分化したクラスとメソッドに別けて、
共有化できるところを抽象化して、
疎結合にするためにI/Fに書き換えて、
それで全体像が出来たら実装って風にやってるけど
もっとプロフェッショナルなやり方があったら知りたい ■ このスレッドは過去ログ倉庫に格納されています