[過去ログ] 【ゲームエンジン】Unity初心者質問スレBuild1 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
131: 2018/06/29(金)04:44 ID:B66gImoO(1) AAS
自分より初心者の奴にマウントを取りたいが為に「弟子」が立てた初心者専用スレ。
残念ながらマウントをとられてしまったので、そいつらを追い出すために再び別の質問スレを立てる。
以後、糞コテ「弟子」の隔離スレとなった。
132: 2018/06/29(金)10:15 ID:KJpjNVGQ(1) AAS
質問に答えてくれるスレなら何でもいいんだが
133: 2018/07/03(火)09:46 ID:AtrhXQ0j(1) AAS
adsでインプレッションが150くらいで$15ってついてたけどそんなけ儲けが出たという事ですか?
134
(2): 2018/07/03(火)18:42 ID:DgOGkLki(1/3) AAS
Taitleオブジェクト(TXT表示だけ)が表示中は
敵オブジェクトが弾を発射しない様に改造しているのですが

Enemyにアセットしたcsの、弾を撃つ命令を
if文で、「Taitleオブジェクトが非表示なら弾を撃つ」とすればいいだけだと
思ったのですが、うまくいきません。

Enemy.csの弾の命令は
while (true)
省12
135: 2018/07/03(火)18:43 ID:DgOGkLki(2/3) AAS
で、>>134
while (true)
{
// 子要素を全て取得する
for (int i = 0; i < transform.childCount; i++)
{
Transform shotPosition = transform.GetChild(i);
省22
136
(1): 2018/07/03(火)18:43 ID:DgOGkLki(3/3) AAS
なにが間違っていますか?

教えてください。
137: 2018/07/03(火)19:01 ID:L0TgVbu0(1) AAS
>>136
死ねガイジ
138
(1): 2018/07/03(火)19:58 ID:bkI+tY6O(1) AAS
エラー出てるのどの行?
139
(2): 2018/07/03(火)20:02 ID:m6+Emxdh(1) AAS
titleはちゃんとfindできてるのか?
140: 2018/07/03(火)20:16 ID:BqokYmSM(1) AAS
gameobject.findって非アクティブも検索するんだったっけ?
141: 2018/07/03(火)21:28 ID:Oy6MCkRt(1) AAS
しない
142
(1): 弟子 ◆rZPPjYuxmQ 2018/07/03(火)22:33 ID:wgFi8W22(1) AAS
>>134
このコードって恐らく公式の
外部リンク:unity3d.com
のコードでしょうか?

だとすると
「弾を撃つ必要がない時はyield break;を使用してコルーチンを終了させます。」
という具合に書いてるので、これを利用するとですね
省5
143
(1): 2018/07/03(火)22:52 ID:L1TMFUeX(1) AAS
すみません
外部リンク:assetstore.unity.com
のアセット使ってトグルボタンぽちぽちしたいのですが、ボタンが動きません
どう使えばいいのでしょうか?
144
(1): 2018/07/04(水)00:28 ID:RvZnsCPI(1/6) AAS
>>139
" title = GameObject.Find("Title"); "
を記載しているので、できていると思っているのですが、
NULLが来てます的な警告の先がこの場所みたいなので
Findがうまくいっていないかもしれません。
しかし、
private GameObject title;
省10
145
(2): 2018/07/04(水)00:31 ID:RvZnsCPI(2/6) AAS
>>138
>>139
NullReferenceException: Object reference not set to an instance of an object
Enemy+<Start>c__Iterator0.MoveNext () (at Assets/Scripts/Enemy.cs:36)

この警告先は
" if (title.activeSelf == true){ ”
この部分みたいです。
146
(1): 2018/07/04(水)00:33 ID:RvZnsCPI(3/6) AAS
ちなみに、エネミーを倒したあとに、警告が出ます。
エネミーを倒すたびに警告が出る状態です。
147: 2018/07/04(水)01:55 ID:W/Y7Ww/v(1) AAS
AA省
148
(1): 2018/07/04(水)06:27 ID:PcbSJbIy(1) AAS
>>145
titleの中がぬるぽなんじゃ。
取得はどこだ?titleが居るってかactiveの時に取ってる?じゃないとfindで取れないぞ。
149
(2): 2018/07/04(水)07:46 ID:TALB3D9+(1) AAS
titleオブジェクトの名前がTitleじゃない(誤記)
Titleを非表示でなくdestroyしている
title取得以前に弾を撃とうとしている又は何度も取得しようとしている
非表示以降に生成されるenemyがある

多分このどれか
>>146見るとenemyが複数回生成されるみたいだから少なくとも最後は引っかかる
150: 2018/07/04(水)10:55 ID:GdNJLKay(1) AAS
参考にしてみるといい外部リンク:goo.gl
151
(1): 弟子 ◆rZPPjYuxmQ 2018/07/04(水)11:01 ID:+Bj9nh1d(1/3) AAS
>>144
>>145

さてでは問題は他でも指摘されているように「Title」オブジェクトがちゃんと指定されているか?
という事で、これの一番簡単な解決は
「public Text Title」 ←これをインスペクタで指定してあげる
(Textを使う場合、Using Unity Engine.UIを指定する)
そうすれば「Start」関数で「title = GameObject.Find("Title"); 」は必要なくなります
省2
152: 弟子 ◆rZPPjYuxmQ 2018/07/04(水)11:06 ID:+Bj9nh1d(2/3) AAS
>>143
有料アセットなので試せないのでなんとも・・・
恐らく記載のバージョンでやってみて動けば、現在の143さんのバージョン違いによる事じゃないかなとしか
153
(2): 2018/07/04(水)16:35 ID:RvZnsCPI(4/6) AAS
>>148
>>149
>>151
destroyしていないですし、
Using Unity Engine.UI無しでも取得できてる箇所もあるのでよくわからず、、
初心者のためか、どうしてもわかりません。
現在のゲームの一式Zipです、Unityで開いていただければ覗けると思います
省7
154
(3): 2018/07/04(水)17:28 ID:30JL9X4X(1) AAS
>>153
見たけど>>149の後半そのままじゃないか、確認してくれよ……
1) プレイヤーの操作でTitleオブジェクトがactiveでなくなる
2) enemyが生成されtitleに代入しようとするもactiveでないオブジェクトはFindで引っかからず空のまま
3) titleの中身がnullの状態で静的でない変数を呼び出したのでNullReferenceExceptionで止まる
155
(2): 2018/07/04(水)17:33 ID:s79xjkx+(1) AAS
GameObject.Findはactiveじゃないと使えないんだって
Transform.Findなら使えるかな
156: 2018/07/04(水)18:00 ID:RvZnsCPI(5/6) AAS
>>154
確認していただき、ありがとうございます。

>Titleオブジェクトがactiveでなくなる

認識不足でした、、そもそもactiveでなくなる、というのは
どういう状態のことですか?
自分はtitle.activeSelfの真偽はtitleの中のひとつのbool変数で
画像(テキスト)の表示非表示のスイッチみたいなものかと
省12
157: 2018/07/04(水)18:09 ID:RvZnsCPI(6/6) AAS
調べてみると
GameObjectのactiveSelfは
ゲームオブジェクトのローカルのアクティブ状態(読み取り専用)

画像の非表示はそのオブジェクト自体の動作を
停止させて非表示にしているのですね、、

しかし、やはり、プレイヤー死亡後は
そのTitleオブジェクトは動き出してるはずで、、
省3
158
(2): 弟子 ◆rZPPjYuxmQ 2018/07/04(水)18:21 ID:+Bj9nh1d(3/3) AAS
>>153
ソース見ました
弾を打つ処理って無限ループの中で行っているのですね
なのでループの中に撃たない処理をいれないとダメですね
それと「Manager.cs」で既に title = GameObject.Find("Title");されていて成功しているので
他で使う場合は、まず宣言で
// タイトル
省19
159
(2): 2018/07/05(木)04:52 ID:Gem47u68(1) AAS
>>158
ありがとうございます!

あの、質問なんですが今回はManager.csはメインスクリプトかと思うんですが、
要は、メインスクリプト内で取得した各オブジェクトの情報は、
そのほかのスクリプトや各オブジェクトにアセットしたスクリプト内において
public static GameObject 変数名;と記載したあと
以後スクリプト名.変数名で呼び出すことができるようになるのですか??
省4
160: 2018/07/05(木)06:55 ID:w7MLipmi(1) AAS
findするタイミングを考えろ
タイトルでる
消える
敵出現
find
敵消える
敵につけたスクリプトだとfindできるタイミングがないんだよ
省1
161: 弟子 ◆rZPPjYuxmQ 2018/07/05(木)11:09 ID:9fzjzEJn(1) AAS
>>159
>要は、メインスクリプト内で取得した各オブジェクトの情報は、
>そのほかのスクリプトや各オブジェクトにアセットしたスクリプト内において
>public static GameObject 変数名;と記載したあと

他のスクリプトで変数を使う場合には「public static」にするだけですね

>以後スクリプト名.変数名で呼び出すことができるようになるのですか??

呼び出すというか、使えるという感じでしょうか
省7
162: 2018/07/05(木)12:38 ID:MRR7aszu(1) AAS
>>159
いや、直接的には「activeじゃないから取得できない」で合ってる
現状だとenemyが生成されるたびに各個にtitleを取得しようとするから生成のタイミングでtitleが非activeだと取得に失敗してしまう

その解決法として「ゲーム開始直後、activeなうちに一回取得・staticな変数に入れて全てのenemyで使い回せ」というのがこのコテの提案
163: 2018/07/05(木)13:06 ID:30R4+BKt(1) AAS
次作るときは、敵マネージャー.csを作って、敵生成は全てそこでやるといいよ。
164
(1): 2018/07/06(金)08:47 ID:bTnJUGNr(1) AAS
PG初心者になります。
C#で、下記のように".psd"の拡張子を指定したいのですが、
大文字、小文字を区別せず指定する場合はどのようにしたらよいでしょうか。
".psd"".PSD"".pSd"でも問題ないようにしたいです。
ご教授お願いいたします。

/// ファイル拡張子【psd】
public const string ExtensionPSD = ".psd";
165
(1): 2018/07/06(金)09:06 ID:SbZqPch/(1) AAS
>>164
Unity関係ない気がしなくもないが、自力でやるなら文字を一旦すべて小文字化してから比較すればええんやで
166
(1): 2018/07/06(金)09:21 ID:mqKRW7N6(1/3) AAS
指定時じゃなくて比較時に大文字小文字区別なしでString.compare()やったら?
どうしてもって言うならStringじゃなくてregexでやるか。
167
(2): 2018/07/06(金)09:38 ID:diIi72QZ(1) AAS
>>165
>>166
ご指導ありがとうございます。

下記で取得したものを
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
private void GetSceneTreeObjByFiles( ref List<SceneTreeObj> listParent, string downloadPath )
{
省16
168: 2018/07/06(金)09:49 ID:JxKSLFmq(1) AAS
>>167
ふらっと C#,C♯,C#(初心者用) Part138
2chスレ:tech
169
(2): 2018/07/06(金)09:55 ID:mqKRW7N6(2/3) AAS
>>167
試してないけど
downladpatth.ToLowre()でならないかしら
170: 2018/07/06(金)09:59 ID:mqKRW7N6(3/3) AAS
>>169
入力ミス
downladPath.ToLowre()
ね。
171: 弟子 ◆rZPPjYuxmQ 2018/07/06(金)10:24 ID:PYnnNWaZ(1) AAS
ToLower()
外部リンク[aspx]:msdn.microsoft.com
172: 2018/07/06(金)11:01 ID:ziEtrYYq(1) AAS
文字列 小文字 C#
でググれば一発
知識が少なくてC#なのかUnityなのかわかんなくても結果は同じ
173
(1): 2018/07/06(金)20:37 ID:TxoEW2Q0(1/3) AAS
>>弟子 ◆rZPPjYuxmQ
すみません、>>158ができませんでした。
宣言したあと、
「Manager.title.activeSelf」では
下線のエラーが出てしまいます。
画像リンク[jpg]:dl1.getuploader.com

確かに考えてみると、
省3
174: >>34 2018/07/06(金)20:50 ID:gEW+Hr/Q(1/4) AAS
Manager.title の青文字、Managerはいらないよ
175
(1): 2018/07/06(金)20:52 ID:gEW+Hr/Q(2/4) AAS
if(Manager.title.activeSelf == false)
じゃなくて
if(title.activeSelf == false)
ね。
176
(1): 2018/07/06(金)20:59 ID:TxoEW2Q0(2/3) AAS
>>175
ありがとうございます。
そう思って、自分も「Manager.」を削ってみたんです。
そしたらちゃんと動くんですが、
敵が弾を一切撃たないままでして、、、
177: 2018/07/06(金)21:00 ID:TxoEW2Q0(3/3) AAS
やはり、NULLが返ってきてるんです。。
んー
178: 2018/07/06(金)21:17 ID:VvyEnY8t(1) AAS
そのスクリプトをアタッチしたゲームオブジェクトは、もしかして複数ないだろうね?
179: 2018/07/06(金)21:23 ID:HglSf1KI(1/3) AAS
static書く場所間違えてんぞ
宣言すんのはManager.csの中だ
180: 2018/07/06(金)21:31 ID:HglSf1KI(2/3) AAS
Enemy.csの中にはFindがないだろ
Maneger.csの中にFindがあるからそれを使わせてもらうってことだ
ちゃんと理解しろ
181: 2018/07/06(金)21:43 ID:gEW+Hr/Q(3/4) AAS
このEnemy.csが付いているオブジェクトにSpaceshipコンポーネントも付いてんの?
24行目の
Spaceship = GetComponent<Spaceship>();
が気になったんだけど。

Enemy.csをつけてるオブジェクトのinspecter画像あげてみなよ。
182: 2018/07/06(金)21:43 ID:tJg4NY0i(1) AAS
なんだ!その言い方は。自分で作ったこともないクセに生意気なことを言うなよ!
183
(1): 2018/07/06(金)21:54 ID:gEW+Hr/Q(4/4) AAS
>>176
あ、前にソースあがってますね。みてきます。
184
(1): 2018/07/06(金)22:31 ID:3k4W8n5C(1/3) AAS
whileのところ。titleの取得はここじゃなきゃ意味ない。
画像リンク[jpg]:i.imgur.com
185
(2): 2018/07/06(金)23:02 ID:3k4W8n5C(2/3) AAS
>>183 =>>184です。

whileの中の
if (spaceship.canShot)&#8232; {&#8232; spaceship.Shot(shotPosition);&#8232; }
のまえに

GameObject title = GameObject.Find("Title");&#8232; if (title)&#8232; {&#8232; spaceship.canShot = false;&#8232; }

を付け足すと一応なるよ。
でもこのプロジェクト、初心者にはむりだろ。なんでupdate()じゃなくて無理矢理while
省1
186: 2018/07/06(金)23:03 ID:3k4W8n5C(3/3) AAS
>>185
な、改行が、、
187: 2018/07/06(金)23:10 ID:HglSf1KI(3/3) AAS
おいおい
もう正解でてるのに違うこと書いて混乱させるなよ
188: 弟子 ◆rZPPjYuxmQ 2018/07/07(土)02:22 ID:K1LNb5pO(1/3) AAS
>>173
ごめんね、分かり易いように全ソース上げるべきだったかな
とりあえずSSです
画像リンク[png]:i.gyazo.com

あと前回からも分かるように名無しさんはソース見て無かったり、とんちんかんな答も多いので間にうけないでね
189
(1): 2018/07/07(土)03:30 ID:mRGE11IO(1) AAS
まず、レスをくださった名無しの皆さま、
ありがとうございました。勉強になりました。

>>弟子 ◆rZPPjYuxmQさん
ソースをあげるお手間を取らせて申し訳ありません。
おかげで自分の間違いも理解でき、無事ゲームも動きました。
ありがとうございます。
それと今回はとても勉強になりました、
省11
190: 弟子 ◆rZPPjYuxmQ 2018/07/07(土)09:24 ID:K1LNb5pO(2/3) AAS
>>189
その修正は今後の力になりますね
while(true)の形式は昔のゲームでよく見ますね
何にせよ途中で投げ出さない事が力になると思います
191: 2018/07/07(土)11:12 ID:EkXNa58T(1) AAS
>>169
167です。
遅くなりましたが、ご連絡いただきましたカタチで対応したところ上手くいきました。
ご指導ありがとうございました!
192
(3): 2018/07/07(土)12:04 ID:uvTZMuyK(1) AAS
C言語とかどこから勉強すればいいのか
全くわからん

パーツ組み合わせて勝手に作ってくれるツールとかないんかな
193
(1): 2018/07/07(土)14:56 ID:ZcP3i1gQ(1) AAS
>>192
なに、Unityスレで蟹飯やらUPEの話をしたいとな?
194: 2018/07/07(土)15:15 ID:oT3GXRo8(1) AAS
>>192
アセットを探しましょう!
有料アセットにはいいものがいっぱいですから!
195
(1): 2018/07/07(土)15:21 ID:VmA3Nk3U(1) AAS
プログラミングで混乱してる奴はスクリプト間の動きを知ったほうがいい。
シングルスレッドだけで良い。その先の技術はまだまだ後回し。
まずは、この図を頭に叩き込んで見てくれ。
外部リンク[html]:docs.unity3d.com
196
(1): 弟子 ◆rZPPjYuxmQ 2018/07/07(土)15:27 ID:K1LNb5pO(3/3) AAS
>>192
別に勉強することなんかない
やりたいことが決まってれば、それを行うための方法をgglなりここで聞けばいい
やりたいことが決まってないなら簡単な事、例えば四角を表示して墜ちてくる、次にA,Dで左右に動かすなんかやればいいと思う
その次はぶつかった時の処理やミサイル発射とか、一つできたら次に広げていけば自然と身につく
197: 2018/07/07(土)16:25 ID:BIKvv2AG(1) AAS
>>196
何も出来ない人は質問に答えないで下さい。迷惑です
198: 2018/07/07(土)19:47 ID:zm6PvQJ6(1) AAS
よりによって196w
199: 2018/07/07(土)20:26 ID:Iv6KIDqQ(1) AAS
>>193
今時蟹飯なんていってわかる奴いるのかよ。
200
(1): 2018/07/07(土)21:33 ID:G1vtLFdf(1) AAS
コーディングで白背景は目が痛いな。
201
(1): 2018/07/08(日)03:35 ID:/vo2AcUq(1) AAS
>>195
シングルスレッドってそのページの
スクリプトライフサイクルフローチャートって奴ですよね?
項目が多すぎて、しかも知らないものばかりで
わけがわかりません。もう少しシンプル化できませんか?
202: 2018/07/08(日)08:32 ID:+e8vKp03(1) AAS
>>200
え、まじ?統合環境使いだしてからずっと白背景だな。
たしかにCビルダー使いだす前は、黒背景にしてたかもしれん。
203: 2018/07/08(日)11:25 ID:XHY+bU4w(1/2) AAS
>>201
う、マジか、この図で分からなければ、中々キツイぞ。
まとめては俺は必要無かったんで良いリンクとかは、他の賢人に任すわ
少しだけ概要な
シングルスレッド云々は、unityは元々シングルスレッド志向のmonobehaviorの動きで動いてるってこった。
そしてその動きがこの図な
んで、この図の
省6
204: 2018/07/08(日)11:31 ID:XHY+bU4w(2/2) AAS
言い忘れたが、重要なのは
これらの動きが、全ゲームオブジェクトに貼り付けられたスクリプト(monobehavior)で一斉に並列(あくまでシングルスレッドの分割)で動作するって所な
まあ、がんがれ
205: 2018/07/08(日)12:32 ID:qKbg52AD(1) AAS
これが読めないってのは…
あぁ、初心者スレかそういうレベルの初心者も居るか。
206
(1): 2018/07/09(月)19:21 ID:tGtIqOna(1/2) AAS
unityで球と直線の交点を求めるにはどうすればいいですか?
207: 2018/07/09(月)19:39 ID:E1xkTZ4l(1) AAS
一番楽なのはRaycast
それ以外は直線と円の交点を求める式で検索
208: 2018/07/09(月)20:12 ID:tGtIqOna(2/2) AAS
ありがとう
209: 265 2018/07/09(月)21:30 ID:CkgNFaVi(1) AAS
>>206
アセットを買えば良いと思います!
210: 2018/07/09(月)23:17 ID:Ip18eAqk(1) AAS
質問です。
キーボード入力のGetAxisを使ってプレイヤーを動かすタイプのPCゲームを作っていて、
マウスでも入力が可能にしようと思い、仮想ジョイパット等の記事を参考にしてみたのですが
肝心のキーボード入力とマウス入力との入力加速度等のすり合わせがうまくいきません。

1.(マウスをクリック等すると)キーボードの矢印キーを押したことになるスクリプトはありますか?
  (自分でも探してみたのですがキーの代入のようなものを見つけられませんでした)
2.もしくは、GetAxisの入力が0から1.0fになるまでの時間と加速度の式はどこかで見れますか?
省1
211: 2018/07/10(火)00:02 ID:DExfR9FT(1) AAS
edit>projectSetting>inputは出せるか?
そこでsizeを一個増やして、nameに好きな文字入れてボタン作ってくれ
んで、positive buttonにleftかrightかupかdownか押したことにしたい方向いれてくれ。
んで、alt positive buttonに「mouse 0」って入れてくれ
Input.GetAxis("つけた名前")で、マウスか矢印おした時にaxis値が取れるかと思う。
0から1になる増加値らへんはここみてくれえ
外部リンク:qiita.com
1-
あと 791 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.027s