【3Dゲームエンジン】Unity質問スレッド37
■ このスレッドは過去ログ倉庫に格納されています
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートは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質問スレッド36
https://mevius.5ch.net/test/read.cgi/gamedev/1528372763/ >>185
目標は?
それを紙に書いて目につくとこに貼っときな。
そもそも目標が曖昧だとそういったことが起きやすい。 >>185
作りたいゲームを作りながら覚えるのが最も効率が良いと思うけど
その時に完成するまでの工程を考えて細かく分けて毎日その小さなゴールを達成する
そうすると達成感を感じ続ける事が出来て挫折しにくい気がする >>179
つまり君はそうじゃないってことか
調べもせず挫折したんか いつまでたっても初心者な気がする
一人で続けても同じこと繰り返して中級者以上に、難しいことできる気がせん
なんかコツとかあるんか 初心者つーか素人なんじゃね
初心者はきちんと基礎を学んだ人たち
よく取り敢えず作れつーけどそれは自己流にしか過ぎず初心者たり得ない
せっかく公式チュートリアル(英語版)って良い教材があるのに履修せず基礎力つけないのは結局は時間の無駄 初心者を脱したいと思って
本を読んでいたら
さんざんあるジャンルのサンプルを組み立ててて
やっと本題のそのゲームの一番難しい処理のところで
この処理については難しいので本書の対象レベルを超えるので詳しい説明は本書ではしません
みたいなことが書いてあってこれじゃあ同レベルのものを作れるようにならないよねと思った
たしかLerp関係だったかな
それともQuaternion関係のことだったかな?
Ray関係だったかもしれない unityのスマホブラウザ対応って今どうなってますか?
進展してますか?
最新の情報が知りたいです 初心者つーてもIT経験者でUnityは初心者とまっさらな一般人の初心者じゃ天地の差があるしな
基本的にはここでの初心者はITの知識&経験はあるけどUnityははじめてと考えていいのかな? transform.upはシーンビューの緑矢印方向に進むんですよね?
何故かtransform.upを使っても緑矢印の方向に進まず角度によっては正反対の方向に進んだりします
2dです vector3 playerposition; //自機のばしょ
vector3 positiondistance; //弾と自機の座標差から取ったベクトル
float bulletmovedistance; //破壊判定用の動いた距離
[Selializefiled]
float bulletspeed=0.2f; //弾を移動速度
void start()
{
playerposition=GameObject.Find(player).GetCommpoment〈Transform〉.position; //自機座標の取得
positiondistance=(playerposition-transform.position).Nomraized; //弾と自機の座標差からベクトル取得&正規化
transform.Fromtorotation(vector3.down,positiondistance); //弾を後ろ側を自機に向ける
}
void update()
{
Bulletcheck();
}
void fixedupdate()
{
Bulletmove();
}
public void Bulletcheck() //弾の破壊判定
{
if(bulletmovedistance<5)
{
GameObject.Dertory(gameobject);
}
}
public void Bulletmove() //弾の移動
{
transform.translate(translate.up*bulletspeed);
}
これで弾の後ろはちゃんと自機に向いているのですが何故か角度によって正常に緑矢印方向に進みません…(改行規制に引っ掛かったので少し詰めてます) vector3 playerposition; //自機のばしょ
vector3 positiondistance; //弾と自機の座標差から取ったベクトル
float bulletmovedistance; //破壊判定用の動いた距離
[Selializefiled]
float bulletspeed=0.2f; //弾を移動速度
void start()
{
playerposition=GameObject.Find(player).GetCommpoment〈Transform〉.position; //自機座標の取得
positiondistance=(playerposition-transform.position).Nomraized; //弾と自機の座標差からベクトル取得&正規化
transform.Fromtorotation(vector3.down,positiondistance); //弾を後ろ側を自機に向ける
}
void update()
{
Bulletcheck();
}
void fixedupdate()
{
Bulletmove();
}
public void Bulletcheck() //弾の破壊判定
{
if(bulletmovedistance<5)
{
GameObject.Dertory(gameobject);
}
}
public void Bulletmove() //弾の移動
{
transform.translate(tranform.up*bulletspeed);
}
こうでした
>>202 2dなので正面方向はtransform.upなんですよね… >>203
fromtorotationの使い方はこれで間違いないの?
unityの回転は非常に難しい >>204
BulletMoveをコメント化して向きを確認してみても合ってます >>205
わかった
これで正常になるかは知らんがとりあえずおかしい
>>203
transform.translate(tranform.up*bulletspeed);
の
tranform.upはワールドベクトルが入ってる
https://docs.unity3d.com/jp/460/ScriptReference/Transform.Translate.html
これによればtranslateはデフォルト設定だとローカルベクトルを指定しないといけない
だから
transform.translate(Vector3.up*bulletspeed);
がおそらく正解 >>206
なるほど、元からy軸方向が正面方向になってるのに更にtransform.upで角度を掛けたせいでおかしくなってたんですね…ありがとうございます uGUIの自動レイアウトなんか思い通りになんねーよと思ってやっとの事でちゃんと動くようになったら更新頻度が高すぎるのかはパフォーマンス食い過ぎてやばい。 しばらく放置してから触ると、メモリが足りないのか、かなり重くなってます
この減少は治らないでしょうか? >メモリが足りないのか、かなり重くなってます
メモリ増やせよw
開発するなら16Gは当たり前、32Gあっても困る事はない MeshCutterというアセットを使いたいのですが以下のエラーが出て動きません…
dllに何か問題があるのでしょうか?
Unable to open Assets/MeshCutter/Editor/MeshCutter.dll: Check external application preferences. 質問いいですか?
プロジェクトのコピーってどうやるんですか?
いっぺん試しにプロジェクトフォルダをコピーアンドペーストして別の場所に変えました
その際プロジェクトフォルダの名前も変更しました
それでプロジェクトをunityで開いたら特に何の問題もなくゲームは作動しています
これでいいのでしょうか?
なんかおかしい事ないでしょうか >>213
それはアセットをかって試してはどうですか? >>213
問題ないハズだけど、本当に問題ないかは
グーグル先生に聞くと詳しく教えてくれるぞ! >>215
うーむ
Googleで調べてよくわからなかったから聞きました
人によってはこれでいいという人もいたし
なんか違うというような感じの人もいました >>210
メモリの全体量が不足しているわけではないのです。
それでも、しばらく放置しておくともたつくのです すいません。使い方がよく判ってなかっただけのような気がしてきました。 Window→Mesh Cutter→Open Windowで開いても
全部ボタンが無効化されてて全然動かない… 誰か助けて…
チュートリアルの動画見てもボタン動くようになってるし… 質問させて下さい。
回転させた2Dスプライトを複製して、スプライトレンダラー>反転にチェックを入れてみましたが、回転自体を含めた左右反転が出来ませんでした。
↓のGIFですと左翼の羽ばたきが下を向いてしまっていますが、上を向くようにするにはどうすればいいでしょうか?
https://i.imgur.com/cqvfUNj.gifv >>222
こういう事をしたいという事でしょうか?
https://imgur.com/a/veO40hU
だとすると、絵自体は反転して使用できますが、それについているアニメは自動で反転しないので、左用のアニメを作ってアタッチしないと無理だと思います >>225 さん
そうですそうです。期待したのはそのような動きだったのですが、単純な反転は出来ないのですね。ありがとうございました。
>>226 さん
scale_x:-1でも結果は変わらずでした。ありがとうございました。 エラーメッセージが出てるなら、せめてそれをググるとかしてね。
英語サイトしか出なくても翻訳サイトへコピペするだけとお手軽なもんだ。
それすら面倒がる奴は、アセットおじさんがおしおきしちゃうぞ。 >>211
>>214
>>223
汝は、適切なアセットがあったら、質問者に紹介しなさい。
我が見守るこのスレで、誉れと思って、汝のなすべきことをしなさい。 一般的にはFPSの方がはるかに難度高いけど
Unity使うとなるとRPGの方が完成に漕ぎ着けるまでが長いかも >>230
何を持って難度が高いとするかによる
大体の場合rpgのほうが使用するリソース量が多いので制作コストは高い
ただしrpgツクールとか使うなら開発難度は低いとも言える
mmorpgだったらゲームによってはtpsでオープンワールドみたいな作りになるからfpsで必要な技術を大体包括してるとも言える visual studioのカーソルの色は変更できたでしょうか?
デフォだと背景と同化していて位置が分かりづらいです
>>231
>>232
たしかにツールが豊富なのはRPGですよね unetでプレイヤーの子オブジェクトにコライダー割り当てて、それに当たったらそのオブジェクトをプレイヤーの子オブジェクト
にしたいと考えているのですが、調べてみるとnetwork identityってroot(この場合はプレイヤー)にしかつけないほうがいいんですよね?
子オブジェクトのコライダーに何かがヒットした場合、サーバー全体で処理するにはどうすればいいのでしょうか? RPGっていうのは3Dの?
それならRPGの方が難しそうに思える FPSもRPGもアセットをかえば1時間あれば作れます タイトルやキャラ変えただけのを自作の新作って言う奴は多いなあ 2dで弾と敵を正面からぶつけようとしてるのですが上手く行きません
お互いにboxcollider2d、弾にrigidbody2dを付けています
コードは
void OnCollider2D(collision2D col)
{
if(col.gameobject.name="Enemy")
{
Dertory(col.gameobject);
Dertory(gameobject);
gamecontroller.AddScoreAndCoin(enemy.score,enemy.coin);
Debag.Log("Bullet Touth");
}
}
コードは特にエラーも出てないし重ねて再生すればちゃんとログが出るので
多分当たり判定の方に問題があると思います 敵は複製するんだからnameじゃなくてtagでやるんじゃね >>238
上手くいかないとはどういう状況か説明せなあかんよ。 >>238
>void OnCollider2D(collision2D col)
>{
DEBUG.LOG(col.gameobject.name);
>if(col.gameobject.name="Enemy")
>{…
上記の様にログ出力入れて、動かして何が表示されるかやりなさい。 どうやら(clone)が付いていたので検出出来なかったようです
>>239の方法で解決しました 答えてくれた方々ありがとうございます
こういうのは拡張メソッド使うといいと聞いたのですが
public static void InstanciateNameNotChange(GameObject a,vector3 b,Quaterinion c,)
{
GameObject obj=Transform.Instanciate(a,b,c);
obj.name=a.name;
}
これで大丈夫でしょうか 大丈夫かもしれないけど名前で判別するよりタグを使った方がよくないか >>243
名前で敵の持つ情報を取得しよう…と思っていましたが考えてみたらオブジェクトを取得すれば済む話でしたね… >>236
汝は、適切なアセットがあったら、質問者に紹介しなさい。
我が見守るこのスレで、誉れと思って、汝のなすべきことをしなさい。 2Dでナビゲーションを使いたいんですが可能でしょうか
一応3Dオブジェクトを2Dで表示するような形なら出来なくもないみたいなんですが出来ればスプライト使いたいです
何か良い方法があれば教えて頂きたいです >>246
3dでやって空オブジェクトに剛体とかナビ突っ込んで、そのオブジェクトのscreen座標系にスプライト表示すりゃええんじゃないすか? visual studioってwinの起動時に勝手に起動されるんでしょうか?
スタートアップに登録されていないのに、勝手に復元されます >>246
こんな感じでステージ作成してみた
https://i.gyazo.com/2e5c3a1441e165ebf60e709b7a421a7a.png
一応動くけど
https://imgur.com/a/sbJfP5L
どうやら、NavMeshAgentは自動で向きも制御するっぽいし、画面はPlaneにスプライトを張っていたりと
ちょっと厄介なので、2D画面なら、素直に自動移動のスクリプト作った方が管理もしやすいし分かりやすいかなと思います ナビゲーションってアンドロイドとかのショボイ端末でも実用的なの? 3dビューに表示されているグリッドをunitと言うと思いますが、この大きさは変更はできないのですよね? >>247 >>250
返答ありがとうございます
一応動きましたが挙動がイメージと違ったり色々不便なので
アドバイス通りナビゲーション使わない方向で頑張ってみます >>255
汝は、適切なアセットがあったら、質問者に紹介しなさい。
我が見守るこのスレで、誉れと思って、汝のなすべきことをしなさい。 unityって公式のチュートリアルとかないんですかね
パズルゲームの
公式でなくともそういった情報をまとめてるサイトなどありますか?
youtubeはもちろんですが ローポリゲームをノートPCで作ってる人いますか?
どのくらいのスペックのもの使ってるか教えてください >>259
質問の仕方おかしくない?
せめて君が何に対してどう不親切だと感じたのか書かんと誰も提示なんてできないよ >>262
「初めての人は、まず、こちらから始めましょう。(初級)」
クリック→英語
市ね ママが宿題教えてくれないのは不親切なんだろ?
ママはいないから諦めろよw 英語が出来なくても動画の通りまねすればいいんだよ
何回も繰り返してれば英語で何を言ってるのかも次第に分かってくる
IT経験無い初心者なら年単位で毎日やるくらいの気持ちで
IT経験あるUnity初心者なら一ヶ月もあれば初級チュートリアルくらいは理解できる 俺も英語は得意じゃないけどコードが書いてりゃなんとかなるしツールの操作方法も動画があるなら無音声でもいける
ただプログラムも初めてだとしんどいとは思う
それでもdirectxしかなかったような頃に比べりゃ相当わかりやすいと思う チュートリアルはyoutubeの動画なので
英語から自動翻訳でも日本語にしてみたらどうですか?
無音で一回、自動翻訳で二回目、英語で三回目とか >>257
unityはツクール系じゃないから基本的なモノの動かし方が分かってから、作りたいパズルはどうやるんだろうってなるのでc#がわからなければc#から。unityがわからなければ玉転がしからやれ マニュアル自体が追いついてない感じあるね
独習書の定番とかあるのかな VerUPが早いから更新が追いつかない定番も無い
本はススメないけどどうしても本でやりたいならUnityのバージョンを本と同じ古いバージョンにすること アプリの初回起動時にアセットバンドルをダウンロードしたらAppleの審査で
>追加のリソースをダウンロードまたは解凍することなく、アプリをすぐに使用できるようにしてください。
と言われてしまいました。
どう対応するのがいいですか。 >>273
本のバージョンが古いというのも
たいていはサンプルのスクリプトのGetComponent関連で動かないだけで
rigidbodyなどをGetComponent<Rigidbody>()に直せば
普通に最新のバージョンのUNITYでも動くと思いますが そうしたことにつまづくのが初心者
つまづかない人は今更旧バージョンの本でやる必要性は薄い 何かBlender初心者スレにいる口先だけの雑魚と同じこと言ってる人がいるね
どこにでもいるんだなこういう偉そうな人 お金の価値って人それぞれだからな
本買っていろんな面倒くささを省けるならいいんじゃない
自分は本買ったことないけど最初の導入の部分が一番手間どったからね >>274
追加のリソースをダウンロードまたは解凍することなく、アプリをすぐに使用できるように対応すればいい >>280
それだとアセットバンドルを使う意味が無くなるのですが >>281
Apple様に従えないなら出せない。終わり 質問失礼します。
fbx を assetbundle の prefab に自動で変換したいのですが、どうしたら良いでしょうか?
良い Asset などありましたら教えていただきたいです。 質問する側だって、偉そうにしてくる奴に答えてほしくなんか無いんだよなあ。ただマウントとって優越に浸りたいだけで、初心者たちの問題解決してやろうとかって心が欠片もない
誰のためのスレなんだか考えろよ ■ このスレッドは過去ログ倉庫に格納されています