2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

1 :名前は開発中のものです。:2018/06/06(水) 10:45:19.46 ID:3pAIyBsg.net
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートは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/

235 :名前は開発中のものです。:2018/07/19(木) 09:15:51.75 ID:ZpvrD2eM.net
無理

236 :名前は開発中のものです。:2018/07/19(木) 14:41:39.19 ID:UVLnnnpG.net
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にしてビルドしてもダメだったし誰か助けてー!

237 :弟子 :2018/07/19(木) 14:48:09.10 ID:cAgC0uNk.net
>>236
コンソールに詳細でてる?

238 :名前は開発中のものです。:2018/07/19(木) 16:25:47.27 ID:ZpvrD2eM.net
アレだな。

239 :名前は開発中のものです。:2018/07/20(金) 22:57:05.42 ID:KCUa1hS5.net
>>233
AppStoreは毎年1万くらい掛かるけど、GooglePlayなら2500円払えばあとは儲けるだけだからなぁ。

240 :名前は開発中のものです。:2018/07/20(金) 23:49:34.13 ID:5krUI5Wa.net
2500円回収できんのか?w

241 :名前は開発中のものです。:2018/07/20(金) 23:56:29.44 ID:BE6ITBtY.net
>>240
えっお前は出来ないのwwwwww

242 :名前は開発中のものです。:2018/07/21(土) 02:10:26.26 ID:p4e4X/of.net
しっかり考えてちゃんとしたもの作って出さないと
GooglePlayは簡単には回収できないよ

243 :名前は開発中のものです。:2018/07/21(土) 04:47:48.99 ID:sXvBSliU.net
個人アプリ開発者の9割はその年間2500円も稼げないけどね

244 :名前は開発中のものです。:2018/07/21(土) 08:02:15.02 ID:PiBb+geA.net
そもそも自称開発者は、アプリを完成させ、リリースすることすら・・・

245 :名前は開発中のものです。:2018/07/21(土) 10:33:31.64 ID:Wf3Uoe2X.net
それはお前が出来てないだけ。皆そうだと思っていれば幸せなんだろうな

246 :名前は開発中のものです。:2018/07/21(土) 18:00:40.90 ID:EggmhhQD.net
ソーシャルゲームが流行る前はしょぼい物作ってもGooglePlayのリストに出るから余裕で回収できたけどね。
今はリリースされたことすら知られないから…。

247 :名前は開発中のものです。:2018/07/26(木) 04:46:43.92 ID:kNQ25ubs.net
始めたばっかだけどunityで適当に画像入れてsave projectして、入り直したら画像じゃなくて何か別の物に変換されててlayer編集が効かなくて心折れそう、誰か助けてクレメンス

248 :弟子 :2018/07/26(木) 05:42:19.49 ID:fev1xFrc.net
さすがにそれじゃエスパーさえわからんで
なにがSSとか無いのん?

249 :名前は開発中のものです。:2018/07/26(木) 07:19:48.83 ID:H78k3yRK.net
左が初期の画像、変わったのが右側って感じ
うまく貼れてなかったらスマソ
http://imepic.jp/20180726/261250

250 :弟子 :2018/07/26(木) 07:32:26.89 ID:fev1xFrc.net
>>249
右みるとトランスフォームが子供になってるようだけど
手順としては、シーンに画像を張って、セーブしただけですか?
もし可能ならプロジェクトごとアップできます?

251 :名前は開発中のものです。:2018/07/26(木) 08:05:18.50 ID:1mgpo5S/.net
>>250
そうです、貼ってセーブしただけです。
プロジェクトは仕事から帰ったら揚げます(社畜)
本体の設定に問題ある感じですかね?

252 :弟子 :2018/07/26(木) 21:17:51.66 ID:fev1xFrc.net
一応画像をアセットにドラッグし、そのごヒエラルキにドラッグして
セーブした画面です

ttps://i.gyazo.com/6660cd11fc79b98801d275614fe26f8f.png

特に変化しないようです
自分はUnity2017.3.1f1を使ってます

253 :名前は開発中のものです。:2018/07/27(金) 05:07:03.51 ID:u+ao3S/Q.net
Unity 2018.2を使っているのですがunityの設定はどこでできますか?
ちなみに画像のバージョンはUnity 4.2.0 です
https://i.imgur.com/kyxzjRZ.png

254 :名前は開発中のものです。:2018/07/27(金) 05:10:40.64 ID:u+ao3S/Q.net
いい忘れてました自分はWindowsを使っています

255 :弟子 :2018/07/27(金) 09:03:28.71 ID:+juP2VsI.net
>>253
>unityの設定はどこでできますか?
Unityの何の設定でしょうか?

>いい忘れてました自分はWindows
画像はどうみてもMacですが、人の画像でしょうか?

256 :名前は開発中のものです。:2018/07/27(金) 09:27:51.68 ID:u+ao3S/Q.net
>>253
解決しました

>>255
再生中に周りの色を変える設定をしようとしたのですがeditのところでできました

257 :名前は開発中のものです。:2018/07/27(金) 11:27:25.50 ID:PHzeq30F.net
>>255
その程度もエスパーできないのかよ

258 :弟子 :2018/07/27(金) 13:05:22.56 ID:+juP2VsI.net
>>256
無事に出来て良かったです

259 :名前は開発中のものです。:2018/07/27(金) 23:23:17.09 ID:xl4o2aTS.net
>>252
結局本体再DLして解決しました
付き合ってくれてありがとうございます…

260 :弟子 :2018/07/27(金) 23:33:40.12 ID:+juP2VsI.net
>>259
無事に解決してなによりです!
また何かあればお気軽に!

261 :名前は開発中のものです。:2018/08/02(木) 14:10:27.16 ID:8NS2VTtG.net
すみません、Unity独特なプレハブについて
どういうもので、具体的にはどういう使い方ができるのか、
わかりやすく教えてくれませんか?

これではわかりません。
https://unity3d-com-jp-learn-tutorials.s3.amazonaws.com/2d-shooting-game/images/game/01/prefab.jpg

262 :名前は開発中のものです。:2018/08/02(木) 14:26:45.67 ID:YQXK/fNI.net
例えばシューティングなどで同じ敵を100体出したいとする
シーンに1体作ってあとはコピペで99体作ったとする

作ってる最中にこの敵に変更を加えたくなってきたとする
例えばタグをEnemyに変えたいとか

そうするとこの場合だと100体全てを修正しないといけなくなる

一方プレハブから100体作った場合だと
プレハブ本体を修正するだけでシーン中の100体が修正される

とかね

263 :THE・シンプル先生:2018/08/02(木) 14:50:49.16 ID:MarJrTds.net
>>261
プレハブはクローンだと思えばいい。
本体(オリジナルとも言う)のコピー品さ。

利点は大量に画面に表示した時に処理落ち(スロー再生状態)になりづらい。

ワンピース海賊無双というゲームをパクって作った場合
プレハブを使って作ると同じ物が作れるが
プレハブを使わないで作ると処理落ちが激しく遊べる状態ではない。

264 :名前は開発中のものです。:2018/08/02(木) 15:11:17.76 ID:8NS2VTtG.net
>>262 >>263
レスありがとうございます。
directX、C++からUnityに乗り換えた者なんですが
プレハブってのは、
敵のクラスをインスタンスしたものだというイメージでいいんでしょうか?
それとも、敵のクラスを定義したもので
あとでシーンの中でプレハブをインスタンス化させるのでしょうか?

265 :THE・シンプル先生:2018/08/02(木) 20:25:19.20 ID:MarJrTds.net
>>264
敵味方関係なくあらゆるクラスをインスタンス化したものがフレハブという認識でOK。
作成タイミングは自由。
シーンの中で動的にプレハブを作成する事も可能。
エディット画面で事前にプレハブを作成して配置して置く事も可能。

266 :名前は開発中のものです。:2018/08/02(木) 22:16:19.04 ID:IKwT233P.net
>敵味方関係なくあらゆるクラスをインスタンス化したものがフレハブという認識でOK。

こんなに堂々と嘘をつく奴も珍しいなw
素直にマニュアル見とけよ
https://docs.unity3d.com/jp/current/Manual/Prefabs.html

267 :名前は開発中のものです。:2018/08/03(金) 00:07:19.01 ID:YqXFTdeb.net
クラスかインスタンスかの二択なら
クラスだろ

268 :THE・シンプル先生:2018/08/03(金) 04:00:21.11 ID:gwkzOX1I.net
>>266
説明に間違いなし。
名前の通り初心者にシンプルに説明するのが目的で細かい説明は全てカットしてる。

初心者には自信を持って
『敵味方関係なくあらゆるクラスをインスタンス化したものがフレハブという認識でOK』
この説明を推す。

269 :THE・ステップアップ先生:2018/08/03(金) 04:11:45.63 ID:gwkzOX1I.net
>>266-267
中級者以上の知識がある人達には
ゲームオブジェクト自体もクラスと説明すれば分かってもらえるかと。
ソースコード上で行うインスタンス生成を
Unity的な言葉に直したものがプレハブと呼ぶにすぎない。
相当細かく説明すると厳密には違うかもしれないけどね。

270 :名前は開発中のものです。:2018/08/03(金) 07:25:47.78 ID:UvI2T87H.net
Instantiateなんてもんがわざわざあのになんでインスタンスにこだわるん?
プログラミングの知識あるならシーンに設置したオブジェクトがインスタンスって方がわかりやすいぞ

シーン内に個別に設置(インスタンス)したオブジェクトの値を変更してもプレハブ(クラス)には影響がないが
プレハブ(クラス)の値を変更したら個別に設置(インスタンス)したものにも影響がある
インスタンスからクラスに無理やり影響を与えるのがApply

271 :名前は開発中のものです。:2018/08/03(金) 07:26:59.37 ID:/74BHbXn.net
ほーんじゃあプレハブからクローンしたゲームオブジェクトはなんなんですかね
あれこそインスタンスじゃないんですかね

272 :名前は開発中のものです。:2018/08/03(金) 08:42:46.93 ID:Z5jah2NB.net
プレハブはプレハブでいいじゃないか。いちいち既知の概念に置き換えないと理解できないの?

273 :名前は開発中のものです。:2018/08/03(金) 08:57:39.72 ID:8Qhd0PCF.net
再利用しやすくするものくらいの認識でいいんじゃね?

274 :名前は開発中のものです。:2018/08/03(金) 09:13:10.67 ID:Tb6IvIdd.net
博識のある方達は、やはり呼び名とか拘らないといけないんですね大変ですね。
私なんかは、インスタンスとか未だに理解していません、できてません。
ただスクリプトで複製したり、親子入れ替えたり消したり、ここに置いときゃいい、ぐらいの知識で十分作れてますから、初心者レベルは楽で良いですよ。

275 :名前は開発中のものです。:2018/08/03(金) 09:29:06.72 ID:Z5jah2NB.net
あえて言うとプレハブはインスタンスのスナップショットな。instntiateはクラスのインスタンス化とはまた違った仕組みだし。無理矢理他言語の経験持ち込まずに、素直にマニュアル読んだが利口。

276 :名前は開発中のものです。:2018/08/03(金) 10:05:56.53 ID:Z5jah2NB.net
>>270
>>271
シリアライズ機構を調べて出直しておいで。

277 :名前は開発中のものです。:2018/08/03(金) 10:12:09.26 ID:Z5jah2NB.net
>>268
惜しい、インスタンスを保存したもの、だったら合格点。

278 :名前は開発中のものです。:2018/08/03(金) 10:52:55.93 ID:+s2o5GnK.net
盛り上がってますね。
プレファブはテンプレート化されたファイルですよ。
クラスをインスタンス化したものと言うのはメモリ展開されたクラスです。不正解。
プレファブはキャッシュされる前のファイルです。
まあ、キャッシュして書き換える事も出来ますが、どこぞのボッキングが、アセット書き変わった言って嘆いてましたんで、注意が必要です。

279 :弟子 :2018/08/03(金) 11:30:14.45 ID:M8FCr8g3.net
ここ初心者用に建てたスレなんで議論とか他でやって

280 :名前は開発中のものです。:2018/08/03(金) 11:58:41.31 ID:udevAjot.net
初心者は議論なんかするなってか
そりゃ永遠に初心者やな

281 :名前は開発中のものです。:2018/08/03(金) 13:15:54.04 ID:+vZr26Ym.net
>>279
お前には自分で立てた専用スレがあんだろ。あ、ここもでしたね、失礼しました。

282 :名前は開発中のものです。:2018/08/03(金) 13:27:05.32 ID:+vZr26Ym.net
匿名かつ初心者ばっかりだからこそ出来る、このいい加減な議論。楽しいじゃないか。

283 :名前は開発中のものです。:2018/08/03(金) 14:04:55.92 ID:lMgrnDzV.net
まあ、弟子さんも十分初心者なんで、議論みて行って下さいな。
アレですよ?ここで、出てきたキーワード、分からなかったら、ググると良いですよ〜

284 :弟子 :2018/08/03(金) 14:08:09.19 ID:M8FCr8g3.net
スレチなマウンター共は
【質問以外なんでもOK】Unity雑談スレッドその1
http://mevius.5ch.net/test/read.cgi/gamedev/1531742192/

で遊んであげるからここにこないでね、迷惑だから

285 :名前は開発中のものです。:2018/08/03(金) 14:10:34.37 ID:KvMBRbxy.net
昨日からの酷い流れを見て感じたけど
初心者同士で馴れ合ってても百害あって一利なし
正しい知識を習得するのが大事
調べ物は公式マニュアル見る習慣を
最低限公式チュートリアルの初級(英語版)はやったほうがいい

286 :名前は開発中のものです。:2018/08/03(金) 14:27:57.12 ID:lMgrnDzV.net
紙パンチに興味持てんわ

285さんのは正論ですね。
でも超概要として、こういうやり合い見るのも有りじゃないすかね。
自分も知らない事結構出てくるし。

287 :名前は開発中のものです。:2018/08/03(金) 15:13:38.43 ID:euFxSDg2.net
ここはクソコテ弟子が初心者相手にマウント取るために立てたスレなんで
初心者以外が質問、回答すると通報されてしまいますよ。

288 :名前は開発中のものです。:2018/08/03(金) 17:18:58.52 ID:XE8vIJkM.net
決まったobjectの当たり判定内にいるかつボタンを押したときのスクリプトが組めません、、&&を使えばいいという知識でやったところコンパイルエラーが出てしまいました。名前の一致などは確認済みですこんなタイミングですが教えてもらえると助かります。、、

289 :名前は開発中のものです。:2018/08/03(金) 17:26:14.84 ID:Tb6IvIdd.net
エラー文とその行を貼れ。
まずはそれからだ。テンプレ

290 :名前は開発中のものです。:2018/08/03(金) 17:32:30.72 ID:XE8vIJkM.net
if (collision.gameobject.name == "Perfect")&& (Input.GetKeyDown(KeyCode.LeftShift));
{
Destroy(gameobject);
}
の部分です。エラーは多いんですが
・`UnityEngine.Collision' does not contain a definition for `gameobject' and no extension method `gameobject' of type `UnityEngine.Collision' could be found. Are you missing an assembly reference?
・Only assignment, call, increment, decrement, await, and new object expressions can be used as a statement
・The name `gameobject' does not exist in the current context です

291 :名前は開発中のものです。:2018/08/03(金) 17:36:02.42 ID:Tb6IvIdd.net
collision.gameobject.name をログ出力できるかやってみ?

292 :名前は開発中のものです。:2018/08/03(金) 17:37:26.76 ID:Tb6IvIdd.net
ちな、&&は全角じゃないよね?

293 :名前は開発中のものです。:2018/08/03(金) 17:43:20.14 ID:XE8vIJkM.net
ログ出力がなにかいまいちわかってなくて、、すみません。
&&は半角にしてもビジュアルスタジオ上で無効ですと書かれてしまいます

294 :名前は開発中のものです。:2018/08/03(金) 17:52:35.95 ID:y6ZFjsSR.net
Unityの「シリアライズ」というのは、インスペクタみたいなのに表示できるようにする為などに、データをUnity内部機構が読み込める独自様式に変換するという意味だろ
プレハブはあくまで型と初期値の定義であって、プレビュー時や実行時にシーンに生成されて初めてメモリ上に占有領域が確保されて情報が記憶される(メモリ上オブジェクトとしてインスタンス化される)
だからUnityプロジェクト中のヒエラル木も、厳密には型と初期値の定義でしかなく、インスタンス化されたメモリ上オブジェクトではない
Unityゲームオブジェクトやプレハブのインスタンス化は、Unity内部様式向けにシリアライズされた型と初期値の定義の情報に基づいて「デシリアライズ」することで行われる
あと日本語の解説ページは分かりにくい

さらにあと「スナップショット」は通常、システム全体の一時的状態を指すから、システムの構成要素(プレハブ)に使うのはニュアンスがずれてる

295 :名前は開発中のものです。:2018/08/03(金) 17:53:09.72 ID:s8alTO1O.net
>>293
if文の最後にセミコロンあるよね。
それをまず消してみて。

296 :名前は開発中のものです。:2018/08/03(金) 17:54:46.53 ID:XE8vIJkM.net
消しました。特に変化なしです

297 :名前は開発中のものです。:2018/08/03(金) 17:56:40.41 ID:s8alTO1O.net
>>294
俺もそれ思った。スナップショットだとvmを思い浮かべてしまうわ。
ストレージの技術感のが高いよな

298 :名前は開発中のものです。:2018/08/03(金) 19:05:27.40 ID:Tb6IvIdd.net
>>290
Debug.Log (collision.gameobject.name);
で、何が表示されるか?

299 :名前は開発中のものです。:2018/08/03(金) 19:12:48.91 ID:Tb6IvIdd.net
>>290
if( (collision.gameobject.name =="Perfect")&&(Input.GetKeyDown(KeyCode.LeftShift)))
{
Destroy(gameobject);
}
こうかな?

300 :名前は開発中のものです。:2018/08/03(金) 20:24:49.31 ID:XE8vIJkM.net
>>299 単純にDebug.Log (collision.gameobject.name); を空のスクリプトに打てばいいんすかね?
いただいたプログラム打ちましたが駄目でした、、一応全文載せてみます
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class judgePerfect : MonoBehaviour
{

void Update()
{
if ((collision.gameobject.name == "Perfect") && (Input.GetKeyDown(KeyCode.LeftShift)))
{
Destroy(gameobject);
}
}
}

301 :名前は開発中のものです。:2018/08/03(金) 20:25:58.25 ID:BofVo0Am.net
gameObjectじゃないの?

302 :名前は開発中のものです。:2018/08/03(金) 20:28:13.30 ID:Tb6IvIdd.net
>>300
>>>299 単純にDebug.Log (collision.gameobject.name); を空のスクリプトに打てばいいんすかね?
で、これで表示された内容は?

303 :名前は開発中のものです。:2018/08/03(金) 20:33:47.70 ID:Tb6IvIdd.net
>>301
これですね。

304 :名前は開発中のものです。:2018/08/03(金) 20:38:06.67 ID:XE8vIJkM.net
このプログラムに関する項目じゃないオブジェクトの詳細のようなものが追加されました

305 :名前は開発中のものです。:2018/08/03(金) 20:46:54.61 ID:BofVo0Am.net
collisionが唐突にでてきてるけど根本的に間違ってるんじゃね
OnCollisionEnterもつかってないし

306 :名前は開発中のものです。:2018/08/03(金) 20:56:53.50 ID:g4hffkLt.net
>>294
プレハブが型と初期値の定義なんてどこに書いてあるよwww日本語と英語には書いてないから、あとは俺が読めない韓国語か?
gameObjectとコンポーネントのSerialized dataだって書いてあんだろ。

307 :名前は開発中のものです。:2018/08/03(金) 21:11:35.02 ID:g4hffkLt.net
>>305
俺もそれ思った。

308 :名前は開発中のものです。:2018/08/03(金) 21:13:54.44 ID:y6ZFjsSR.net
ohiohiまた威勢のいい○○が沸いてきやがった
すぐ韓国とか言い出す糖質ッぷりには失笑を禁じえないな

>Serialized data
そのdataの中身は何なんだ?噛み砕いて言ってみろ、二等兵見習い

309 :名前は開発中のものです。:2018/08/03(金) 21:57:13.06 ID:g4hffkLt.net
>>308
シリアライズされたデータだろ。プレハブには複数のゲームオブジェクト、複数のコンポーネントがシリアライズされて保存されてる訳だけど、型って何?

310 :名前は開発中のものです。:2018/08/03(金) 22:40:26.78 ID:y6ZFjsSR.net
>ゲームオブジェクト
>コンポーネント

これらはとどのつまりはクラス。
クラスとは何か?

311 :名前は開発中のものです。:2018/08/03(金) 23:17:18.29 ID:5oCXpdg6.net
アプデしたらいつも調子悪くなる

312 :名前は開発中のものです。:2018/08/04(土) 04:54:34.40 ID:nYTIxyUA.net
基本的にゲームプログラミングでは
シーン内で生み出す敵とか大抵配列に入れ込んで管理しますよね?
for文でその配列の要素回して抜き出したり。

でもUnityの2Dシューティングとかのチュートリアルを確認してみると
次々と生み出された敵を配列に入れ込む処理が見当たりませんが
これ、個々のオブジェクトの把握はどうやってるんですか?

313 :名前は開発中のものです。:2018/08/04(土) 05:19:51.58 ID:uwGBYqQ5.net
>>310
なるほど、型か!ってなんねーよww
シリアライズって意味わかってんの?クラスを保存じゃなくてインスタンスを保存だろ。
ヒエラルキー上のインスタンス群をシリアライズして保存するんだから、どちみちハズレなのよ。

314 :名前は開発中のものです。:2018/08/04(土) 06:49:36.83 ID:jfygBgbK.net
おまえら日本語で話せよ

315 :名前は開発中のものです。:2018/08/04(土) 07:35:21.25 ID:uwGBYqQ5.net
>>312
7.2は読んだか?

316 :名前は開発中のものです。:2018/08/04(土) 09:43:45.62 ID:8h4ounWr.net
>>313
わかったわかった
お前の人生は大ハズレだな

インスタンスについて基本的な理解が不足してるぞ
ヒエラル木も結局は型定義と初期値に関するシリアライズされたデータの集まりで、プレビュー時や実行時に初めてインスタンス化されてるんだよ

317 :名前は開発中のものです。:2018/08/04(土) 10:32:45.75 ID:uwGBYqQ5.net
>>316
プレハブの話だよ、ヒエラルキーからゲームオブジェクトをドラッグしてプレハブ作成した時点でヒエラルキー上のはプレハブインスタンスになるだろ。
そしてプロジェクトビューのプレハブ自身はヒエラルキー上のプレハブインスタンスがデシリアライズされる前のデータ、プレハブソース。
このプレハブソースを型だったて言い張るのは無理があると言う話だ。だからどんな意味で型と言ってるか聞いたんだ。雛形って意味なら俺も納得。

318 :名前は開発中のものです。:2018/08/04(土) 10:36:45.24 ID:uwGBYqQ5.net
>>317
あ、ヒエラルキー上のプレハブインスタンスはソースと変更の参照でOOPで言うインスタンスじゃないのはわかってるから。

319 :名前は開発中のものです。:2018/08/04(土) 10:41:25.18 ID:uwGBYqQ5.net
>>317
>そしてプロジェクトビューのプレハブ自身はヒエラルキー上のプレハブインスタンスがデシリアライズされる前のデータ、プレハブソース。

ヒエラルキー上のプレハブインスタンスが、実行時やプレビュー時にデシアライズ、と付け加えとく

320 :名前は開発中のものです。:2018/08/04(土) 10:55:45.37 ID:8h4ounWr.net
>ヒエラル木
デバッグ時にはモニタできるから、「シリアライズされた初期値およびデバッグ実行時の現在値」という表現が良いのか

しかしなぜ「シリアライズ」という言葉を使うんだろうか
ヒエラル木を構成する連続した要素の一つに組み込むという意味なのか

321 :名前は開発中のものです。:2018/08/04(土) 11:19:34.99 ID:qIP9aSz0.net
>>320
お前ら何でプレファブの中身見て見ないの?
YAMLで書かれたファイルだって一発で分かるだろ、つまりシリアライズされて保存されてるファイルって事だよ。
一方ヒエラルキーに見えてるのもファイル。
再生実行した時だけ、メモリに展開されてる。
わかった?

322 :名前は開発中のものです。:2018/08/04(土) 13:22:29.52 ID:8h4ounWr.net
1000回日本語文章読んでもバカには無理w

323 :名前は開発中のものです。:2018/08/04(土) 13:36:44.18 ID:ASd5/j6X.net
>>321
へー、ヒエラルキーに表示されているのはシーン上のオブジェクトのリストじゃなくてファイルなんだぁ。
ファイルシステムのどこにそのファイルがありますか?またシーンビューで編集しているときはメモリ上にはなくてディスク上にあるんですか?
公式のマニュアルとは違う説明で混乱しそうです。

324 :名前は開発中のものです。:2018/08/04(土) 13:52:20.56 ID:qIP9aSz0.net
>>323
右上のケバDebugにするとLocalIdentifierInfileってでてくんだろ。
隠蔽されてるが、あるんだよ。それアクセスされると色々ぶっこわれるからな。

325 :弟子 :2018/08/04(土) 13:55:14.77 ID:+VI6JuUR.net
初心者スレでマウント取りたいのは分かるから巣に帰って
ちゃんと新しいの作ったからさ
【3Dゲームエンジン】Unity質問スレッド37
http://mevius.5ch.net/test/read.cgi/gamedev/1533351108/

326 :名前は開発中のものです。:2018/08/04(土) 14:04:46.49 ID:qIP9aSz0.net
初心者に分かるように言ってんじゃん。
紙パンツスレ飽きちゃったんか?あっちで吠えてろよ

327 :名前は開発中のものです。:2018/08/04(土) 14:29:50.67 ID:jfygBgbK.net
おまえらの話は誰にも通じてないし役にもたってないぞ

328 :弟子 :2018/08/04(土) 14:41:43.17 ID:+VI6JuUR.net
>>326
YAMLとは?
シリアライズとは?
ケバdeaugとは?

初心者なんでまったく訳わかんないですわ

329 :名前は開発中のものです。:2018/08/04(土) 14:43:13.78 ID:yHEIRFFR.net
>>324
それってシーンファイルに書いてある識別IDじゃない。んでシーンを保存するまで0だよ。保存する前のヒエラルキーはどう説明するのさ。

330 :名前は開発中のものです。:2018/08/04(土) 14:45:18.52 ID:yHEIRFFR.net
>>328
初心者スレで聞いてみれば。

331 :名前は開発中のものです。:2018/08/04(土) 14:50:04.55 ID:cpg8UDOV.net
>>328
知らなくても作れるけどな。

332 :名前は開発中のものです。:2018/08/04(土) 15:05:56.25 ID:qIP9aSz0.net
>>329
Editorがシーン用にDBを構築してるって事なんだよ。隠蔽って書いただろ。
シーンの中見たなら、ある程度シリアライズされてる内容見えただろ。でも全てじゃないのは分かったはずだ。

未保存がメモリで動く訳ないだろ。実行前に必ず保存されてるわ。
保存前のヒエラルキーは見た目だよ、ドラフト扱いな。
もう少しEditorとUnityEngineの違い分かった方がいいな。

333 :THE・シンプル先生:2018/08/04(土) 15:07:18.36 ID:KOItUBKr.net
>>312
自分で工夫する事で昔の「main()ループ」に近い物が作れる。

@:空のゲームオブジェクト(Empty)を適当な位置に作る。名前は仮に"GameMain"としておく。
A:次に適当な場所に"GameMain.cs"と仮の名前でC#スクリプトを作る。
B:Aを@にアタッチ
C:Aの中にprivate属性などGameObject型の動的配列の"元だけ"を宣言 → 例:GameObject[] Enemy;
D:Aの"start()"などで実際に必要な数の配列を作成 → 例:Enemy = new GameObject[3];
E:"GameObject.Find("※オブジェクト名").gameObjectを使い、先程作成した配列にシーン上のGameObjectを関連付けていく → 例:GameObject[0] = GameObject.Find("Enemy0").gameObject;
F:後はGameObject[0]を使う

当然他のやり方も無数にある。

334 :THE・ステップアップ先生:2018/08/04(土) 15:19:06.70 ID:KOItUBKr.net
>>312
次の内容はおまけなので意味不明な場合は気にしなくていいよ。

ソース上でのオブジェクトの管理のしやすさはメモリー使用量に反比例する。
今までのやり方(main()ループのやり方)だと扱いたいオブジェクトを最初に配列に全て格納するのでそれだけ沢山メモリーを占有し続けることになる。
旧型のゲームを作る場合はこのやり方でも問題ないし今でもこっちの方が扱いやすい場面が多々ある。
とくに小規模ゲームの場合はこっちのやり方で全然いいと思う。

じゃあUnityがこの古き「main()ループ」のやり方になっていないのは何故かというと
中〜大規模のゲーム作成も想定して作られてるのもあると思う。
この規模になると次の事を実現しないといけない。
・必要な場面にだけメモリだけを使いこまめに確保と解放を繰り返す節約型モデル
・もともと非常に重い3D物理演算を実用レベルで運用する
・もともと複雑で重い3Dの当たり判定処理(コリジョン)をプログラマが手軽に扱えるようにする
これの実現でメモリー制約の厳しいスマホで苦労せずに3Dゲームを作れたり
MMOやオープンワールド系のゲームを作れるポテンシャルを実現している。

FCマリオやテトリス作るなら"main()ループ型"でいいけど、モンスターハンター作るなら"main()ループ型"では死ねるよという感じ。
実際に何かを作ってみると分かるが当たり判定(コリジョン)は"main()ループ型"で回して中でいちいち判定するより
オブジェクト1つ1つにC#スクリプト埋め込んで当たった時に勝手に「当たったよ!」とイベント通知してきてくれる方が100%楽。

余談だが、UnityやVisualStudioのようなGUIでモデルを配置できるエディッタ時代ではなく、コマンドプロンプト時代のCUI時代にソースで扱っていたクラスのカプセルの概念、あれをビジュアル的にも再現できている今のUnityのモデルだとも感じてる。
今のUnityのやり方が、昔に目指されていたオブジェクト指向プログラミングの1つの完成形・理想形なんじゃないかと思う。
アセットの概念なんかはまさにオブジェクト指向プログラミングのカプセル可の恩賜だと思うよ。

335 :弟子 :2018/08/04(土) 16:23:58.28 ID:+VI6JuUR.net
>>330
それはどこですか?
誘導お願いします 
ここは、そういうスレなので教えてください

総レス数 1001
330 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200