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

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

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

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

Q&A

1回答

1800閲覧

UnityでOnParticleCollisionメソッドを呼び出せない

naki888

総合スコア12

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity

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

0グッド

0クリップ

投稿2020/08/02 02:31

UnityでOnParticleCollisionメソッドを確認するために、ParticleとCubeを作成し、Cubeに下記のスクリプトを貼り付けたところ大量のエラーが発生します。

C#

1 2using System.Collections; 3using System.Collections.Generic; 4using UnityEngine; 5 6 7public class Part : MonoBehaviour 8{ 9 10 private void OnParticleCollision(GameObject other) 11 { 12 Debug.Log("hit!"); 13 } 14}

まずCubeオブジェクトにスクリプトがアタッチできず、
「can't add script」の表示が出てエラーを確認するとUnityに最初から入っているスクリプトに反応しているようなので、該当箇所を消してあげるのですが、次から次へとエラー箇所が出てきて対処が難しく感じています。

このような場合、どのような対応をすればよろしいのでしょうか、ご指導いただければ幸いです。

Assets/SampleScenes/Scripts/ParticleSceneControls.cs(132,57): error CS0246: The type or namespace name 'ParticleSystemMultiplier' could not be found (are you missing a using directive or an assembly reference?)

Assets/SampleScenes/Scripts/ParticleSceneControls.cs(205,70): error CS0246: The type or namespace name 'ParticleSystemMultiplier' could not be found (are you missing a using directive or an assembly reference?)

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

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

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

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

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

guest

回答1

0

「can't add script」の表示が出て

このメッセージはそれ以降に書かれている内容が重要なので、ここだけしか読んでいないならば最後まで読めばどうしたらいいかわかるかもしれませんね。

Assets/SampleScenes/Scripts/ParticleSceneControls.cs(132,57): error CS0246: The type or namespace name 'ParticleSystemMultiplier' could not be found (are you missing a using directive or an assembly reference?)

using ディレクティブがないのではないかと言っていますが、それは正しくて ParticleSystemMultiplier クラスを使うには以下の using ディレクティブを追加する必要があります。

using UnityStandardAssets.Effects;

参照したページにその事が書いてあると思います。また、Visual Studio を使っているなら、こういう風になおすといいんじゃない?とサジェストしてくれるはずです。

投稿2020/08/02 07:04

bboydaisuke

総合スコア5275

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

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

naki888

2020/08/02 07:12

Visual Studioにてスクリプト上部にusing ParticleSystemMultiplier;を追加しましたが、エラーになってしまい、133行目の電球マークをクリックして表示されるものをクリックしたところ前のエラーは無くなったのですが、今度は Assets/SampleScenes/Scripts/ParticleSceneControls.cs(6,27): error CS0234: The type or namespace name 'Effects' does not exist in the namespace 'UnityStandardAssets' (are you missing an assembly reference?) がusing UnityStandardAssets.Effects;が名前空間にセットされているにもかかわらず、エラーとしてでてきてしまっています。 こちらは他のeffectsの名前空間を追加しなければいけないということなのでしょうか。 ご指導いただければ幸いです。
bboydaisuke

2020/08/02 07:24

UnityStandardAssets の中に Effects がない、と言ってます。必要なアセットはインポートしてますか?
bboydaisuke

2020/08/02 07:30 編集

ParticleSystemMultiplier コンポーネントを使おうとしていることが問題の始まりだと思うのですが、質問のところに載っている情報には ParticleSystemMultiplier はまったく出てきません。ParticleSystemMultiplier を使おうとしていますか?だとしたら Standard Assets のインポートが必要ですが、それはしてますか?どこかのブログか何かを参照して作業しているなら、それの URL など示してください。
bboydaisuke

2020/08/02 08:06

> インポートはできているようです。 だとしたら、Unity はそれが存在しないと言っています。 OnParticleCollision にフォーカスしたいなら、ParticleSystemMultiplier コンポーネントのことはいったん脇に置いておいて、それを呼び出しているところは削除するなりコメントアウトした方がよいでしょう。質問に書いてある限りでは、ParticleSceneControls.cs というのが ParticleSystemMultiplier を呼びだそうとしています。
naki888

2020/08/03 02:04

承知いたしました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問