【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/ 旧バージョンのunityで開発したゲームを販売することって可能ですか? 質問です 今2Dゲームを作っています キャラクターにはrigidbody2dのキネマティクス、colliderにはis triggerを設定しています それでキャラクターと別のキャラクターが衝突した時に「上から衝突したのか」「横から 衝突したのか」という判定を取りたいと思っています どういうやり方をやるのがいいでしょうか? OnCollisioin系ならnormalが取れると思うのですが上記の設定ではOnTrigger系のイベントに しか反応しないと思います 衝突時に、敵と自分の座標で比較するのが一般的でしょうね。 重くなっていいなら、コライダを上下左右に用意w >>363 やっぱりそんな感じですか ありがとうございます アカウント作る時のフルネームって本名じゃないと駄目ですか? >>361 サンクス! >>366 開発したゲームの販売はどうなるんでしょうか? >>367 >>366 の広告って多分unity adsの事を言ってると思う つまりunity内の広告サービス unity内のお金のやり取りだからunityのアカウントは実名じゃないと いけないという理論だと思う 金は欲しいが本名は教えない、ってすごいよな 同人だったら表向きにはサークル名しか出ないからとかなのかね? でも法人化してないとItunesに本名がでるのはやっぱり拒否感強いけどな 今時1円でも法人作れるんだしそれでえぇやん まぁ色々とめんどくさいことにはなるだろうけどw 個々最近、Vector3のnewでのインスタンス化を英語チュートリアルのほうのRoll A Ballでしてて、それはやばいんじゃないかと言うご意見いただき、 Unity関係なく、C#入門と言うやつをまじめにやってました。 だいぶん、C#読めるようになって、日本のチュートでは、Vector3をnewで初期化して、Vector3をひとつの変数にまとめた構造体として扱うみたいなことしてないので、 そのとおりにすると、英語版での NewでVector3構造体を初期化してるほうと較べて体感的にかなり軽くなったw なんだこれw テストプレイでも英語版のVector3構造体をnewで初期化して変数詰めてるときは、ちょっとカクついてスタートしたのに、日本語版のやついつテストプレイはじめたかわからないレベル 体感の軽くなったはメモリの状態とかあるから開始と終了で時間計ってみては? Roll A BALLの日本語版をしているのですが、UIのところで https://unity3d.com/jp/learn/tutorials/projects/hajiuni/creating-the-game-ui?playlist=45986 何回読んでも抜けなく同じようにしているはずですが、 下図のように https://i.imgur.com/bsyXGRy.png まずキャンパスが馬鹿でかくそれの子のScoreTextもあらぬ位置にでます。 どなたか、どこらへんがおかしいか分かる人ご教授願えませんでしょうか? >>378 オーバーレイはその仕様だと思います Cameraにするとカメラの表示枠に収まります UIとゲーム画面が独立してるのでそうなってるみたいですね ttps://i.gyazo.com/e9027b640869805d621cea8ff050b917.png >>379 このキャンバスの大きさのままテキストのアンカー決めてキャンバスの枠内に収めてやってみたら、キャンバスのサイズ関係なくDisplay1のビューにUIが表示されました。 ありがとうです。 >>960 デブの吐く息は臭い ↑これは差別発言じゃなくて、 ホモの吐く息は臭い ↑これは差別発言だというのか? それは何故!?それこそ差別発言ではないのか!? 質問です。 ・真っさらシーンでAssetsにmp4ファイルをインポート ・Hierarcheyにmp4をドラッグ&ドロップ ・再生 これで音声が再生されないのですが、何か間違った操作しているでしょうか? InspectorのVedeo PlayerにはAudio Sourceという項目があるんですが、 そこにmp3やwavファイルもセットできません。 セットできない、というのは横の○を押してもNoneしか出てこない&mp3やwavをドラッグドロップできない状態です。 バージョンはUnity2017.3.1f1です。 うるせーな。 そんくらい質問する前に自分でググれよボケが。 2chに書き込めるくらいならキーワード検索くらい簡単だろ。 >>383 ググって見つけられなかったのでここに来ました。 Audio Souceのコンポーネントを追加する方法もありましたが、 やはり「none」しか選択できないんです。 >>382 mp3でやってみたけど、大丈夫でした Unityは同じVersionです ttps://i.gyazo.com/aa574aa76a1bd3e8af3cfed2f5ec444a.png ちなみにMP4(動画)の場合、さくっとみるとQuickTimega無いととかって情報がでてきますが…… Unityについて質問しても良いですか。 Unityでゲームを作ってたのですが、Uuityのゲームって全部 Canvasの下にUIで作るものなんですか? メニューボタンやテキストなどシステム周りだけ Canvasの下にUIで作って、 その他は、左下の小さい枠の中で作ってたのですが。 UIと左下の枠の関係が良く分からないのです。 マップの外側が海なのですが切れて見栄え悪いです 遠景処理ってどうすればいいですか? レンダリング設定からファークリップの距離を上げる 詳細な関数名は忘れたけどググれば出る iOSにビルドして5回に1回くらいUnityロゴのあとシーン読み込みに失敗して進行不能になるんだけど同じ症状の人いない? Unity2017.2の最終バージョンだったかな確か 雨の中傘もささずに踊る人がいてもいい。それ画自由だ。 2Dのオブジェクトを、クリックしてる間コマみたいに回転させたいんだけど、どういうプロパティ使えばいいでしょうか? >>397 ググれば出ますよ なんてググれば出ると思いますか? 考えて間違ってたら答えて上げます >>398 2D、オブジェクト、クリック、コマ、回転、させたい、プロパティ、使えば、いい、かな? transform.rotate()かrotationに値ぶち込めばいいんじゃね クリックしてる間というのがあいまいかな おしっぱなのか一度クリックしたさいの動作なのか もう少し操作具体的に描くといいかと C#スクリプト作って、GameManagerって命名したら、 アイコンが歯車になったんだが、この名前はなにかの予約語になってんのか? 使っちゃダメなん? まあ心配ならスクリプトの頭にScrとか付けとけばよくね? AppGameKit Mobile Released on Android! https://www.thegamecreators.com/post/appgamekit-mobile-released https://play.google.com/store/apps/details?id=com.tgc.agk.mobile 金曜日、2018年3月2日にTGC NewsのAppGameKit News、 今日、Androidプラットフォーム上のAppGameKit Mobileがリリースされました。 今では、AppGameKit Mobileでどこでもどこでもアプリ、デモ、ゲームを作成して、「外出先で」コーディングすることができます。 この完全に無料のAppGameKitのバージョンでは、通常のAppGameKitスクリプト言語を使用してコードを作成してから、プロ ジェクトをコンパイルしてデバイス上で直接実行することができます。このアプリにはデモとサンプルが付属しているため、新 規ユーザーはプログラミング言語の使いやすさを知ることができます。 カットダウンしたIDE内でアプリケーションをコーディングしてから、超高速コンパイラを使用して、プロジェクトをほぼ即座に実 行することができます。クラウドを追加して保存すると、あなたのプロジェクトをTheGameCreatorsのウェブサイトにアップロー ドして、プロジェクトを安全に保護したり、Windows、Mac、Linux版のAppGameKitでコーディングを続けることができます。 AppGameKit Mobileは、デスクトップ版の多くのコマンドへのアクセスを提供します。最も重要なのは、ゲーム作成のためのす べての主要なコマンドです。 ・3Dグラフィックスと3D物理 ・2Dグラフィックスと2D物理 ・レンダリングコントロール ・サウンド&ミュージック ・ユーザー入力 ・ファイルI / O ・センサー カメラと写真のアクセスでは、あなたのデバイスから画像メディアをインポートしてから、これらの画像をアプリケーションのス プライトまたはテクスチャとして使用できます。 今すぐ無料でダウンロード! Android端末でAndroidアプリの開発とかどんな罰ゲームだよw Nexus9未満では厳しいだろうなwwwwwwwww タッチパネルな上にマルチタスクじゃないから開発機として普通に効率悪いよね。 普通は開発ツール立ち上げながら調べる用にブラウザも立ち上げ、場合によってはペイントツールやサウンド関係のオーサリングツール、CG作成ツールも同時にあげっぱなしにして行ったり来たりするからね。 唯一の利点は作った物をそのままコードレスに実機でテストできるって点だけだが これも結局はその実機だけのテストであり、最後はエミュレーター使って色々な機種で試してみないといけないから微妙 PCよりスマホ使える若者が多いからそこがターゲットなんだろうけど 一時的に素人が作るカジュアルゲームは増えるかもね iOSは開発者の忠誠心確かめるためにこっそり仕様変更とかするし、仕事じゃないなら諦めろ >>406 また、PC必要ない厨が勘違いしそうだなw アプリでもゲーム出来るもん!(キリっ) おいおい、そのまえにそのちっちゃい画面で3DCG作るのかよテクスチャ作れるのかおまえはwww そのちっちゃい画面にノーマルテクスチャとAOテクスチャとハイトマップとラフネス(メタル)マップ並べるつもりか?一個どんだけ小さいんだよww Androidは前からこんなのあったよなー iOSでもiPadだけでアプリ作れるのあるし なんで今更こんなものを書いたの?(質問スレなので質問したよ) まあいろいろゲームエンジン出てきてるけどUnityとUnreal Engineの2大巨塔に張り合えるのは出てくるんだろうか Unreal EngineがC++捨てて完全C#互換かつBluePrintとC#スクリプトのミクスで作成サポートしてくれたら速攻でUnrealEngineに乗り換えるんだが。 非商用完全無料だしあっち でもunrealって見た目すごく綺麗だけど容量大きくなりがちでスマホアプリには向かないと聞いたけど >>417 そんなんリソースの形式合わせればサイズ変わらんがな アセット管理もせずにapkだけで実装するつもりか? UEはアセット販売の絶対数と日本語での情報収集の幅が狭いからな。 趣味なら無料って所に飛びつくと全部自分で作るハメになっちゃうよ・・・ まったく、アセットは最高だぜ!! まあ今まで作ったC++のノードを全部c#に書き直すのは並大抵じゃないからハードル高いだろ Unity = レンダリング系の機能がほぼオフ(初期値がパフォーマンス重視) UE4 = レンダリング系の機能が全てオン(初期値がクオリティ重視) この程度の違いだからな 機能をオンにすればUnityでもUE4並みの画面になるし、 逆に機能をオフにすればUE4もUnity並みのパフォーマンスが出せる 2Dゲーム作るとき、unityとGameMekerStudio2ならどっちがいいですか? もう宴やPlayMakerとかのアセットに慣れてきたから今更UEにと言われても面倒くさい。 やっぱりアセットは正義なんやなって ttp://fast-uploader.com/file/7076392160580/ 昨日までは問題無くビルド出来てたスクリプトで、 Animation.CrossFadeがエラーを吐いて困ってます。 この周りは特にいじっていなかったつもりなのですが、 どなたかお知恵を拝借出来ませんでしょうか。 よろしくお願いします。 >>425 AnimationじゃなくてAnimatorじゃね? >>425 自己解決しました、スレ汚し申し訳ありませんでした。 ファ、ファイル名…初歩的過ぎて恥ずかしい…吊ってきます。 公式チュートの https://unity3d.com/jp/learn/tutorials/projects/2d-shooting-game/shooting-shots-from-the-player?playlist=46524 で、 using UnityEngine; public class Bullet : MonoBehaviour { public int speed = 10; void Start () { GetComponent<Rigidbody2D>().velocity = transform.up.normalized * speed; } } とありますが、transform.upはそのオブジェクトのY方向がノーマライズして出てくるのでこれを再度.normalizedしてるのはなぜか悩んでます。 forwardと同じ機能なんだろうけど、ああいうの全部ノーマライズされてるんじゃなかろうかと・・・ 紙芝居+クリックアドベンチャーのようなゲームを制作予定で 大量の画像を効率よく管理・差し替えする手法を検討・探しています。 以前作ったとき地道にフォルダ+ファイル命名で管理していたのですが 画像ファイルが増えてきたとき深いフォルダ階層をたどったり差し替えが多くなったとき面倒で なにか大量のファイルを管理・差し替えしやすい手法・外部ツール・アセット等無いでしょうか。 ひょっとして機体が42度とか2度とか121度とか回転するとそうとも言えないのだろうか 考えたらこれでした。 紙芝居作るなら宴しかないわな あれあるのに一から実装とか頭おかしいで 仕様が豪華になりすぎて必要ない機能が多いから自分は一から自作してる最中だわ。 あと2D前提に偏ってるから3Dキャラ使いたい自分にはとょっと違う感じだったな。 2Dげーでも3Dオブジェクト使えるよ いわゆる2.5次ってやつ 429です。 作りたいイメージはReignsのようなパラパラと絵をめくるイメージで 構造は大分シンプルなので宴は無しでもいけるかな・・と思っちゃって。 宴でも作れそうなのですが、ほとんどの機能は使わなそうです。 ただエクセルでシナリオ書けるのは凄い良さそう。 これだけのために宴ベースで作るのも有りでしょうか・・・。 ちょっと作り始めてるけど色々検討中です。 >>435 エクセルから値持ってこれる無料のアセットあるよ Unity エクセルで検索したら出てくるから試したら? Reignsのような紙芝居程度ならNGUIでも出来そうだね。 NGUIならアトラス(画像のパック)からスプライト名を指定すれば 画像を簡単に差し替えることが出来る。 ページめくりとかの演出もNGUI付属のTweenでちょちょいと実装できるし便利よ。 2Dシューティングのチュートリアルの弾発射のやつ https://unity3d.com/jp/learn/tutorials/projects/2d-shooting-game/shooting-shots-from-the-player?playlist=46524 でStart()メソッドをコルチーンにして弾生成してるのが気に入らないので。 プレーヤーがスポーンしてゲームはじまったらオートで弾を連射しまくるので。 Spaceキー押したら弾発射に改造しようとしているのですが。 Project Settingでは https://i.imgur.com/nCOAlmD.png として、Player.csで private IEnumerator Buletto() //コルチーン化したStartメソッド { Instantiate(Bullet, transform.position, transform.rotation); //変数BulletをPlayerの位置と回転のトランスフォームに合わせてインスタンス化 yield return new WaitForSeconds(0.05f); //インターバル0.05秒待つ } void Update () { if (Input.GetKey("Fire1")) { StartCoroutine("Buletto"); } else { StopCoroutine("Buletto"); } } としましたが、間違ってるようで機能しません。 間違ってるとこわかるならご指摘お願いします。 エラーログにFire1 is Unknownってでる なぜだ KeyCode.Spaceに変えたら出来ました。 自己解決すまそ update()にinput .GetKey入れてるせいかコルチーンでwaitforsecound調整してるのにビームみたいな連射してしまう。 ここらへんわからんわ。 unityをさくさく動かして録画して動画編集するための最低限必要なスペックてどんなもんでしょう >update()にinput .GetKey入れてるせいかコルチーンでwaitforsecound調整してるのにビームみたいな連射してしまう。 WaitForSecondはwhile(true){}ループ内にあるからインターバルになってるのであって whileを外したら無意味になるぞ。 やるならコルーチンが終了してるかどうかをinput時に戻り値で判定すべし。 自分だったらOnEnableで弾発射コルーチンをキックして発射管理はそっちに任せる、Updateはコルーチンで使うフラグを切り替えるだけにするかな。 あと弾のインスタンスは初期化時に指定数用意しておいて使い回す。 >>443 While(true)は無限ループ これだと一度このコルチーンに入ると永久に連射してるっぽかったです。 チュートリアルがおかしいのかも。 Breakの無いループは普通は使わない。 if でinput.getkeyのやつもコルチーンにして、そこからまたコルチーン入れてみたらけっこういい挙動でした。 回答ありがとう。 >>444 OnEnableいいですね。 ちょっと試してみます。 UpdateにStartCorutine書くと次のフレームもコルチーン入ってるような気がしてスッキリ来なかったのです。 まあ、同じコルチーンのStart命令はシステム的にキックしてないかなと思ってるのですが。 質問、今2dのマルチプレイゲームを作っているんだけどキャラクターアニメーションの同期がわかんねえ void FixedUpdate () { if (!gameClear) { if (!isLocalPlayer) { return; } float x = Input.GetAxisRaw ("Horizontal"); if (x != 0) { rigidbody2D.velocity = new Vector2 (x * speed, rigidbody2D.velocity.y); Vector2 temp = transform.localScale; temp.x = x; transform.localScale = temp; anim.SetBool ("Dash", true); if (transform.position.x > mainCamera.transform.position.x - 4) { Vector3 cameraPos = mainCamera.transform.position; cameraPos.x = transform.position.x + 4; mainCamera.transform.position = cameraPos; } Vector2 min = Camera.main.ViewportToWorldPoint (new Vector2 (0, 0)); Vector2 max = Camera.main.ViewportToWorldPoint (new Vector2 (1, 1)); Vector2 pos = transform.position; pos.x = Mathf.Clamp (pos.x, min.x + 0.5f, max.x); transform.position = pos; } else { rigidbody2D.velocity = new Vector2 (0, rigidbody2D.velocity.y); anim.SetBool ("Dash", false); } isLocalPlayerでDashのアニメーションを止めているんだけどその時に一緒に書いてある画像反転も止めてしまうからそれをどうにかしたい、わかる人お願いします >>448 ちょっと何言ってるかよくわからないんだけど、画像の反転ってスケールでやってるの? スプライトのフリップ機能で反映してるなら、キャラの向きも通信に乗っけて各々のクライアントで反映させればいいだけじゃない? for (int i = 0; i <MaxCount; i++){ instantiate(Bullet, transform.position, transform.rotation) yield return new WairForSecond (0.5f) } でWhile(true)付けろ言ってたのって、このforも含めて、全体で付けろって意味だったのね。 チュートリアル進んで知りました。 >>448 そのソースだけだとリモートキャラのアニメが動かないように思えるけど、 とりあえず自分ならこんな感じで書いてしまうな float prevX; void Update(){ if(!isLocalPlayer){ if(prevX - transform.position.x != 0){ anim.SetBool ("Dash", true); }else{ anim.SetBool ("Dash", false); } prevX = transform.position.x; } } >>449 スケールでやってるよ スプライトのフリップ機能ってtransform.localScale.x を -1 にするやつのこと? それだったらやってあるけど >>451 これでやれば一応動くけど画像の反転だけが反映されない 書いてもらったコード打たせてもらったらDashのアニメーションと画像の反転が反映されなかった >>452 スケールの同期が出来てないだけじゃない? ポジションと同じように同期させたらいいんじゃない? もしくは既に回転が同期できてるならY軸回転で反転するのもありだよ >>452-453 もうここまで来たら>>451 をこうするだけじゃん? if(!isLocalPlayer){ float tmp = prevX - transform.position.x; prevX = transform.position.x; if(tmp != 0){ anim.SetBool ("Dash", true); transform.localScale = new Vector2((tmp > 0? 1: -1), 1); }else{ anim.SetBool ("Dash", false); } } >>454 >>455 俺が理解できてないせいでやっぱりできないわ >>456 NetworkTransform使ってるんだよね? 使ったことないからわからんけど、これって位置と回転は同期してくれそうだけど、スケールの同期はしないんじゃないの? とりあえず、syncRotationAxisをYにして、向きをY軸回転(0°と180°かな)でやってみなよ ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる