【ゲームエンジン】Unityなんでも質問スレpart10
レス数が1000を超えています。これ以上書き込みはできません。
今日も元気だ暴飲暴食!スパゲティのパンチョ秋葉原2号店で豪遊してきた!
ツナマヨトマト!ビール350㍑!これでたったの325円!m9(´・ω・`)ドーン!
ttps://i.imgur.com/8XnoaHn.jpeg やってるのは弾ではなくもっと粘度の高いものなんだろうとすぐ分かってしまうな 彡 ⌒ ミ
( ´・ω・`) ちんぽからビーム!
/⌒ヽ_.ィ、
( r. )
ヽノノー二二つ <ドーン!
|__/_/
└一'一 ドーンおじは、黒い砂漠スレに居るチンオジと同じやな 他のオブジェクトのスプリクトの変数を参照したり、関数の実行しようとして色々と調べたら
UnityChanScript script;
この命令がどういうものか解らずにいます。
調べた先のコメントでは scriptが入る変数となっていますが。
”UnityChanScript”これが”GameObject”と同じ意味を持っているという事で良いのでしょうか?
この調べた先では”ユニティちゃん”というキャラクター名をDebug.Logのメッセージとして出力していて
スプリクト名にもオブジェクト名にも”UnityChan”と付けているために何処がどこを指しているのか解らないでいます。 UnityChanScriptが型名でscriptが変数名
つまり変数を宣言しているだけ
意味的には
int a;
と書いてるのと同じ
UnityChanScriptはその人が作った型(クラス)だろうからそれがどういう機能を持っているのかはその人しか知らないが、おそらくあなたの言うようにGameObject(を継承したクラス)だと思う
とはいえpublicで宣言してないところをみるとあまり初心者向けの説明じゃないから別のサイト見た方がいいかもしれない ゲームスタート時の各種変数の初期化などは、どのオブジェクトのスクリプトに書いてもいいんですか?分散して書いても一斉に処理されるの? >>981
なるほど、解りました。
自分でも探しますが、もし他のオブジェクト内のスプリクトの関数を実行するのに、参考になるサイトなどありましたら、教えてもらえると幸いです。 >>982
スクリプトの
変数初期化はそのスクリプト内でやるのがいいよ
他のスクリプトのまで初期化とか意味分からん
Awake関数でやればいいし
クラス初期化なら初期化関数使ってもいい >>984
用語はわからないけど、グローバルなスクリプトとローカルスクリプトみたいな区分けはないのかなとおもって。
スクリプトはすべて、ゲームオブジェクトにアタッチされるものなのんですか?
起動や終了時に一回だけ実行される処理とかは? >>985
アタッチしないスクリプトもあるよ
例えば、intとかstringとかこいつらってどこかに定義してあるけど、それアタッチしないでしょ(using)
同じようにクラス定義してアタッチしないで使う方法はある、その際にはクラス初期化を使う
でも分かりやすくするには1つobject付けてそこにまとめときゃ分かり易いドンとデストロイしときゃゲーム中ずっとあるし
初期化関数は同じ名前かInitial関数かな
objectならAwakeとスタート
終了ならDispose、objectならデストロイあたりじゃね?
C# 初期化とか終了時とかで沢山出てくるから、試してね >>986
とてもよくわかりましたありがとうございます 購入して使ってるアセットが更新されなくてコードが古いままなので
黄色エラーがたくさん出てるんですが
'RenderSettings.customReflection' is obsolete:
'RenderSettings.customReflection has been deprecated
in favor of RenderSettings.customReflectionTexture.'
みたいなのは代わりになるものが示されてなくて
どうすればいいのかわからないのですが、
スクリプト上で緑の波線になってる行を丸ごと削除しちゃっていいのでしょうか。 こんばんは例のヤツです。暑いなかお世話になります。
おととい >>969 で言っていた弾丸の発射の件なんですけど、現状を動画でみてください
https://i.imgur.com/XcXdeBs.mp4
つまりこのはねっ返りをやめて板にぺとりと止まる、もしくはじわじわと重力で下に移動、ということをやりたいのです
PhysicMaterialとやらはなぜか効果がみられないです
以上よろしくお願いいたします このプログラムいじればいいでない?
ttps://qiita.com/yuyu0127/items/6976c2be84875610b310 >>990
スゴイ
シェーダだけでこういうメタボールをやってるんですね
高度すぎてついていけないっす・・・ たとえば
Destroy (.gameObject);
って記述した時の gameObject って、あくまでこのスクリプトを貼ってあるgameObjectですよね?
ぶつかった相手とかの、別のgameObjectを名指しするにはどうしたらよいのでしょうけ? あのねも少し具体的に書こうよ
Oncollisionenterとかならぶつかった相手の情報取れるでしょ おはようございます例のヤツです今日も暑い中ごくろうさまです
ユーチューブの講座をみて勉強しております
砲台から発射した弾が、コリジョンで消えるというサンプルをみかけたので、早速ためしています
ところが、弾丸がシンプルなsphereやカプセルならちゃんと動くのですが >>989 のようなボーンがあるプレハブだとデストロイが起きないです
リジッドボディがボーンごとに複数あるのが原因でしょうか? 緑の壁で跳ね返ってるから、コリジョンはおきていますよね
弾丸にはりつけたスクリプトは下記です
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Bullet: MonoBehaviour
{
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{
}
private void OnCollisionEnter(Collision collision)
{
Destroy(gameObject);
}
} >private void OnCollisionEnter(Collision collision)
この意味わかる?かっこの中の
Collision collision ←これわかるよね?
んじゃこれでね
collision.gameObject って何かわかるよね?
次スレは必要だと思う奴が立てればいいんだよ >>997 こんにちはレスありがとうございます
おっしゃる意味はさっぱりわかりません
とりあえず現状こんな感じですはねっ返りは少し緩和された気がしています
https://i.imgur.com/iqQffth.mp4 >private void OnCollisionEnter(Collision collision)
これは、プライベートな戻り値の無い関数を定義している。
パラメータはCollision タイプの変数collision。
このCollision タイプと言う物をマニュアル見ると
ttps://docs.unity3d.com/ja/2021.3/ScriptReference/Collision.html
に掛かれている通り、衝突したオブジェクトの情報を扱います。
で、ここの変数一覧を見ると、そこにはgameObjectがある。
それクリックすればgameObjectが何かわかるよね
てことで、このCollision のgameObjectにアクセスすれば、ブツかってきた
物体に対して色々と操作できるということ。
それと、
次スレは必要だと思う奴が立てればいいんだよ
こっちは理解したかな?分からない場合には、誰かが立てるまでもう
質問は出来ないという事ね このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 117日 17時間 44分 9秒 レス数が1000を超えています。これ以上書き込みはできません。