【ゲームエンジン】Unity初心者質問スレBuild1

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
2018/06/06(水) 10:45:19.46ID:3pAIyBsg
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

■注意事項
「アセットを買えば」「チュートリアルやれ」等禁止、初心者の質問疑問に初心者が答えるスレ、ググれじゃなく何のキーワードでググったらいいかを書く

次スレは>>950以降にできるだけ早く(できれば回答者が回答した後にでも余裕を持って)建てて下さい。

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・マニュアル
 http://docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
 http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
 http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
 http://unity3d.com/jp/unity/faq
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

関連スレ
【3Dゲームエンジン】Unity質問スレッド35
https://mevius.5ch.net/test/read.cgi/gamedev/1523771570/
2018/07/03(火) 22:33:56.89ID:wgFi8W22
>>134
このコードって恐らく公式の
https://unity3d.com/jp/learn/tutorials/projects/2d-shooting-game/creating-enemies
のコードでしょうか?

だとすると
「弾を撃つ必要がない時はyield break;を使用してコルーチンを終了させます。」
という具合に書いてるので、これを利用するとですね

// canShotがfalseの場合、ここでコルーチンを終了させる
if (spaceship.canShot == false) {
yield break;
}

となってるので、Titleが非表示の時はbreakするようにすればいいのかなぁと思います
2018/07/03(火) 22:52:21.52ID:L1TMFUeX
すみません
https://assetstore.unity.com/packages/3d/props/small-buttons-and-switches-65964
のアセット使ってトグルボタンぽちぽちしたいのですが、ボタンが動きません
どう使えばいいのでしょうか?
144名前は開発中のものです。
垢版 |
2018/07/04(水) 00:28:49.31ID:RvZnsCPI
>>139
" title = GameObject.Find("Title"); "
を記載しているので、できていると思っているのですが、
NULLが来てます的な警告の先がこの場所みたいなので
Findがうまくいっていないかもしれません。
しかし、
private GameObject title;
title = GameObject.Find("Title");
と、たったこれだけで他所のゲームオブジェクトをFindできるんですよね?
それ以外にしなければならないことありますか?

>>142
そうです。弟子◆rZPPjYuxmQさんのアドバイス通り、
// canShotがfalseの場合、ここでコルーチンを終了させる
if (spaceship.canShot == false){yield break;}
if (title.activeSelf == True){yield break;}
と連続で記載してみました。
が、症状は同じで、まったく弾を撃たなくなってしまいました。
145名前は開発中のものです。
垢版 |
2018/07/04(水) 00:31:36.06ID:RvZnsCPI
>>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名前は開発中のものです。
垢版 |
2018/07/04(水) 00:33:02.65ID:RvZnsCPI
ちなみに、エネミーを倒したあとに、警告が出ます。
エネミーを倒すたびに警告が出る状態です。
147名前は開発中のものです。
垢版 |
2018/07/04(水) 01:55:12.03ID:W/Y7Ww/v
/i/|ii!//|!/!i/´i/   .|i |/ノ        i\i!゙、:iヽ|:::|  ヽ 'i  ! ヾi |'!ヽ::::||::::::/:::::::::::::::::::::ヽ
i i 川i!ハ/" _!   | │        川 ヾ:ii ゙'∨     |    ゙ヾiヽヽ;||:::::i':::::::::::::::::::::::::
ノ ノ/リ,,,,,,二三テ=''" ヽノ        ル |ノノヽヾ ノ  、,,,ノ,、     iヽ:::||:::::i'::::::::::::::::::::::::::::
 /   ̄ ´~~゙''''    ゙''‐- ..,,         ,, ‐'    `゙ヾミッ、,,   ヽ::|::::/::::::::::::::::::::::::::::
,,イ|                i'        i"         `'‐='   `'|/i!:::::i::::::::::::::::::::::::
 i | :::::::ヽ::::ヽ::::::ヾ::    ゙、        l       〃:::::       i//::::ハ::::::::::::::::::i:::
  i i \\\\\ヽ     )       ヽ        ′′′   / /:::::/:::::::::::::::::::|::::
!  | i            ,,ィノ         <         :::: :    /:::::/:::::::::::::::::::/::::
i!  i i!            /i/    ,r''''‐y'''.;、  \             /:::::/:::::/::::::::::::/:::::
゙i!  | i          /⌒' 、 Y:::::::::''::;;;;'.;.Y'⌒゙i           /::::::/::::::/::::::::::::/::::/i
 i  i ゙!         ん、,,__ヽノ:::::::::::::::::::;;;;;{,__,,,r''          /:::::::/::::::/::::::::::::/:::://
゙、ii! ゙| i           ノ  ゝ;;;:::::::::::::::::::;ノ 。 `i          //:::::/:::::/::::::::::::/::::::/:::
ヾ!トl ゙iU          i  。l '゛..  ‐ー:::::i    |         //::::::/::::::/::::::/:::/:::::i!::::::
 iiミ! ハ             i  l ,,,,::: :::;;;;;...{ ° ゙、       //::::://::::/::::::/:::::/::::i::::ii::
 i!ヾ!i ゙、!         , '  |::: ::::ヽ   ..}     |゙ヽ......,.,.,.,,,///://::://::::/::::://::::i::::リ::
 !ヽヾi  i゙、  ___,,,/   }:: :  ;;;::: ::::::::}     レWノ'レi/、//::/:://:/:::/::/:::ハ:i |::
148名前は開発中のものです。
垢版 |
2018/07/04(水) 06:27:05.10ID:PcbSJbIy
>>145
titleの中がぬるぽなんじゃ。
取得はどこだ?titleが居るってかactiveの時に取ってる?じゃないとfindで取れないぞ。
2018/07/04(水) 07:46:44.11ID:TALB3D9+
titleオブジェクトの名前がTitleじゃない(誤記)
Titleを非表示でなくdestroyしている
title取得以前に弾を撃とうとしている又は何度も取得しようとしている
非表示以降に生成されるenemyがある

多分このどれか
>>146見るとenemyが複数回生成されるみたいだから少なくとも最後は引っかかる
150名前は開発中のものです。
垢版 |
2018/07/04(水) 10:55:01.63ID:GdNJLKay
参考にしてみるといいhttps://goo.gl/9pHp9Y
2018/07/04(水) 11:01:38.37ID:+Bj9nh1d
>>144
>>145

さてでは問題は他でも指摘されているように「Title」オブジェクトがちゃんと指定されているか?
という事で、これの一番簡単な解決は
「public Text Title」 ←これをインスペクタで指定してあげる
(Textを使う場合、Using Unity Engine.UIを指定する)
そうすれば「Start」関数で「title = GameObject.Find("Title"); 」は必要なくなります
恐らく、Findが失敗しているからNullエラーとなているのかと思われますが
Findが成功しているかどうか簡単に見るにはFindの後に「print(title.name)」でもしてみると解ります
2018/07/04(水) 11:06:38.82ID:+Bj9nh1d
>>143
有料アセットなので試せないのでなんとも・・・
恐らく記載のバージョンでやってみて動けば、現在の143さんのバージョン違いによる事じゃないかなとしか
153名前は開発中のものです。
垢版 |
2018/07/04(水) 16:35:34.35ID:RvZnsCPI
>>148
>>149
>>151
destroyしていないですし、
Using Unity Engine.UI無しでも取得できてる箇所もあるのでよくわからず、、
初心者のためか、どうしてもわかりません。
現在のゲームの一式Zipです、Unityで開いていただければ覗けると思います
8Mしか無い小さなファイルですので確認して頂いてよろしいでしょうか?
素材は公式チュートリアルのもので、ソースは2017に合わせて変更しています
https://ux.getuploader.com/zipcodezipcode/download/172

スクリプトフォルダのEnemy.csファイルを確認してほしいです。
コメントで消してます部分がやりたいことです。
なにが間違っているのか、ご指摘頂ければ幸いです。 👀
Rock54: Caution(BBR-MD5:669e095291445c5e5f700f06dfd84fd2)
2018/07/04(水) 17:28:56.01ID:30JL9X4X
>>153
見たけど>>149の後半そのままじゃないか、確認してくれよ……
1) プレイヤーの操作でTitleオブジェクトがactiveでなくなる
2) enemyが生成されtitleに代入しようとするもactiveでないオブジェクトはFindで引っかからず空のまま
3) titleの中身がnullの状態で静的でない変数を呼び出したのでNullReferenceExceptionで止まる
2018/07/04(水) 17:33:31.63ID:s79xjkx+
GameObject.Findはactiveじゃないと使えないんだって
Transform.Findなら使えるかな
156名前は開発中のものです。
垢版 |
2018/07/04(水) 18:00:16.94ID:RvZnsCPI
>>154
確認していただき、ありがとうございます。

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

認識不足でした、、そもそもactiveでなくなる、というのは
どういう状態のことですか?
自分はtitle.activeSelfの真偽はtitleの中のひとつのbool変数で
画像(テキスト)の表示非表示のスイッチみたいなものかと
思っていました。。。
title.activeSelf==falseだと、activeでなくなっている
という認識なんですね?
でも、プレイヤーが死亡したあとタイトル文字が出ますよね?
その状態はtitle.activeSelf==tureになって、
activeである状態ではないのでしょうか?

タイトル文字が出ても、敵が残っていると
そいつは前に進んでいます。
その時に、弾を吐かない様にしたかったので
コメントアウトしてるソースを記載しようと思ったんですが。。

自分の認識違いがなんなのか
正してもらえませんでしょうか
157名前は開発中のものです。
垢版 |
2018/07/04(水) 18:09:32.59ID:RvZnsCPI
調べてみると
GameObjectのactiveSelfは
ゲームオブジェクトのローカルのアクティブ状態(読み取り専用)

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

しかし、やはり、プレイヤー死亡後は
そのTitleオブジェクトは動き出してるはずで、、
ああ、もしかして、タイトル画面が表示されていて
敵が流れていても、その時にはすでにstart()を通らないから
title = GameObject.Find("Title");ができない状態だから?
2018/07/04(水) 18:21:48.52ID:+Bj9nh1d
>>153
ソース見ました
弾を打つ処理って無限ループの中で行っているのですね
なのでループの中に撃たない処理をいれないとダメですね
それと「Manager.cs」で既に title = GameObject.Find("Title");されていて成功しているので
他で使う場合は、まず宣言で
// タイトル
public static GameObject title;
の様に「public」な「static」の変数にします

で「Enemy.cs」の無限ループ中で
while (true)
{
// 子要素を全て取得する
for (int i = 0; i < transform.childCount; i++)
{
Transform shotPosition = transform.GetChild(i);
//弾を撃たせる
//ShotPositionの位置/角度で弾を撃つ
if (Manager.title.activeSelf == false) spaceship.Shot(shotPosition);
}
// shotDelay秒待つ
yield return new WaitForSeconds(spaceship.shotDelay);
}
これで行けるかと思います

一応、インスペクタでタイトルを操作した画面です
ttps://imgur.com/a/qEZk4ej
159名前は開発中のものです。
垢版 |
2018/07/05(木) 04:52:10.53ID:Gem47u68
>>158
ありがとうございます!

あの、質問なんですが今回はManager.csはメインスクリプトかと思うんですが、
要は、メインスクリプト内で取得した各オブジェクトの情報は、
そのほかのスクリプトや各オブジェクトにアセットしたスクリプト内において
public static GameObject 変数名;と記載したあと
以後スクリプト名.変数名で呼び出すことができるようになるのですか??

そして>>158の内容からですと、自分は今回他のスクリプト内で使用する記述方法を
間違っていた(public static GameObjectなど)ということで、
>>154さんや>>155さんの指摘である「activeじゃないから」云々は
今回は当てはまらない、ということですか?
2018/07/05(木) 06:55:42.38ID:w7MLipmi
findするタイミングを考えろ
タイトルでる
消える
敵出現
find
敵消える
敵につけたスクリプトだとfindできるタイミングがないんだよ
findするにはスタート時から消えないオブジェクトにスクリプトをつける必要がある
2018/07/05(木) 11:09:32.51ID:9fzjzEJn
>>159
>要は、メインスクリプト内で取得した各オブジェクトの情報は、
>そのほかのスクリプトや各オブジェクトにアセットしたスクリプト内において
>public static GameObject 変数名;と記載したあと

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

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

呼び出すというか、使えるという感じでしょうか

A.csで定義した変数henをB.csやC.csでも上記の様に宣言すれば使えるけど、それぞれが呼び出して別の変数としてではなく、あくまでA.csのhenであり、B.csでhenに1を入れ、次にC.csでhenに3を入れた場合、次に参照する際には3となってます。
プロジェクトでユニークになってると思います。ですので、あれ、どこでこの数値いじったかな?とかいう事が起きるのでご注意ください。

>>>154さんや>>155さんの指摘である「activeじゃないから」云々は
>今回は当てはまらない、ということですか?

うーん、すいません154さんや155さんのところ読んでないのでこれについてはよくわかりません、申し訳ないです

また何かあれば気軽に質問してください、私で分かる範囲でお答えさせていただきます

お互い頑張って作品作っていきましょう!
2018/07/05(木) 12:38:02.09ID:MRR7aszu
>>159
いや、直接的には「activeじゃないから取得できない」で合ってる
現状だとenemyが生成されるたびに各個にtitleを取得しようとするから生成のタイミングでtitleが非activeだと取得に失敗してしまう

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

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


下記で取得したものを
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
private void GetSceneTreeObjByFiles( ref List<SceneTreeObj> listParent, string downloadPath )
{
var path = FTP.CommonWord.GetDownloadPathByPlatform( downloadPath );

{
var files = GetFilesFromExtension( path, FTP.CommonWord.ExtensionPSD );
RegisterFiles( ref listParent, files, path, (Texture2D)Resources.Load( "button_com_file_shadow" ) );

files = GetFilesFromExtension( path, FTP.CommonWord.ExtensionJPG );
RegisterFiles( ref listParent, files, path, (Texture2D)Resources.Load( "button_com_file_shadow" ) );

}
}
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

こちらで条件付けしているのですが、
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
/// ファイル拡張子【psd】
public const string ExtensionPSD = ".psd";
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

この場言、"downloadPath"を小文字化するのですが、どのように書けばよいのでしょうか。
急遽直さなければならず、ご教授いただければ幸いです。
2018/07/06(金) 09:49:28.52ID:JxKSLFmq
>>167
ふらっと C#,C♯,C#(初心者用) Part138
https://mevius.5ch.net/test/read.cgi/tech/1528194762/
2018/07/06(金) 09:55:13.52ID:mqKRW7N6
>>167
試してないけど
downladpatth.ToLowre()でならないかしら
2018/07/06(金) 09:59:22.23ID:mqKRW7N6
>>169
入力ミス
downladPath.ToLowre()
ね。
2018/07/06(金) 10:24:48.79ID:PYnnNWaZ
ToLower()
ttps://msdn.microsoft.com/ja-jp/library/e78f86at(v=vs.110).aspx
2018/07/06(金) 11:01:26.39ID:ziEtrYYq
文字列 小文字 C#
でググれば一発
知識が少なくてC#なのかUnityなのかわかんなくても結果は同じ
173名前は開発中のものです。
垢版 |
2018/07/06(金) 20:37:16.86ID:TxoEW2Q0
>>弟子 ◆rZPPjYuxmQ
すみません、>>158ができませんでした。
宣言したあと、
「Manager.title.activeSelf」では
下線のエラーが出てしまいます。
https://dl1.getuploader.com/g/6%7Csaro111/340/000.jpg

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

Enemy.csをつけてるオブジェクトのinspecter画像あげてみなよ。
2018/07/06(金) 21:43:58.07ID:tJg4NY0i
なんだ!その言い方は。自分で作ったこともないクセに生意気なことを言うなよ!
2018/07/06(金) 21:54:18.65ID:gEW+Hr/Q
>>176
あ、前にソースあがってますね。みてきます。
2018/07/06(金) 22:31:47.47ID:3k4W8n5C
whileのところ。titleの取得はここじゃなきゃ意味ない。
https://i.imgur.com/lTOyNG8.jpg
2018/07/06(金) 23:02:04.45ID:3k4W8n5C
>>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
使ってんだろ。
2018/07/06(金) 23:03:44.11ID:3k4W8n5C
>>185
な、改行が、、
2018/07/06(金) 23:10:51.46ID:HglSf1KI
おいおい
もう正解でてるのに違うこと書いて混乱させるなよ
2018/07/07(土) 02:22:02.54ID:K1LNb5pO
>>173
ごめんね、分かり易いように全ソース上げるべきだったかな
とりあえずSSです
ttps://i.gyazo.com/4f40fc7de6ba6cc5761b406f7bc43c5c.png

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

>>弟子 ◆rZPPjYuxmQさん
ソースをあげるお手間を取らせて申し訳ありません。
おかげで自分の間違いも理解でき、無事ゲームも動きました。
ありがとうございます。
それと今回はとても勉強になりました、
Unityゲーム制作方法がまたひとつ理解出来たことを実感できました。
投げることなく、これからも頑張っていきたいのでまたお時間がある時は
どうぞよろしくお願い致します。

>>185
>でもこのプロジェクト、初心者にはむりだろ。
>なんでupdate()じゃなくて無理矢理while使ってんだろ。

考えてみると、確かにそうでした。
start()にはSpaceshipコンポーネント取得だけを記述し、
update()を作り、そこに移動とショットのメソッドを記述するのが
よくみるソースですよね、、気になるので
ちょっと自分でそうしてみます。
2018/07/07(土) 09:24:11.16ID:K1LNb5pO
>>189
その修正は今後の力になりますね
while(true)の形式は昔のゲームでよく見ますね
何にせよ途中で投げ出さない事が力になると思います
2018/07/07(土) 11:12:48.46ID:EkXNa58T
>>169
167です。
遅くなりましたが、ご連絡いただきましたカタチで対応したところ上手くいきました。
ご指導ありがとうございました!
2018/07/07(土) 12:04:39.34ID:uvTZMuyK
C言語とかどこから勉強すればいいのか
全くわからん

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

1.(マウスをクリック等すると)キーボードの矢印キーを押したことになるスクリプトはありますか?
  (自分でも探してみたのですがキーの代入のようなものを見つけられませんでした)
2.もしくは、GetAxisの入力が0から1.0fになるまでの時間と加速度の式はどこかで見れますか?
  (それが分かればマウスでの入力もGetAxisと同じ挙動にできると思います)
2018/07/10(火) 00:02:19.44ID:DExfR9FT
edit>projectSetting>inputは出せるか?
そこでsizeを一個増やして、nameに好きな文字入れてボタン作ってくれ
んで、positive buttonにleftかrightかupかdownか押したことにしたい方向いれてくれ。
んで、alt positive buttonに「mouse 0」って入れてくれ
Input.GetAxis("つけた名前")で、マウスか矢印おした時にaxis値が取れるかと思う。
0から1になる増加値らへんはここみてくれえ
https://qiita.com/RyotaMurohoshi/items/7868752a3f056affa2df
2018/07/10(火) 04:25:28.04ID:I4DvWkaD
迅速な回答ありがとうございます!
しかし、私の質問が悪かったのですが、私が試していたのは下記のタイプでして、(丸きり同じ仕様ではありませんが)
ttp://kan-kikuchi.hatenablog.com/entry/uGUI_Joystick_1
inputそのものを増やす方法で対応できるのかやや困惑気味ですが少し色々試してみます。
ありがとうございました。
2018/07/11(水) 23:57:57.02ID:o/82KR0c
UnityでWindowsMR用のプログラムをつくってるのですが、
ハンドコントローラのボタン操作でテレポート(ワープ)しないようにするにはどうすればいいですか?
MixedRealityToolkit->ConfigureででてくるApplyを3つとも適用した状態です
2018/07/12(木) 22:20:09.55ID:duOHPzc3
難しそうな質問ですねぇここは初心者用なので答えが出ないかもしれませんが
とりあえずggったのですが、きっともう読まれているのですかねぇ…
ttp://tks-yoshinaga.hatenablog.com/entry/2017/08/23/171354
ttps://framesynthesis.jp/tech/unity/windowsmixedreality/
ttp://sirohood.exp.jp/20180302-469/
2018/07/14(土) 15:39:12.44ID:9sFMmlen
uGUIについて質問です
Canvas->空のGameObject->複数のテキスト
という構造で複数のテキストを表示しているのですが
たまにすべてのテキストが空のGameObjectの座標に集まってしまい、レイアウトが崩れてしまいます
その都度手動で元のレイアウトに戻すのが面倒なので、レイアウトが崩れない対策があれば教えてください
2018/07/14(土) 20:52:46.97ID:trAsPRCC
>>215
アセットストアで検索してみてはどうでしょうか?
2018/07/15(日) 09:52:55.71ID:+fIs9TbR
>>215
テキストの親のobjectにAddComponentでLayoutにあるLayoutGroupを追加してみてください
↓同じテキストの位置
https://i.gyazo.com/dd691dbdac0645698fb6c24c381c3573.png
↓layoutをオンすると自動で整列
https://i.gyazo.com/02e2c86353a4e6067c6a9e5076833933.png

これはVerticalLayoutということで縦に自動で整列します
他にもいろいろあるのでご自分の要望にあったのを取り入れれば良いかと思います
2018/07/15(日) 10:07:37.36ID:7ZKErhFA
>>215
たまにそうなるのは根本的に何かが間違っている
原因究明が大事
2018/07/15(日) 11:39:25.50ID:l4mbViwe
>>215
実行中じゃないのか?
実行中に変わった座標が、実行終了後に維持されるのは聞いたことないなぁ。メッシュやマテリアルは実行中に触るとそのままってのはあったけど。
2018/07/15(日) 15:35:45.97ID:3jehjN70
>>217
丁寧な回答ありがとうございます
私のプロジェクトに
空のゲームオブジェクト->レイアウトグループ->テキスト
の構造がありましたが、
その場合はレイアウトグループの位置は変わってしまっていましたが、グループ内のテキストの配置は維持されていました
つまり、レイアウトグループの子の構造は崩れないが、空のゲームオブジェクトの子は崩れるということです

結局、空のゲームオブジェクト以下にGUIを配置しているのが問題な気がしますね
対策は、入れ子の親には必ずレイアウトグループをアタッチするといったところでしょうか
しかしレイアウトの自由度が制限されるのが問題ですね・・・

>>218
原因は未だに不明です
再現性の無い現象なのでなかなか原因究明が難しいです

>>219
気づいたら崩れているのでタイミングはよく分かっていません
感覚としては、実行後に崩れている傾向が強いと感じています
2018/07/15(日) 17:16:08.29ID:7ZKErhFA
>>220
原因が不明?
それ最悪だよ、
泥縄式に対処してたらこれから先バグに悩まされる
リリース後にもいつ発生するかわからない
プロジェクトが小さいうちに原因をはっきりさせることをおすすめする
2018/07/15(日) 18:42:31.42ID:3jehjN70
2017.3のバグみたいです
報告多数ですね
https://forum.unity.com/threads/very-irritating-ui-bug-has-anyone-else-experienced-this.510596/

I encountered this after upgrading to 2017.3. One of my UI windows was all messed up,
so I tried to fix it, and upon hitting "Apply", some elements auto-centered.
After reviewing everything for rogue layouts or anything like that, and with it happening on other elements, I went to the internet and came across a few threads like this.
Fortunately, I saved a copy of my 2017.2 project and going back was as easy as renaming a folder.
But I think this is a pretty severe bug, it could effectively stale a project relying heavily on UI.
2018/07/15(日) 19:21:39.40ID:nN3qp9d6
さすが公式フォーラム
現役の人が集まるだけあって被害者多数でワロタ
2018/07/15(日) 22:33:17.00ID:3jehjN70
このバグ数ヶ月放置されてけっこう問題になってたみたい
エディターのバグとかどうしようもないし、最新版を使うことにしました
2018/07/15(日) 23:09:45.09ID:MAbCEPsD
>>222
日本語で話せやガイジ
ここは日本のUnityスレだぞ
2018/07/16(月) 08:31:47.70ID:Clqj8SOY
>>225
いや、unityつかうなら英語くらい覚えろよ……
2018/07/16(月) 08:36:44.72ID:TKHzOtNK
誰か翻訳AI完成させて
2018/07/16(月) 13:24:51.73ID:bDaRS4qJ
英語読めないのにUnityって冗談でしょ
2018/07/16(月) 18:28:16.15ID:spAkMe49
>>225はアセットおじさんか
言葉の節々に知能の低さ、羞恥心の無さがにじみ出ているのは流石だな
誰か「アセットを買えば英語力も上がるし羞恥心も備わりますよ」って教えてやれよ
2018/07/17(火) 15:11:04.49ID:6120ASjx
>>229
アセットを買えばそんな勘違いもなくなりますよ
2018/07/19(木) 05:14:32.69ID:k0fYdkdd
スマホアプリ作っている人は
iphoneとandroid両方持ってるの?
androidしかないんだけどipone必要ですか?あとmacも無いんですけどこれもいりますか?
2018/07/19(木) 06:05:50.04ID:ElRV+zTP
>>231
macないとiPhone開発は実質無理だと思っていいよ
両OSにアプリ出すならmacは必須
iPhoneはなくても最悪mac上のエミュとかiPadとかでもなんとかなる
2018/07/19(木) 07:04:32.59ID:k0fYdkdd
同じアプリでもiPhoneのが売上いいみたいだから出したいけど、mac必須ですか…
androidでmac買えるぐらい稼げたら買おうかな
2018/07/19(木) 07:14:57.77ID:GFvO8zga
>>233
マックなんて2万でかえるだろ
2018/07/19(木) 09:15:51.75ID:ZpvrD2eM
無理
236名前は開発中のものです。
垢版 |
2018/07/19(木) 14:41:39.19ID:UVLnnnpG
CommandInvokationFailure: Unable to list target platforms. Please make sure the android sdk path is correct. See the Console for more details.
って言われてAndroidでビルドができないよー、ちゃんとAndroid SDK toolsを25.2.5にしてもダメだったし
SDKが古いかもってことも書いてあったからSDK消して入れなおしてtoolsを25.2.5にしてビルドしてもダメだったし誰か助けてー!
2018/07/19(木) 14:48:09.10ID:cAgC0uNk
>>236
コンソールに詳細でてる?
2018/07/19(木) 16:25:47.27ID:ZpvrD2eM
アレだな。
2018/07/20(金) 22:57:05.42ID:KCUa1hS5
>>233
AppStoreは毎年1万くらい掛かるけど、GooglePlayなら2500円払えばあとは儲けるだけだからなぁ。
2018/07/20(金) 23:49:34.13ID:5krUI5Wa
2500円回収できんのか?w
2018/07/20(金) 23:56:29.44ID:BE6ITBtY
>>240
えっお前は出来ないのwwwwww
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況