■ このスレッドは過去ログ倉庫に格納されています
【ゲームエンジン】Unityなんでも質問スレpart5
- 1 :名前は開発中のものです。:2021/08/27(金) 19:13:24.68 ID:p8CMd57b.net
- フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他
■注意事項
特になし
■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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
前スレ
【ゲームエンジン】Unityなんでも質問スレpart4
https://mevius.5ch.net/test/read.cgi/gamedev/1619223275/
- 37 :名前は開発中のものです。:2021/09/02(木) 04:21:37.07 ID:6ItE3Go+.net
- Space押したのに弾出ないと思ったら日本語じゃダメなのか...
- 38 :名前は開発中のものです。:2021/09/02(木) 08:02:02.11 ID:QRjL/PRZ.net
- >>36
増減値が逆なんだろ。
- 39 :名前は開発中のものです。:2021/09/02(木) 12:11:23.44 ID:8EDFDo/6.net
- パッドの十字キーだけ逆らしいぞ
- 40 :名前は開発中のものです。:2021/09/02(木) 18:04:55.44 ID:De9iV2yN.net
- クソゲー作るぞ!
- 41 :名前は開発中のものです。:2021/09/02(木) 18:37:24.14 ID:fFLzG+vu.net
- スクリプトを作る際ってコピペしちゃってもいいんですか?
それとも一回じぶんで全部打ち込んだ方がいいのかな
- 42 :名前は開発中のものです。:2021/09/02(木) 18:41:17.74 ID:MzTWK1s2.net
- ベーマガかよw
- 43 :名前は開発中のものです。:2021/09/02(木) 18:57:15.45 ID:X8IQsmrz.net
- え?書籍とか見ながら自分で打ち込むだろ最初は。
そのうちコピペしかしなくなるけど
- 44 :名前は開発中のものです。:2021/09/02(木) 21:03:30.04 ID:MzTWK1s2.net
- >>43
コピペしちゃっても、からの、自分で打ち込んで、って言ってるからデジタル書籍の扱いをどうするかでしょ。
- 45 :名前は開発中のものです。:2021/09/03(金) 04:48:56.84 ID:LGIFZOLo.net
- >>34
そうだったですか、ただ今回はFloatを渡しているので、あまり関係はないかも知れませんよね。
>>35
アドバイスの方有り難うございます。
ビルトインインシェーダ関数の_WorldSpaceCameraPosを使っても、結果は一緒でした。
C#で渡していたのもカメラのワールド座標だったので、多分同じことをしているのだと思います。
何か解決策はないでしょうか・・・
- 46 :名前は開発中のものです。:2021/09/03(金) 07:56:06.02 ID:bay2tjkn.net
- メッシュ描画したいならdrawmeshじゃダメなん?
- 47 :名前は開発中のものです。:2021/09/03(金) 14:37:44.36 ID:6loRjXu+.net
- シェーダーの書き方が間違ってるのに、コードもなしにどうしてでしょうかって言われてもw
- 48 :名前は開発中のものです。:2021/09/03(金) 18:31:33.35 ID:LGIFZOLo.net
- >>47 描画用シェーダだけだと、今は最もプリミティブなものを作っているのでこんな感じです。
vs_out vert (uint id : SV_VERTEXID)
{
Out.pos = float4(float3(tubeBuffer[id]), 1);
return Out;
}
[maxvertexcount(128)]
void geom (point vs_out input[1], inout TriangleStream<gs_out> outStream)
{
gs_out o;
float4 pos = input[0].pos;
o.pos = pos;
outStream.Append(o);
}
fixed4 frag (gs_out In) : COLOR
{
return _Color;
}
- 49 :名前は開発中のものです。:2021/09/03(金) 18:34:05.75 ID:LGIFZOLo.net
- 計算は、コンピュートシェーダーでやっています。
_Origin_x, _Origin_y, _Origin_z
は、予めC#の方で計算しておいた、カメラのワールド座標とベクトルから求めた、カメラから一定の距離にある、カメラ正面の座標です。
[numthreads(64,1,1)]
void tubeAl (uint id : SV_DispatchThreadID)
{
float3 position;
for (int i = 0; i < 16; i++)
{
float radius = 1.0 + (0.5 * i);
for(int j = 0; j < 7 + (6 * i); j++)
{
float a = radius * cos(j * 0.785 * (1 / (i + 1 )));
float b = radius * sin(j * 0.785 * (1 / (i + 1 )));
position.x = a + _Origin_x;
position.y = b + _Origin_y;
position.z = _Origin_z;
}
}
tubeBuffer[id] = position;
}
- 50 :名前は開発中のものです。:2021/09/03(金) 18:37:08.93 ID:LGIFZOLo.net
- 法線等考慮していないので、もし形成できたとしてもカメラに向かって円状にはなりませんが、
今はとにかくカメラの移動に伴ってメッシュが生成されていけば
- 51 :名前は開発中のものです。:2021/09/03(金) 18:38:05.81 ID:LGIFZOLo.net
- OK、という段階です。
C#の方は、多分問題なくコンピュートシェーダーの初期化、バッファの宣言、初期化、ディスパッチや描画命令等出来ていると思います。
- 52 :名前は開発中のものです。:2021/09/03(金) 18:45:02.87 ID:LGIFZOLo.net
- あとフラグメントシェーダですが、シェーダのプロパティで
Properties{
_Color ("Color", Color) = (1,1,1,1)
}
を差し当たり直に設定しています。
- 53 :名前は開発中のものです。:2021/09/03(金) 19:08:19.48 ID:bay2tjkn.net
- コンピュートシェーダとか専門的なことはわからんけどメッシュの描画はdrawmeshでやって
シェーダーの処理はマテリアルで渡してあげたらダメなの?
そっちの方がカメラの位置とかやりやすいんじゃね
しらんけど
- 54 :名前は開発中のものです。:2021/09/03(金) 19:15:20.16 ID:LGIFZOLo.net
- >>53
そうですね、GPUベースでやってみたかったですし、できるはずだと思いますが、
大量のパーティクルと違ってそこまで処理も重くないでしょうから、C#の方でメッシュ形成した方が、結局は早いかも知れませんね。
- 55 :名前は開発中のものです。:2021/09/03(金) 19:47:31.54 ID:Sst/B9Re.net
- Unityを日々勉強していて、何故、学生時代にいろんな小説や歴史を読んだり
数学や物理学をもっとしっかり学ばなかったんだろうと涙が溢れ出た
後悔先に立たず
- 56 :名前は開発中のものです。:2021/09/03(金) 21:28:51.62 ID:bay2tjkn.net
- >>54
多分知ってると思うけど、DrawMeshInstancedだとバッチング減らせるらしいよ
- 57 :名前は開発中のものです。:2021/09/03(金) 22:49:56.20 ID:6loRjXu+.net
- float3 worldPos = UnityObjectToClipPos(float4(v.vertex.xyz, 1) + float4( ( _WorldSpaceCameraPos.xy) , 0 , 0) ).xyz;
o.vertex = float4(worldPos, 1) ;
コンピュート抜きに常にカメラど真ん中に表示されるオブジェクトをシェーダーで描くならこれでできたけど
シェーダー入れてるオブジェクトのワールドZが999じゃないといけなかったり、カメラ回転すると外れたりする。
もっと複雑な計算が必要な印象。ググっても出てこないのでわからない。
カメラにオブジェクトを親子付して、カメラが動くとシェーダーを更新するスクリプト書いた方が早そう
- 58 :名前は開発中のものです。:2021/09/04(土) 08:12:11.34 ID:mpxWyr/l.net
- >>56
そんなんですか、情報ありがとうございます!
>>57
わざわざ実装まで試みて頂いてありがとうございます。
ビルトインシェーダ関数をそのように使った場合、カメラの座標が、例えば正面に進んだとして、
新しく形成されていますか?
もし良かったら、ジオメトリシェーダ部分を参考にさせて頂けませんか?
あとはビルトインシェーダ関数でなく、カメラにアタッチしたスクリプトから取ってきた座標は、カメラの現在座標と向いている方向とを計算した結果なので、
回転の問題は軽減されそうな気がします。
- 59 :名前は開発中のものです。:2021/09/04(土) 08:17:56.83 ID:mpxWyr/l.net
- 貼っていただいた実装も試みたのですが、最初の1フレームに描写されるだけで、
カメラの座標を変えても、新しくメッシュが形成されないのです。
- 60 :名前は開発中のものです。:2021/09/04(土) 08:34:02.52 ID:mpxWyr/l.net
- [maxvertexcount(128)]
void geom (point v2g input[1], inout TriangleStream<g2f> outStream)
{
g2f o;
UNITY_INITIALIZE_OUTPUT(g2f, o);
float4 pos = input[0].vertex;
for (int i = 0; i < 16; i++)
{
float radius = 1.0 + (0.5 * i);
for(int j = 0; j < 6 + (6 * i); j++)
{
float a = radius * cos(j * 0.785 * (1 / (i + 1 )));
float b = radius * sin(j * 0.785 * (1 / (i + 1 )));
pos.x = a + pos.x ;
pos.y = b + pos.y;
pos.z = SimplexNoise(pos.z);
o.pos = UnityObjectToClipPos(pos);
//o[i].col = input[0].colWorld;
outStream.Append(o);
}
}
}
今だとこんな感じです。
特にRestartStripしていません。
- 61 :名前は開発中のものです。:2021/09/04(土) 13:00:35.84 ID:uilkUsx1.net
- いきなり失礼します
超初心者なのですが
if (Input.GetMouseButton(0))
{
○○○○
}
だとマウスのボタンを押してるときに○○○○を実行すると思うのですが、ボタンを押してないときに○○○○を実行したときはどういう風に書いたらいいでしょうか…?
- 62 :名前は開発中のものです。:2021/09/04(土) 13:16:31.62 ID:4s/Kvr8z.net
- InputGetButtonUpか
毎フレーム行われていいならelseでよいのでは
- 63 :名前は開発中のものです。:2021/09/04(土) 13:22:23.54 ID:uilkUsx1.net
- >>62
ありがとうございます
やってみます
- 64 :名前は開発中のものです。:2021/09/04(土) 14:15:39.51 ID:KuP8pcA2.net
- >>60
UnityObjectToClipPosはv2g vert(appdata v)?内に書かないといけない
- 65 :名前は開発中のものです。:2021/09/04(土) 17:50:05.06 ID:9nO9+S2f.net
- ゲームマネージャーの仕組みがわからないよぉ
- 66 :名前は開発中のものです。:2021/09/05(日) 03:41:25.98 ID:UhGmA0IN.net
- >>64
ありがとうございます。
頂点シェーダの方に書きましたが、結果的には望んだ結果が出せませんでした。
しばらく寝かせておきます。
アドバイスくださった方々ありがとうございました。
- 67 :名前は開発中のものです。:2021/09/05(日) 09:41:33.52 ID:RWBX860i.net
- 質問します
今Androidアプリを作ってていよいよストアに申請しようという段になりました
ここで必要になるのがアプリのアイコン画像やフィーチャー画像ということになります
これらの画像を作る時ゲーム中のスクリーンショットを使いたいのですが
unityのアセットってスクリーンショット化をしてストアで使っていいものなのでしょうか?
- 68 :名前は開発中のものです。:2021/09/05(日) 14:26:13.10 ID:RWBX860i.net
- 質問です
今Androidアプリのビルドをしててapi level30にしてビルドするのに手間取っています
本アプリでAndroid SDKのアップデートがうまく行かないので空のプロジェクトで
実験することにしました
空のプロジェクトでビルドをAndroidに変えてターゲットAPIを30にしてビルドしました
そうしたら「sdkをアップデートしますか?」というダイアログが出てきて
okを押したところ次のようなエラーで終了してしまいました
https://i.imgur.com/UgYyWP3.png
Android sdkを30にアップデートする簡単な方法はないでしょうか?
Android studioを今はインストールしていません
- 69 :名前は開発中のものです。:2021/09/05(日) 15:24:31.35 ID:RWBX860i.net
- >>68
これは自己解決しました
結局Android studioをインストールしました
横着したらダメですね
- 70 :名前は開発中のものです。:2021/09/05(日) 15:30:01.99 ID:ryvtC8Yy.net
- 質問です
GameObject A = 「○○の範囲にあるオブジェクト」
としたいとき、「」の中はどういう風に表現したらよいでしょうか?
- 71 :名前は開発中のものです。:2021/09/05(日) 15:47:00.77 ID:RWBX860i.net
- >>70
https://docs.unity3d.com/jp/current/ScriptReference/Physics.OverlapBox.html
戻り値違うけど
- 72 :名前は開発中のものです。:2021/09/05(日) 17:07:53.16 ID:BHbWJBb7.net
- VROID→Blender(cats処理後改造してfbx)→Unity(vrm化済み)に持ち込んだヒューマイノイドタイプのオブジェクトの質問です
シーンには上記のヒューマノイドと地面のplaneオブジェクトだけです
ヒューマノイドの足を短くすると宙に浮きます
そこでヒューマノイドのポジションのY軸を調整して接地させてみましたが、シーンビューでは接地しててもゲームプレイ画面では浮いてしまいます。
試しにplaneのポジションを上げて接地させてみましたが、やはりゲームプレイ画面では浮きます。
どうすれば接地させることができるのでしょうか?
ググってみると導入モデルのInspectorのConfigureからHipsボーン(ルートボーン)のポジションを変える解決法が乗っていますが
なぜか当方のプロジェクトでは導入したモデルvrmが喪失しておりいじることができません
いままで行った処理は
・fbxのヒューマノイド設定やマテリアル・シェーダー指定でvrm出力後、vrm読み込みしシェイプシフター設定
・ダイナミックボーンによる髪の毛やスカート揺れ設定
・メッシュスプリッターでメッシュをマテリアルごとに
・マジカメッシュクロスで2重スカートのクロス設定
・足を含むAmatureのサイズ変更
以上となります
- 73 :名前は開発中のものです。:2021/09/05(日) 18:46:21.26 ID:AW+7mbmL.net
- 同じシーンテンプレートから作成したシーンの一つに変更を加えると、その他のシーンにも反映されてしまうのですが、これは仕様でしょうか?
他のシーンには反映されないようにする方法も教えて頂けると嬉しいです。
- 74 :名前は開発中のものです。:2021/09/05(日) 19:21:02.97 ID:CbOnRBVt.net
- オープンワールドゲームみたいな広大なマップを作るとき
ヒエラルキーがものすごい数になって分かりにくくなるんですが
これは頑張って管理しないといけないんでしょうか
- 75 :名前は開発中のものです。:2021/09/05(日) 19:45:36.34 ID:rNGz2Hxf.net
- >>74
地形はTerrain以下に子オブジェクトとして紐づければ
それで町とか
カメラ
プレイヤーとかで区切ってべつべつにかんりすればすっきり
- 76 :名前は開発中のものです。:2021/09/05(日) 20:12:23.35 ID:mOtP5aKb.net
- >>68
コンソールからAPIー30取って来て使ってるUnityバージョンのAndroidengineフォルダのプラットフォームフォルダに置けば通せるよ
- 77 :名前は開発中のものです。:2021/09/05(日) 20:54:58.88 ID:RWBX860i.net
- >>76
ありがとうございます
Android studioでインストールしました
- 78 :名前は開発中のものです。:2021/09/06(月) 01:16:26.89 ID:xpf1Rk4L.net
- >>75
ありがとう
なるほど子オブジェクトにして管理ですか
- 79 :名前は開発中のものです。:2021/09/06(月) 11:29:48.52 ID:o0Omy+ef.net
- >>74
広大なマップ全部初めからインスタンスなのか?
スゲーメモリ食いそう
- 80 :名前は開発中のものです。:2021/09/06(月) 14:11:27.63 ID:Lkt7e4IY.net
- ある程度の位置に来たらシーン合成とかで管理すれば
- 81 :名前は開発中のものです。:2021/09/06(月) 18:13:35.33 ID:tj7E+ylM.net
- ひどく初歩的な質問で申し訳ありません
タイムラインでヒューマノイドオブジェクトをMixamoでダウンロードしたwalkやrunのfbxを使って移動させるアニメーションを組みたいのですが、
ヒューマノイドオブジェクトがその場で足踏みして移動しません。
どうすれば移動させられますか?
- 82 :名前は開発中のものです。:2021/09/06(月) 19:07:16.20 ID:xpf1Rk4L.net
- >>79
最初から全部配置しといても
Unity様が良きに計らってくれる…
みたいなことしてくれないかな
- 83 :名前は開発中のものです。:2021/09/06(月) 19:11:44.81 ID:MV+9GB6N.net
- >>81
その説明では何とも。
記述できないなら、せめて動画でアップして。何かわかるかも。
- 84 :名前は開発中のものです。:2021/09/06(月) 22:00:30.40 ID:I2NTygQ0.net
- >>81
まずUnityのアニメーターのApply Root Motionを理解してからの方がいいかも
- 85 :名前は開発中のものです。:2021/09/07(火) 04:23:23.50 ID:p7zX6a/Y.net
- インスペクターにOnClickイベントが表示されないのですが解決法わかりますか?
- 86 :名前は開発中のものです。:2021/09/07(火) 04:34:25.32 ID:dhAJ3i3B.net
- すみません解決しました
- 87 :名前は開発中のものです。:2021/09/07(火) 11:43:03.68 ID:lngHOnsy.net
- >>30
絵やらデザイン系は右脳で
プログラミングはゴリゴリの左脳・計算脳だからな
- 88 :名前は開発中のものです。:2021/09/08(水) 05:13:48.17 ID:HhX017v4.net
- >>33
もう質問主も寝かせてる話なのかとは思うけど、これメッシュ生成し続けるって上限とかないの?
あってジオメトリシェーダー使うならテクスチャバッファにリングバッファ的にポジションCPUでかいてそれを元にジオメトリシェーダーでモニョモニョすればと思うました
- 89 :名前は開発中のものです。:2021/09/08(水) 19:49:20.75 ID:svnqeWoz.net
- ブログとかでUnityの解説してて分かりやすくて
その人が出してるアプリを見に行くと
DL数も少なくてとてもヒットしそうになくて
ちょっとびっくりということが結構あるな
ああいう人は受託で稼げてるから
アプリは自分の趣味に特化してるとかかな
- 90 :名前は開発中のものです。:2021/09/08(水) 20:32:19.47 ID:E9pnqJxx.net
- 仕事と趣味でしているのって違うよね
俺はちっともゲームは作れないけど一部分に関してはいろいろ頑張って理解できたので解説サイト作ってみたいと考えてしまう
もし俺がバリバリに現役売れっ子ゲームクリエイターなら解説なんて他方でやってられないとか手間のかかることうんざりだよ
たとえば仕事で通訳している現役バリバリ英語できるひとが只でゲーム開発を和訳してくれるわけがなく
英語わかんないやつが必死こいて翻訳してたりSNSで他人に教えてあげたりしている
そんな感じだよ
という俺の持論
- 91 :名前は開発中のものです。:2021/09/09(木) 07:33:02.20 ID:3HZ1vFNV.net
- プログラミング技術と面白いゲームを作る技術は全く別物じゃん。
ピアノ習ったら全員作曲家になれるの?って話。
- 92 :名前は開発中のものです。:2021/09/09(木) 08:40:16.07 ID:MK0Q4A21.net
- >>91
正論やな
- 93 :名前は開発中のものです。:2021/09/09(木) 13:15:36.11 ID:AdVsFyJh.net
- 気が強くてプログラミングでマウントしてくる職場の人が
個人で出してるゲームをプレイストアでダウンロードしたけど
微妙だった
- 94 :名前は開発中のものです。:2021/09/09(木) 13:29:43.60 ID:cgru5Bh9.net
- ゲームの面白さはプランナーの仕事だからな、プログラミングが凄くても面白さには比例しないし
ある程度ストレスなくプレイできるなって思われるだけで
- 95 :名前は開発中のものです。:2021/09/09(木) 13:33:03.93 ID:ZgyA5AvK.net
- そりゃそうだろ
プログラマーなんて建設現場の土方といっしょ
決して建築家にはなれない
- 96 :名前は開発中のものです。:2021/09/09(木) 13:55:42.26 ID:ljl/wd4k.net
- 最低でもプログラマーの常識、可能なら一端のプログラマーでないとシステムエンジニアにはなれんぞ
下を理解してないやつが上に立つことなどできない
将来エンジニアになりたいならプログラマーになることは俺は必要だし無駄ではないと思う
- 97 :名前は開発中のものです。:2021/09/09(木) 18:23:12.94 ID:3HZ1vFNV.net
- 無駄かどうかって話じゃなくね
- 98 :名前は開発中のものです。:2021/09/09(木) 18:37:04.68 ID:xAN09TPv.net
- プログラマーが建築家(エンジニア、デザイナー)になれないって言うからんなわけねーだろって言ってるだけだろ
- 99 :名前は開発中のものです。:2021/09/09(木) 18:37:08.72 ID:JOhyguQB.net
- 結局個人制作なら本人のセンスによるんだよな
職業がどうとかは関係ない
自称元ゲームプランナーの無職が作ったゲームが面白いとは限らないし
- 100 :名前は開発中のものです。:2021/09/09(木) 18:52:10.18 ID:YtpvGyxn.net
- >95は定義がいろいろ謎だな
プログラマをカースト最下級だと揶揄するのは分からなくはないが
肉体労働者はホワイトカラーになれない的なニュアンスなら
プログラマに関しては的外れじゃないかな?
どっかから連れてきた天下りの門外漢が管理職になっても
何もできない木偶にしかならんだろ
- 101 :名前は開発中のものです。:2021/09/09(木) 20:14:39.82 ID:RaqSITdl.net
- スクリプトA
public static class A
{
public struct B
{
public float c;
}
}
スクリプトD
public class D
{
void UpDate()
{
float e = A.B.c;
}
}
スクリプトDのeにスクリプトAのcを代入したいのですが、代入する行でcs0120のエラーが出てしまいます。
どうすれば代入出来ますか?
スクリプトAはGitHubから導入したスクリプトなので変えられません。
- 102 :名前は開発中のものです。:2021/09/09(木) 20:43:35.24 ID:jpCh8LST.net
- public static float c;
staticクラスの変数はstaticで宣言するとOK
- 103 :名前は開発中のものです。:2021/09/09(木) 20:50:13.07 ID:3HZ1vFNV.net
- スクリプトAは変更できないって前提では?
- 104 :名前は開発中のものです。:2021/09/09(木) 20:51:03.37 ID:jpCh8LST.net
- 変えればOK
- 105 :名前は開発中のものです。:2021/09/09(木) 20:51:38.82 ID:3HZ1vFNV.net
- 変えれないって前提では?
- 106 :名前は開発中のものです。:2021/09/09(木) 20:53:36.16 ID:xAN09TPv.net
- コントか?
- 107 :名前は開発中のものです。:2021/09/09(木) 21:00:18.91 ID:jpCh8LST.net
- 変えられないほど底辺ならインスタンス化すればOK
- 108 :名前は開発中のものです。:2021/09/09(木) 21:12:06.73 ID:7NvRTw1V.net
- インスタンスの無い変数の値を受け取れるわけ無い
宣言しているだけで存在しない変数なんだから
- 109 :名前は開発中のものです。:2021/09/09(木) 21:12:07.61 ID:RaqSITdl.net
- >>102
staticクラスの変数もstaticで宣言するのですね、ありがとうございます。
取り敢えず変えてみたらエラーは消えました。
また壁にぶち当たったら来ます。
- 110 :名前は開発中のものです。:2021/09/09(木) 21:17:06.41 ID:7NvRTw1V.net
- 変えられないとなると難しい
俺にはわからん
よく見るとAはスタティックなのか
でもBはインスタンスどうなっているんだ
- 111 :名前は開発中のものです。:2021/09/09(木) 23:14:57.48 ID:DkN/DjRB.net
- ユー、変えちゃいなよ!
- 112 :名前は開発中のものです。:2021/09/09(木) 23:46:24.62 ID:eBBeKhK/.net
- わざわざクラスや変数staticにせんでも
static関数作って値返せばいんじゃね
- 113 :名前は開発中のものです。:2021/09/09(木) 23:47:05.46 ID:eBBeKhK/.net
- あ、いや変数もstaticだ
- 114 :名前は開発中のものです。:2021/09/10(金) 07:54:37.91 ID:tB+Td/Tq.net
- >>109
>取り敢えず変えてみたらエラーは消えました。
変えれない前提を自ら無視するとはひどいw
- 115 :名前は開発中のものです。:2021/09/10(金) 07:57:45.45 ID:4dX6AStO.net
- まあスクリプトだろうとなんだろうと変えられないはずはないからね……
- 116 :名前は開発中のものです。:2021/09/10(金) 07:58:46.78 ID:AZowF18M.net
- そもそもUnity関係ないところもコント感ある
- 117 :名前は開発中のものです。:2021/09/10(金) 09:40:34.69 ID:MoID+ieY.net
- インスタンスにしないのとアクティブにしないのとでは
どういう違いがあるんですか
- 118 :名前は開発中のものです。:2021/09/10(金) 10:18:15.97 ID:Vrqrsvlj.net
- 実体化しないのと有効にしないのとでは
どういう相違点があるのか?→相違点しかないのでは?
- 119 :名前は開発中のものです。:2021/09/10(金) 12:05:58.85 ID:cEznrE1I.net
- >>117
インスタンスがなかったら存在しないからパラメタ設定しておいたり別のオブジェクトから参照して操作などできないじゃん
それともそういう意味ではなくて?
- 120 :名前は開発中のものです。:2021/09/10(金) 12:09:18.95 ID:cEznrE1I.net
- >>119
別にやり方を強制している訳じゃないよ
- 121 :名前は開発中のものです。:2021/09/10(金) 12:27:14.67 ID:OdLnlLsa.net
- Unityの習得度(プログラマー向け)をレベル分けしてみたけどこんな感じかな(だいぶザックリしてるけど)
入門レベル
・本とかネット見ながらUnityの基本操作ができる
・球転がしとか作れる
初級者
・簡単なゲーム(2Dシューティングとか)なら一人で作れる
中級者
・大体の思い描いたゲームが作れる
・この辺りからEditor拡張にハマり始める
上級者
・Editor拡張等を用いて大体の思い描いた開発支援ツールを作れる
・Unityのこと質問したら大体答えが返ってくる。歩くリファレンスと化している
賢人
・Storeに売り出した自作アセットが多くの人に利用されている
・Unityに関する書籍を出版している
神
・Unityの中の人で、エンジンの開発に携わっている
・自作アセットがUnityの標準機能として搭載された
- 122 :名前は開発中のものです。:2021/09/10(金) 15:57:29.41 ID:Gfu2twQX.net
- リア中
・unityなんて、何それうまいの?
・結婚して子育て、年収800万以上
- 123 :名前は開発中のものです。:2021/09/10(金) 16:49:05.50 ID:ikshz76a.net
- >>119
いえそういうことです
インスタンスしてあってアクティブになってない
- 124 :123:2021/09/10(金) 19:50:40.01 ID:ikshz76a.net
- なんかミス
ありがとうございます
インスタンスしてあるとアクティブになってなくても
メモリは消費してるってことですね
- 125 :名前は開発中のものです。:2021/09/10(金) 22:11:01.23 ID:UOSQuWkZ.net
- 失礼します。c#とウニティ初学者です。
皆様はコンテナクラスのコピーはどうやって実装されてますか?
コピー代入だとシャロコピーにしかならないんですよね?
私は敵クラスを格納するコンテナを作り、そこで一括に敵を管理しております。
そこで、とあるリストenem_1から別なとあるリストally_1に敵をまるっと移したい。
そういった場合にディープコピーで実装したい次第であります。
敵はInstantiate関数で実体化させたMonobehavior継承プレハブクローンで、enem_1は再利用する予定です。
なのでenem_1をDestroyするかList.clear()したいのですが、その場合はディープコピーの方が良いですよね?
トンチンカンなことを聞いているかもしれませんがよろしくお願いします。
- 126 :名前は開発中のものです。:2021/09/10(金) 22:15:39.78 ID:dhskHfd/.net
- Unable to check errors listed in `Temp/ApiUpdater_CheckMovedFromd7eab44652aabb2458fea1d7810a4b6a`. File contents:
2697508544448
こんなかんじのエラーが出てきてしまったのですがこれはどういう意味なのでしょうか?
- 127 :名前は開発中のものです。:2021/09/10(金) 22:42:06.68 ID:gyv6yBUw.net
- >>125
ディープコピーしたら敵が二倍に増えないか?
質問をよく読んでないので検討外れな回答かもしれないけど
- 128 :名前は開発中のものです。:2021/09/10(金) 22:52:13.56 ID:gyv6yBUw.net
- >>125
内容と使い方によるんじゃない
ちゃんと把握して管理できてれば
- 129 :名前は開発中のものです。:2021/09/10(金) 22:59:58.72 ID:3ogDeoii.net
- ポインタ渡しただけだと実体の値が変わってしまうって事なんだろうけど
ScriptableObjectでいいような
- 130 :名前は開発中のものです。:2021/09/10(金) 23:37:31.22 ID:UOSQuWkZ.net
- >>129
これは初めて知った機能でした。
ありがとうございます。
しかし私が実装したい機能はポケモンの個体値を個別に設定するタイプなので、敵AIを記述するのには使えるかもしれませんが、各実態ごと移すのには向かないのではないだろうか……
皆さんディープコピーはしない感じなんでしょうか?
参照コンテナを保存する場合はどうやって範囲外の生存を担保しますか?
デストロイ使わない感じ?
書き出したいコンポーネントをリストからforeachで書き出して、実体化するときに再アタッチするのかな……?
- 131 :名前は開発中のものです。:2021/09/10(金) 23:47:55.59 ID:0hasLUzi.net
- おそらくあなたがしたいことは、
各モンスター個体の能力値を個別に管理したいんだと思うけど、そうかな?
そしてそれを管理してるのが>>125の「敵クラスを格納するコンテナ」ってやつ?
そうなると、そのコンテナはクラスを格納してるんじゃなくて、
敵インスタンスの参照を保持してると思われます
C#の仕様ですと、数値のような一部のプリミティブな変数を除き、
通常のコピーではインスタンスへの参照がコピーされます
そして自動でガベージコレクションが走り、
参照が生きていればインスタンスも生き続け、参照を失うとインスタンスは解放されます
つまり、「敵クラスを格納するコンテナ」に参照を保存しおけば、
個別キャラとしてのデータ、つまりインスタンスは生存し続けます
C#の仕様です
補足情報としては、ガベージコレクションが走るタイミングは任意なので、
参照を失った瞬間に解放されるわけではない…はずです
- 132 :名前は開発中のものです。:2021/09/11(土) 00:09:35.53 ID:rXFpArPO.net
- デフォルト値は持ちたいが個別にHPやLvの値は一次的に保持したい(シーン単位で)
という用途にはScriptableObjectは合致するよ(永続的な保存は出来ない)
コンテナはしらんけどC#のDB系は何か使いづらいんで
SQLiteに丸投げしてる
- 133 :名前は開発中のものです。:2021/09/11(土) 00:22:29.84 ID:X3KGMt+u.net
- >>131
ありがとうございます!
私のつたない説明でここまでクリティカルな返答されるとか、えすぱーか何か?
ガベージコレクションが実体の照会をし続けて、リファレンスが一個も無くなった場合以降に実体がdeleteされるのですね?!
それならば、任意のコンテナに参照を保持し続けていれば、実体が消去されることがないのでシャロコピーを使い回すことで十分ですね!
私の想定する使用法なら、コピーしたあとでforeachデストロイではなく、コンテナ.クリア()で移動元の配列を空にすればいいと思います。
私はc丼の初歩的な仕様もよくわかっておりませんでした。しかしこの件についてはあなたの説明で得心しました!
ありがとうございます。多謝!
- 134 :名前は開発中のものです。:2021/09/11(土) 00:26:07.16 ID:X3KGMt+u.net
- >>132
ありがとうございます。
HPMP等を保持したモンスター基底クラスに、変数としてスクリプタブルオブジェクト継承の型を保持させる感じ難でぢょうか?
明日よくよく調べてみます。
- 135 :名前は開発中のものです。:2021/09/11(土) 00:33:51.46 ID:hbwTrxpG.net
- >>133
>ガベージコレクションが実体の照会をし続けて、リファレンスが一個も無くなった場合以降に実体がdeleteされるのですね?!
Exactly.(その通りでございます)
- 136 :名前は開発中のものです。:2021/09/11(土) 02:54:06.39 ID:xbxLf30q.net
- モンスターのステータスとかそういうのは
大概ScriptableObjectかJson使うのが推奨されてる気がする
あとチームで使うときはExcelから取ってきたり
- 137 :名前は開発中のものです。:2021/09/11(土) 14:43:07.82 ID:SvQjMlIv.net
- エクセルからCSVにして読み込ませてって感じが同人ゲームとかでよくある形だな
大手のゲームとかはクラウドサーバーとかに置いて変更しやすいようにしてるな
総レス数 1001
265 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200