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

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
230
(3): 2020/04/22(水)11:29 ID:VQM8R+FC(1/3) AAS
プレハブについての質問です。
すでに存在するオブジェクトに子としてプレハブを複製しようとしたときの座標がうまく設定できません。
スクリプトではこんな感じ記載しています
------------
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をローカル座標として設定したい状態です。
231
(1): 2020/04/22(水)13:03 ID:UU/VXGyk(1) AAS
>>230
最後のlocal posで、100じゃなくて、0.0.0でいいんじ「ないの?
232: 2020/04/22(水)13:10 ID:VQM8R+FC(2/3) AAS
>>231
最後のlocalPosition の位置に設定をしたいのですがワールド座標の原点に設定されてしまう状態です
233
(1): 2020/04/22(水)13:29 ID:sLe2iYSZ(3/3) AAS
>>230
Instantiate(obj, parent.position + new Vector3(1.0f, 1.0f, 0.0f);, Quaternion.identity, parent);
234: 2020/04/22(水)13:36 ID:KbfCVKCs(3/4) AAS
>>228
説明で全くピンとこなかったのですが
実際UNITYで試してみて言葉の意味がようやく理解できました
「スクリプトをアタッチした時点での初期値」
ほんとそのとおりですね 複製するときに使えそうです
ありがとうございます!
235
(2): 弟子 ◆rZPPjYuxmQ 2020/04/22(水)13:37 ID:kYRnjPG5(1) AAS
>>225
画像リンク

まずこれがオブジェクトにスクリプトをアタッチし、public変数に設定した例

画像リンク

こちらがProject欄にあるスクリプトのPublic変数、ここへは「シーン上」のオブジェクトは設定できない

画像リンク

こちらが同じスクリプトにPrefabを設定した例、Prefabなら設定できる

まずpublic変数は外部からの設定が出来る変数で、シーンのobjectにアタッチすれば、インスペクタで設定できる。
prefabというのは特殊なオブジェクト。これはシーン上に即反映できるものでシーンに無いスクリプトにもアタッチできる。
という事。
違いは、シーン上にあるものか、そうでないか。シーン上のobjectはProject欄には置けないですうよね?
それがPrefabという事。Prefabの詳細については、公式の説明参照で。

>>230
公式の説明見ると分かると思うけど
外部リンク[html]:docs.unity3d.com
(2番目の例が分かりやすい)

Instantiateは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);
この場合、「obj 」はResourcesにあるObjectで、Instantiateで生成した物ではないです
だからobj.transform.localPositionをしても意味が無い。
公式の例のように返りを指定して
clone = Instantiate(projectile, transform.position, transform.rotation);
それの値をいじります。
clone.velocity = transfor…
236: 2020/04/22(水)13:54 ID:KbfCVKCs(4/4) AAS
>>235
詳しい解説ありがとうございます!
参考にして理解を深めたいと思います
237: 2020/04/22(水)13:54 ID:NXwZj8K9(1) AAS
タッチの差だったな
238: 2020/04/22(水)14:37 ID:VQM8R+FC(3/3) AAS
>>233
>>235
返答ありがとうございます。
ローカル座標への設定ができました。ありがとうございます。
239: 2020/04/22(水)14:44 ID:Fjzhn+DL(1) AAS
サイズが100メガ越えちゃってアップロードできないので
一部のシーンを自サーバに置こうと思うんですが
どうやればいいのでしょうか
240: 2020/04/22(水)17:24 ID:v683vmMZ(1) AAS
無料のFBX Exporterって無くなったんですか?
241: 2020/04/22(水)17:54 ID:fzmr7DOF(1) AAS
ゲーム作ってる場合じゃない!

242
(1): 2020/04/23(木)18:03 ID:h7v1P4FQ(1/2) AAS
関数名には、スペースと頭を数字にしてはいけないというのを知ったのですが、
「-」短いハイフンを含めても問題ないのでしょうか?
後で不具合が起こることはないでしょうか?
243: くまじょ 2020/04/23(木)18:36 ID:mFtLrFD8(1) AAS
>>242
しては行けないというか
できるの?
244: 2020/04/23(木)19:54 ID:VZYcAFmQ(1) AAS
エディタに怒られる
245: 2020/04/23(木)22:11 ID:B+z5addE(1) AAS
Unityが壊れた
AndroidのBild settingのplayerの項目が表示されなくなった
最初は表示されていたのに項目の入力中におかしくなってそれっきり
心当たりがあるとすれば入力中にIMEの入力切り替えがおかしくなって半角入力できなくなっていたことくらい

別のプロジェクトファイルを開いても同じ不具合と同じエラーメッセージが出るからunityのファイルが壊れたのか
一旦アンインストールしてから入れ直した方がいいのかなあ
それとも新バージョンを上書きしていいのか
検索したらELT版?インストールで解決したという話が出てきたけど
二本同時に完成する直前にこれだよ泣きそう
246
(1): 2020/04/23(木)22:40 ID:YqrHMQSi(1/3) AAS
基本的な操作がわからないのでしつもんさせてください
関数とかif文とかのカッコ } 
がよく変な位置に行ってしまいます。(うっかり無駄にエンター押したりしてしまう)
DELETEキー長押しでカーソル位置まで動かして戻してるのですが
スマートに戻す方法とかもしありましたら教えてくださいm(_ _)m
247: 2020/04/23(木)22:47 ID:h7v1P4FQ(2/2) AAS
アニメーションクリップが複数あるオブジェクトを非表示から表示に切り替えた時に
特定のアニメーションクリップから始めることはスクリプトで出来るでしょうか?
248: 2020/04/23(木)22:51 ID:KKg8jFzb(1) AAS
>>246
変な位置って具体的にどうなってて理想はどういう風にしたいの
visual studio使ってるんだったら設定いじるかフォーマットの拡張好きなの何か入れるとか
249: 2020/04/23(木)23:16 ID:YqrHMQSi(2/3) AAS
具体的に言うとよくこんな感じになってしまいます

if(a==0){ 処理

}

この2パターンが理想です(場合によって使い分けています)
if(a==0){ 処理 }

if(a==1){
処理
}

設定どこをいじればいいんでしょうか?
250: 2020/04/23(木)23:20 ID:YqrHMQSi(3/3) AAS
間違えました

この2パターンが理想です(場合によって使い分けています)
if(a==0){ 処理 }

if(a==1){
スペース 処理
スペース }
251
(1): 2020/04/24(金)02:47 ID:kDHtLuLX(1/2) AAS
プロジェクト内のフォルダを誤って消してしまい、ゴミ箱から元に戻してもscriptがエラーから戻らない場合は復元出来ないのでしょうか……?
252: 2020/04/24(金)02:48 ID:kDHtLuLX(2/2) AAS
拙い文ですみません、試してみて?という感じのアドバイスで良いのでお願いします…
253: 2020/04/24(金)03:32 ID:Yn/wujOk(1/2) AAS
submesh単位で分割する方法ないですかね...
外部リンク:onoty3d.hatenablog.com
このスクリプトだとエラーが出て分割できません
254: 2020/04/24(金)03:52 ID:Yn/wujOk(2/2) AAS
自己解決
255
(1): 2020/04/24(金)07:49 ID:mqgYLk8R(1/2) AAS
>>251
裏で作ってるファイルがあるから、それだけでは何とも。エラーをみながらコツコツと直すしかない。
私だけかもしれんが。
256
(1): 2020/04/24(金)13:11 ID:TSbisyMR(1) AAS
1日の作業が終わったらプロジェクトフォルダごとバックアップ
NASなんかに保存するのが最高だけど
下手すると年単位の苦労が消し飛ぶから考えた方が良いよ
257
(1): 2020/04/24(金)13:39 ID:e94QvqHL(1) AAS
自分も一日の終わりにプロジェクトフォルダごとバックアップしてる
Zip圧縮したファイル名の末尾に日付を入れて一定期間保存
大きな変更を加える直前のフォルダは長期保管してる
258: 2020/04/24(金)15:11 ID:9IIgbh3E(1/4) AAS
プレハブについての質問です

1つのプレハブに↓のようなスクリプトをセットして複製し動かそうとすると
複製したオブジェクトが1つしか動いてくれません
-------
public class prefabMoveScript : MonoBehaviour {

public static GameObject prefabObject;
public static int iNow, jNow;

public static void move()
{
//位置を乱数で変更
int iNum += Random.Range(-1, 1);
int jNum += Random.Range(-1, 1);
prefabObject.transform.localPosition = new Vector3(iNow , jNow , 0.0f);
}

// Use this for initialization
void Start () {
prefabObject = this.gameObject;

}
}
------
複製したプレハブそれぞれを別々の乱数で動作させたいのですがどのようにしたら良いでしょうか
259: 2020/04/24(金)15:29 ID:hbCzfYWk(1/2) AAS
staticじゃなくする
1-
あと 743 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.020s