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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

6933閲覧

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

Koopa

総合スコア28

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

1クリップ

投稿2018/10/19 13:47

編集2018/12/20 14:53

作りたい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でした

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakura_hana

2018/10/20 02:27

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

回答1

0

ベストアンサー

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

投稿2018/11/02 01:31

sakura_hana

総合スコア11425

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問