【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/ カメラの角度を取得して、それをもとに画像を回転させればいいんじゃない?
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に書き換えて、
それで全体像が出来たら実装って風にやってるけど
もっとプロフェッショナルなやり方があったら知りたい >>323
書いてないけど完成品はアセットストアにあるんやで
他のが大体あるから、探すと出て来る
最初はGithubに置いてあったような >>330
完成品はチュートリアルプロジェクトに最初っから同封してるのは知ってる。
おかげでチュートリアルどおりのファイル名にしたらファイル名がダブってるって忠告来るし。 クラス図について調べてたら、VSにコードダイアグラムってのがあって
GUIでクラス設計ができるらしい
GUIでクラスやメソッド追加すると、コードが自動生成されていくのはちょっと面白い
クラス図が全く読めないのは、いかんともしがたいが、上手く使えれば
リファクタリングとかも自動みたいだし、楽が出来るのかなと妄想してみた スマホゲーでFPS作るとしたら、UE4 とunityどちらが適していますか? iPhoneやスマホげーならUnity
PCやその他プラットフォームはUE Unity はオールマイティー
Unlial はスマホ不得意って認識だな FPSに限ればUFPSさえあれば大部分の手間が省けるUnityの方が格段に上な気がする 馴れてきてブループリントが嫌になった時にUnlial は色々と面倒かもしれない C#の株がjava問題でうなぎのぼり
C++でアンリアル使うのはなんか時代遅れかもしれない javaの問題って企業が関わってると振り回される
事だからC#も同じようなものではないの? 僕も気になりまんこ(^^
僕のスレが乗っ取られたので今度からこっちで質問しまふよ(^^
ボッキング!(^^ >>344
ここは質問スレなので?で終わりなさい
ボッキング? ごめんなふぁい(^^
質問でふ(^^
モンスターのオブジェクトの同期は成功しまひたが(^^
Spawnerから生成されるオブジェクトが同期しまふぇん(^^
どうすればよいでふか?(^^ Unityの寺子屋 定番スマホゲーム開発入門という本を読み終わったとこなんだけど次に読むべき本教えてくれ なら作り始めるのがいいんじゃね?
それとも読書したいのか? >>312
再現したんだ、俺の設定ミスじゃ無くて良かった
しかもログから分析してもらって、分かり易くて助かった
ありがとう
>>295に書いたようにSphereじゃなくてPlaneの設定で解決したかったんだ
まだ知識が全然足りないけど、多分>>305がその答えっぽいね
一旦この件は置いといて先に進みます
(気が向いたら公式に挙動を問い合わせるかも?)
レスをくれた皆さん、ありがとうございました >>349
ゲーム開発レシピ
貴重な入門書ではないUnityの技術書
3Dアクションゲームの基本がわかる
遊びのアルゴリズム
大したこと書いてないけど量が多いからunity初心者にオススメ アセットおじさんのいうことが冗談に聞こえるかもしれないけど
ことunityに関しては、完成系のアセットから学べることが多いんだよなぁ
だいたいこういうゲーム作りたいんだよなぁに近いのがあるものだし >>343
javaからjavascriptへの移行
>>342はもしかするとjavaをC#と間違えてるかも? 旧バージョンのunityで開発したゲームを販売することって可能ですか? 質問です
今2Dゲームを作っています
キャラクターにはrigidbody2dのキネマティクス、colliderにはis triggerを設定しています
それでキャラクターと別のキャラクターが衝突した時に「上から衝突したのか」「横から
衝突したのか」という判定を取りたいと思っています
どういうやり方をやるのがいいでしょうか?
OnCollisioin系ならnormalが取れると思うのですが上記の設定ではOnTrigger系のイベントに
しか反応しないと思います 衝突時に、敵と自分の座標で比較するのが一般的でしょうね。
重くなっていいなら、コライダを上下左右に用意w >>363
やっぱりそんな感じですか
ありがとうございます アカウント作る時のフルネームって本名じゃないと駄目ですか?
>>361
サンクス! >>366
開発したゲームの販売はどうなるんでしょうか? ■ このスレッドは過去ログ倉庫に格納されています