質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.61%

particleが表示されない(・3Dゲームにスプライトをアセットするとシーンに配置できない)

解決済

回答 1

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 7,215

Koopa

score 24

作りたい2Dゲームがあり、ただ作っただけだと味気ないと思ったので、演出を入れたいと思ったわけですが、
particleを使ったところシーン上には存在するものの表示されない謎現象が起きました。
そこで、考え方を変えて3Dゲームに2Dオブジェクトを配置する方法を試みましたが
そもそもスプライトが配置できませんでした。想定はしてましたけど…。

何かいい方法はありませんでしょうか?

2018/11/1 23:18 追記
あれからいろいろいじっているうちに、
原因はsakura_hanaさんの言う通り
「配置されているが見えていない」
ことがわかりました。
しかし解決したわけではありません。
実はUIに子オブジェクトとしてParticle Systemをつけていたのですが、
UIはCanvasの影響を受けますが、
Particle Systemはこれを受けないためゲームシーンに映らなかった
…という超当たり前の理由でした~‼超にわかでしたすみませんでした~!が
質問は続けさせていただきます。

問題はその解決方法なんですね

原因が分かった後、試しにCanvasのスケールいじって
ゲームの画面に合わせることをしました。
なんと変化しない!!つまり、いじれなかったんです(いじってもリターンキー押すと既定値に戻る)
するとやはりスクリプトでポジション指定するしかないのか?!
つまり子オブジェクトとすることはやはり諦めなければならないのか!!

どうですか?


あと、3Dゲームに2Dオブジェクト配置はどうしてもできません。
こちらもいろいろ試していて、まあ最初は普通にimport new Assetでダウンロード。
もちろんそれで失敗して困ってるんですがね

次はPCのファイルいじるところでコピペした。
結果同じ
ここまでだめなので、だめもとででしたが
Resources.Loadでダウンロードして
SpriteRendererコンポーネントつけただけのゲームオブジェクトに
Sprite変更させるように書きましたがエラーも出ずに変化一つ見せなかった
…エラーは出てもいいんじゃないですかね~??なにが悪かったのか分からない。

すると今度は一度2Dゲームを作成して、スプライト付きのゲームオブジェクトを作成し
そしてシーンを保存してから
そのシーンをPCのファイルいじるところで3Dゲームにコピペです。

その後3Dゲームを開くとSpriteRenderer.spriteはMissing!と表示されていて
ヒエラルキーにコピーできません

(2018/12月 追記)
[
2Dゲームからスプライトをアセット

そのスプライトをエクスプローラーなどでMETAファイルと一緒にコピー

3Dゲームにペースト
で出来ました。なにも、シーンごとコピペするのはばかでした。
]

自分にはこれが限界です

ちなみにjpg,png,gifを試して共にこうなりました

unityのバージョンは
2018.2.1.f1でした

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • 退会済みユーザー

    2018/10/20 11:23

    複数のユーザーから「やってほしいことだけを記載した丸投げの質問」という意見がありました
    「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。

  • sakura_hana

    2018/10/20 11:27

    「配置の仕方を間違えている」か「配置されているが見えていない」のどちらかだと思います(3Dゲームにスプライトも配置可能です)。https://teratail.com/help/question-tips こちらを参考に、試したことやヒエラルキー構造、カメラ位置を記載してください。

    キャンセル

回答 1

checkベストアンサー

+2

uGUIの子にパーティクルを配置しても位置は正しく設置されます。
その上で、以下の点に注意すると表示されると思います。


実はUnityで3Dゲームと2Dゲームの違いってプロジェクト視点で言えば無いです。
新規プロジェクト作る時に選択項目がありますが、あれは初期設定(ライティングとかカメラとか)が切り替わるだけで、後から自由に変更可能です。
原理としては「3D空間上に2D用コンポーネント(SprieRendererとかRigidbody2Dとか)を置いて作る」ので3Dの場合と大差ありません。
(ちなみにSceneビュー左上の「2D」ってボタンをオフにすると、uGUI等も3D視点で見られます。上記のパーティクル設定時に試すとやりやすいかも)

それはそれとして、Unityの外(例えばエクスプローラー)でファイルをコピペしたり削除するのは基本的にはご法度です。(理解した上でやるならOK)
Unityは内部でアセットとアセットの繋がりを記憶していますが、下手にコピペしただけだとこいつは移行されません。「このSpriteRendererにはこのSpriteが入っているよ」というデータが欠落するのでMissing!になります。

なので今回の場合、
プロジェクト開く→Projectパネルに使いたい画像をインポート→シーン上にSpriteRenederer付きのオブジェクト作成→SpriteRenedererのSpriteにインポートした画像をセット→オブジェクトの位置調整
だけで表示可能なはずです。

ちなみに「Resources.LoadでダウンロードしてSprite変更させるように書いたが変化が無かった(エラーも無い)」というのは、そのスクリプトをどこにも付与していないか、その部分が呼び出されていない可能性が濃厚です。
こいつはスクリプト見れば分かるかもしれないので、気になるならソースコードを記入した上で別の質問として投稿してください(今回の本題から逸れるので)。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.61%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る