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

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

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

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

Q&A

解決済

2回答

9570閲覧

Unityのスタンダードアセットからほしい部分だけを取り出したいが、うまくいきません。

nekonote

総合スコア23

Unity

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

0グッド

1クリップ

投稿2019/07/29 10:38

編集2019/08/01 04:07

Unityでゲームを作っています。
前に別のプロジェクトで、スタンダードアセットをすべてインポートした時によいパーティクルイフェクトを見つけました。で、今回のプロジェクトでは、そのパーティクルイフェクトだけをインポートしようとしています。
とにかくこのスタンダードアセットは色々入ってサイズが大きいので、必要なそのパーティクルイフェクトの部分だけをインポートしようとしてます。ですが、それがどうにもうまくいきません。

インポートする時に、アセット一覧が出て、そこのチェックボックスをつけたり外したりで、どれをインポートするか選べると思うのですが、自分なりにこれが必要だろうというのだけチェックしてインポートしてみました。

しかし、インポートしたパーティクルイフェクトのプレハブをダブルクリックすると

以下のエラーが出ます。
You are trying to replace or create a Prefab from the instance 'Smoke' that references a missing script. This is not allowed.
Please change the script or remove it from the GameObject.
UnityEditor.EditorApplication:Internal_CallUpdateFunctions()

更に以下のダイアログメッセージが出ます
saving failed.check the console to get more insight into what needs to fixed.

多分、必要なスクリプトをインポートしてないから、こういうエラーが出てるのだと思うのですが、それが何なのかが分かりません。もしくは、スクリプト以外にも何か不足してるかもしれません。
必要なものだけインポートするうまい方法はないでしょうか
インポート時エラー文
エクスポートを使うことで、インポートすべきファイルを知ることができた
エクスポートを使うことで、インポートすべきファイルを知ることができた

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

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

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

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

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

guest

回答2

0

ベストアンサー

下手な問題を起こしたくなければ、そのまま使ったほうがいいでしょう。
サイズが大きいと言っても、使わなければ最終的なビルドには含まれないでしょうし。

もし必要なものだけ取り出したいというのであれば、

  1. 作業用に新しいプロジェクトを作り、そこにパッケージをフルインストールする。
  2. Projectビューから必要なものを選択して、メニューよりAssetsExport Package..を選び、パッケージを作成する。
    (この時に、選んだファイルとそれに必要なファイルも含めてパッケージングされます。)
  3. 作成したパッケージを、本番プロジェクトにインストールする。

という手順を踏めば、__ある程度は__問題なくインストールできるのではないでしょうか。

投稿2019/07/30 11:20

katsuko

総合スコア3462

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

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

nekonote

2019/08/01 04:08

回答ありがとうございます。 すべてインポートするのも手なのですが、何しろ、200mと膨大なサイズで、こまめにバッグアップする私にはちょっと避けたくて、さらには検索の時にも何かと余計なファイルが邪魔になりそうに思えたので。 さて、エクスポートすることで、関係あるファイルが全部出てくるのですね。 これは知りませんでした。便利です。 で、さっそく、指示の通りのやり方で、ほしいパーティクルイフェクトのプレハブをエクスポートしてみました。結果… ・そのイフェクトを実行する上で必要なファイル だけでなく ・そのイフェクトを使ってるファイル も出てくる感じっぽい? 後者の方は不要なのですが、それでもエクスポートされたファイルの合計は200kbにも満たないサイズで、驚くほどにコンパクト。全部入れたら200Mくらい行くのがこのサイズになるとは、ありがたいことこの上ないです。 ただ、このエクスポートされたファイルを、いざインポートしてみると、 インポート時に画像のようなエラーが出ます。 さらに、プロジェクトを再生すると、毎回以下のエラーが出ます。 [Auto Package] : Couldn't find the packages list. Be sure there is a file called PackageImportList in your project UnityEngine.Debug:LogError(Object) PackageChecker:CheckPackage() UnityEditor.EditorAssemblies:ProcessInitializeOnLoadAttributes() エラーが出ても、ゲームは動くし、希望のイフェクトは使えるには使えるのですが、エラーが出るまま使い続けるには不安を覚えます。これを何とかできればよいのですが。 ただ、「このファイルがあれば動くよ」というファイルを、エクスポートという手段を使えば知ることができることが分かっただけでも、大助かりです。
katsuko

2019/08/01 13:12

エラーに関しては、よくわかりません。 ちょっと気になったのは、「200MBをこまめにバックアップ」という点です。 gitやsubversionなどのバージョン管理は使用していないのでしょうか。(使用していたら、気にならないはず) もし使用していないのであれば、使用の検討をされたほうが良いと思います。
nekonote

2019/08/01 21:40

重ね重ね、貴重なアドバイスありがとうございます。 なるほど、gitを使うのか!! そんな考えはなかった… ソースコードを他人にチェックしてもらう為に、githubの導入自体はしているのですが、バージョン管理とかには一切使ってなかったです。 導入を考えてみます。
guest

0

※プレハブがどのような情報を持っていて、何が必要なのかが分からないと当然どれをインポートすればいいかというのは分からないかと思います…なのでとりあえず現状のエラーについて解決法になります。

質問者様の仰る通り、Smokeプレハブに必要な物が不足しているためかと思われます。

Smokeプレハブを確認した所、

ParticleSystemDestroyer.cs
ParticleSystemMultiplier.cs

の2つのスクリプトがアタッチされているようです。

上記の2つ以外にも不足している可能性があるので、パーティクルエフェクトの素材もろもろが入っているStandard Assets/ParticleSystemsを丸ごとインポートするのが、一番手っ取り早いかなと思います。

ParticleSystemDestroyer.csにつきましては、別のフォルダに入っていたので別途ファルダパスを記載しておきます。
Standard Assets/Utility/ParticleSystemDestroyer.cs

方法に関しましては、上記の方法でもいいですし、とりあえずスクリプト2つをインポートしてみるなりやり方は質問者様にお任せいたします。

最後に、解決しなかった場合は何をインポートしたか(どれにチェックをつけたか)等、もう少し詳細な情報を追記して頂ければ、他の回答者様に正確な回答を頂けるかもしれません。

投稿2019/07/30 02:01

編集2019/07/31 00:47
simapiko

総合スコア332

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

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

nekonote

2019/08/01 03:55

回答ありがとうございます。 回答にあった通りのファイルをすべてインポートしてやってみましたが、だめでした。質問文のところに書いたのと同じエラーが出て、やはり動きませんでした。 とりあえず、「取り出したいファイルをエクスポートすれば必要なファイルが分かるっぽい」ということを知ったので、それで分かったファイルをすべてインポートしてみたところ、その場合は動きました。 何が必要かというのは簡単には判断できないのですね。
simapiko

2019/08/01 08:05

駄目でしたか…。お力になれず申し訳ないです。 一番安全なのは、まるまるそのまま使うのがいいと思うのですが、こまめにバックアップを取るとなると確かに容量が少ないに越したことはないですよね。 とにもかくにも、katsuko様のとりあえずは動くようですので良かったです。
nekonote

2019/08/01 21:40

いえ、わざわざ、色々と丁寧にありがとうございました<(_ _)>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.51%

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

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

質問する

関連した質問