[過去ログ]
【ゲームエンジン】Unity初心者質問スレBuild4 (1002レス)
【ゲームエンジン】Unity初心者質問スレBuild4 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
67: 名前は開発中のものです。 [sage] 2020/04/10(金) 13:32:14 ID:01H+T9O6 設置したオブジェクトが数秒後に爆発し、ダメージを与える機能を作っています 設置できるオブジェクトはそれぞれ形が異なり、その形に応じて爆発の形と範囲を動的に変更したいのですがやり方がわかりません 例えば、球状や正方形なら爆発は球状に、長方形ならカプセル状に爆発と範囲を広げたいです 何か良い方法はありませんでしょうか http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/67
82: 名前は開発中のものです。 [] 2020/04/10(金) 19:47:32 ID:01H+T9O6 >>73 >>67 >設置できるオブジェクトはそれぞれ形が異なり、その形に応じて爆発の形と範囲を動的に変更したい >例えば、球状や正方形なら爆発は球状に、長方形ならカプセル状に爆発と範囲を広げたいです これ以上詳しくとなるとどういう情報が必要なんでしょうか? ・爆発の形状をスクリプトで動的に変えたい 要点はこれだけなのですが 検索してもノーコーディングでレンダラーをいじる記事しかヒットしません http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/82
178: 名前は開発中のものです。 [sage] 2020/04/19(日) 04:12:48 ID:1PPWw4FK キーを押したら平行ライトの角度が変えられるスクリプトで質問したいです。 元のライトの角度が(50,-30,0)とかになっていてたとします。 リセットキーをつけようとQuaternion.identityをつかうと0,0,0 になってしまいます。 もとの(50,-30,0)にもどす(リセット)するにはどうしたらいいでしょうか? よろしくお願いいたします。 ------------------------------- if (Input.GetKey(KeyCode.U)) { transform.Rotate(50 * Time.deltaTime, 0, 0); } if (Input.GetKey(KeyCode.I)) { transform.Rotate(-50 * Time.deltaTime, 0, 0); } if (Input.GetKey(KeyCode.O)) { transform.Rotate(0, -50 * Time.deltaTime,0); } if (Input.GetKey(KeyCode.P)) { transform.Rotate(0, 50 * Time.deltaTime,0 ); } if (Input.GetKey(KeyCode.L)) { transform.rotation = Quaternion.identity; } http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/178
206: 名前は開発中のものです。 [] 2020/04/20(月) 21:03:41 ID:zd2flDEV GameObject Player; SpriteRenderer Renderer; public float x; public bool left; void Start() { left = Renderer.flipX; Player = GameObject.Find("Player"); Renderer = Player.GetComponent<SpriteRenderer>(); if (left == true) { x = -0.5f; } else { x = 0.5f; } void Update() { transform.Translate(x, 0, 0); } とにかく手探りで書いてみました。 実行したところ、やはり弾が生成された地点で止まってしまいます。 どこを直せばいいのでしょうか… http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/206
230: 名前は開発中のものです。 [sage] 2020/04/22(水) 11:29:44 ID:VQM8R+FC プレハブについての質問です。 すでに存在するオブジェクトに子としてプレハブを複製しようとしたときの座標がうまく設定できません。 スクリプトではこんな感じ記載しています ------------ ParentObject = GameObject.Find("ParentCanvas"); //すでに用意しているキャンパス var parent = ParentObject.transform; // プレハブをGameObject型で取得 GameObject obj = (GameObject)Resources.Load("Prefab"); // プレハブを元に、インスタンスを生成、 Instantiate(obj, new Vector3(1.0f, 1.0f, 0.0f);, Quaternion.identity, parent); //ローカルポジションの設定 obj.transform.localPosition = new Vector3(100.0f, 100.0f, 0.0f); ---------- 結果として子としてプレハブは複製できていますが、座標がローカルではなくワールド座標のほぼ原点に生成されてしまいます。 親のローカル座標に設定するにはどうしたらよいでしょうか? InstantiateのVectorをローカル座標として設定したい状態です。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/230
267: 名前は開発中のものです。 [sage] 2020/04/25(土) 13:09:23 ID:c8LTCDvQ https://youtu.be/clB_Q-4N2mM アニメーションクリップに効果音を付けて4種類のSEの中からランダムで音が出るようにしているのですが、 二回続けて同じ音が出ないようにする方法はないでしょうか。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ken_furu : MonoBehaviour { public AudioClip[] _SE; //SEが4個入っています。 private AudioSource audioSourse; Animator animator; void Start() { animator = GetComponent<Animator>(); audioSourse = GetComponent<AudioSource>(); } public void SE() { int a = Random.Range(0, 4); audioSourse.PlayOneShot(_SE[a]); } } このスクリプトを音を鳴らすアニメクリップが付いたオブジェクトにアタッチしています。 二回続けて同じ音が出ないようにする方法があったら教えてください。 https://thuploader.orz.hm/miniup/?mode=dl&id=7354 プロジェクトファイル http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/267
279: 名前は開発中のものです。 [] 2020/04/25(土) 17:57:08 ID:P2OYyiKX Unityで2Dゲームを作ろうとしていますが、小さい表示枠と大きい表示枠について教えて下さい。 画像をSceneに配置すると小さい枠の中に置いたものが実行時に表示され、座標はたとえば-2〜+2です。 ヒエラルキーからUIのButtonを配置すると大きい枠の中に置かれ、座標は0-1000などの設定した画面サイズの値になります。 2つの座標系があるようなのですが、Sceneで見ると重なっていないのに実行すると上記の2つ枠は重なって表示されるようです。 なんでこんなことになってるんでしょうか? 両者を混在して使ってると実行環境によってずれが生じそうですが大丈夫なんでしょうか? また「Unityの教科書 Unity 2019完全対応版」を読みましたが、次に読むと良さそうな本があったら教えて下さい。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/279
301: 名前は開発中のものです。 [sage] 2020/04/29(水) 07:31:32 ID:C9mEi4oT >>298 自分も初心者だけど(しかも始めたばかり) 教本のサンプルスクリプトを改変しながら一本作ったところ 2Dの画像はUIから作る他にヒエラルキーに直接ドラッグ&ドロップする方法があってこの方法で作ったゲームオブジェクトはUIから作ったimageとは仕様が違うということがわかった 全く同じスクリプトを関連づけても動作しなかったり 等倍のはずなのに画像の表示サイズが微妙に大きかったり UIキャンバスに入れると表示されなくなったり 別の教本では2Dオブジェクト→spriteで同じような用途の画像オブジェクトを作ってたからヒエラルキーにドラックドロップするとspriteになるのかも Collider2Dで他のオブジェクトとの衝突判定を付けたい2D画像はそうやって配置するというところまでは理解できたけどそれ以上はさっぱりわからない どれが正しいかじゃなくて用途によって使い分けるみたいだけどね http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/301
329: 名前は開発中のものです。 [sage] 2020/04/30(木) 11:41:17 ID:V6Pk2JwW http://s.kota2.net/1588213392.png ボタンを押すと5の星だけが表示されるスクリプトなのですが、 親になっている星のオブジェクトをpublicで参照するやり方ではなくて Findでヒエラルキーから探してくるやり方に変更したら動かなくなりました。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Button5star : MonoBehaviour//ボタンにアタッチ { //public Transform STARParent; //publicで参照するのをやめる Transform STARParent = GameObject.Find("starParent").GetComponent<Transform>();//Findで探したい public void button5star() { for (int i = 0; i < STARParent.childCount; ++i) // for文 { STARParent.GetChild(i).gameObject.SetActive(false);//STARParentの子を一旦全部消す STARParent.transform.Find("star (5)").gameObject.SetActive(true); } } } ----------------------------- starParentは空のオブジェクトで子のstarは画像のspriteです。 Findで探している部分が間違っているのでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/329
344: 名前は開発中のものです。 [sage] 2020/05/01(金) 20:23:56 ID:HXkpQ0jK おすすめのアセット教えてください(´・ω・`) http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/344
381: 名前は開発中のものです。 [sage] 2020/05/08(金) 10:10:31 ID:UflBmPCI >>349 質問させて下さい。 ターン制バトルのRPGなどで敵ABCが居たとして、 それぞれの攻撃の処理にモーションを含めて1秒ずつかかるとします。 Aの攻撃が終わったらBの攻撃〜とする時にコルーチンなどで1秒毎に行動させる方法が思い浮かびます。 しかし、ゲームを作っているうちにAのモーションは2秒かかるという状況もでてくると思います。 その場合はAの行動が終わった事をフラグにして、アップデート関数でif(A行動済み==true)という風に作るのでしょうか? それとも、Aの行動が終わった時に呼び出す〜みたいな関数があるのでしょうか? アップデートを極力使わずにプログラミングしているのですが、アクションゲームなどは常にアップデート多様していると思うのであまり気にしないで使っていいのでしょうか? ご指導頂ければと思います。 よろしくお願い致します。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/381
421: くまじょ [sage] 2020/05/12(火) 14:45:33 ID:BsMD4e4s unityで2dで開発してます マウスボタンが押されたかの方法をネットで調べて Update()でif (Input.GetMouseButton(0)) によりマウスボタンが押されたか判定が実現できました マウスボタンを押していないときも含めてマウスの座標も得られました しかし ドロップダウンのリストが現れているときも Update()でボタンダウンとかできてしまうので困っています どうすれば ドロップダウンのリストが現れているとき Update()でのマウス位置やボタンダウンに関する処理を させないようにできるのでしょうか? 自分なりに調べたり試したところUpdate()では何もしないのがいいのかな ドロップダウンのリストが現れているときというのがわからないから ドロップダウンのリストの生成やアクティブやZオーダーもこちらで制御できないし キャンバス2つ用意してEventSystemでなんとかするのかな http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/421
508: 名前は開発中のものです。 [sage] 2020/05/21(木) 19:31:26 ID:5tpteR2O >>506 逆に考えるんだ。 aをデュプリケイトして、オブジェクトをbに差し替える。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/508
538: 名前は開発中のものです。 [] 2020/05/24(日) 18:21:51 ID:N01GJ1S3 はじめまして。 質問させて戴きます。 TPSのゲームの簡単なスクリプトを組みまして、少し前に銃を撃つスクリプトを作成しました。 簡単に言うと、弾丸として作成したプレハブを、クリックするたびに銃口(と定義した、銃の先端くらいに配置した空オブジェクト)から銃の向きに真っ直ぐ打ち出す....と言う簡単なものです。 作った時は何も問題なく使えてたのですが、そのあとそのスクリプトはほとんど触っていないのに、銃口より遙かに下から射出されるようになっていました。 それも毎回ではなく3回に一回はちゃんと銃口からでてくるのです。 PCが7年前のものなのでスペックのせいで処理がちゃんとできていないのかな?とも思いましたが、60fpsは出てるような状態でも同じことで、かと言ってスクリプトも単純なものでおかしい点もないように見えます。 上記で頭を抱えているのですが、何かアドバイスをいただけないでしょうか。 よろしくお願いします。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/538
631: 名前は開発中のものです。 [sage] 2020/06/05(金) 08:04:19 ID:udCxxSt+ >>630 0時くらいからずっとハマってたのですが、1フレーム後から(?)しか受け付けない初期化問題だったようです。 AwakeとStartに分けてもエラーだったのでずっと気付かなかったのですが、StartとUpdateに分けたら動作しました。 別の質問になってしまうのですが、こういう場合Updateで一回しか通さない様にして使うしかないのでしょうか? ゲームスタート直後の遅延初期化で良い方法ってありますか? http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/631
635: 名前は開発中のものです。 [] 2020/06/05(金) 15:15:21 ID:6nBhQE/c ゲームオブジェクトが参照している3Dモデルを変更(更新)する方法をご存じないですか? Blenderで自作した3Dモデルを使っていたのですが、アニメーションを追加したいので新しい.fbxに置き換えたいです。 よろしくお願いします。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/635
797: 787 [sage] 2020/06/23(火) 02:44:49 ID:+QcZMjB7 >>789 Destroy()で破壊する方法を使うことにしました。 Scene4 Scene5 Scene6 だけで音楽の付いたオブジェを鳴らしたいので SceneManager.GetActiveScene().name でシーン名を取得して ------------------------------------------------------------------ using UnityEngine; using UnityEngine.SceneManagement; public class musicplayer : MonoBehaviour { private void Awake() { if (SceneManager.GetActiveScene().name != ("Scene4" || "Scene5 " || "Scene6")) { Destroy(gameObject); } else { DontDestroyOnLoad(gameObject); } } } ---------------------------------------------------------- このようにコードを書いたら //CS0019 演算子 '||' を 'string' と 'string' 型のオペランドに適用することはできません というエラーが出たのですがこの場合どのように対処したらいいのでしょうか。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/797
923: 916 [sage] 2020/06/29(月) 23:34:11 ID:/o8YShXz >>918 おかげさまで何とか打開できました。 windowsのアプリケーションにするとウィンドウを縦方向に縮ませたときは 画面が一定の比を保って収縮しますが、 横方向に縮ませたときは収縮せずに見切れていく仕様みたいなので、 Canvas Scaler の Screen Match Mode を Match Width Or Height にして Match のバーを1(Height)にすることで解決できました。 横方向にウィンドウを縮ませたときは収縮せずに見切れていくのはUnityの仕様なのでしょうか? とにかくこの方法で解決できました。 http://mevius.5ch.net/test/read.cgi/gamedev/1585478112/923
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.069s