【ゲームエンジン】Unityなんでも質問スレpart5

■ このスレッドは過去ログ倉庫に格納されています
1名前は開発中のものです。
垢版 |
2021/08/27(金) 19:13:24.68ID:p8CMd57b
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートは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/
2名前は開発中のものです。
垢版 |
2021/08/27(金) 19:19:12.27ID:BysC/gKs
はーい
2021/08/27(金) 19:23:12.26ID:z+JkPDnx
このスレのUnityWikiあるの?って見てみたら最終更新日2011-06-06で草生えまひた(^^
4名前は開発中のものです。
垢版 |
2021/08/27(金) 19:30:28.31ID:EuwAtlSv
こんばんわ。
板違いのお願いがあり参りました。
深刻な状況かもしれません。
ゲーム開発会社の方にお聞きします。
技術的に考えて一人のPCに的を絞りサーバーとの接続状態異常を引き起こさせる事は可能でしょうか?
現在、私自身が原因不明のサーバーとの接続が10秒保たない不良に悩まされています。
今日の昼までは異常はなくプレイできていました。
夕方に運営スタッフさんが更新データの適用を行って以降、この状況になっています。
ゲーム名はスタッフさんの名誉に関わる為伏せます。どうか無知な私に今現在私のキャラ垢に何が起きているのか教えては下さりませんでしょうか?
私自身の通信環境の問題ではない事は確認済みです。
2021/08/27(金) 19:42:41.15ID:9ADofU1p
深刻な状況だな
手遅れになる前に精神科を受診しとけ
6名前は開発中のものです。
垢版 |
2021/08/27(金) 20:31:02.65ID:2YWntQDd
>>4
1人のpcにまとを絞り接続異常を引き起こさせることは可能でしょうか?

この文章がすごく統合失調っぽいので一度精神科に行ってみた方がよい

それはともかくルーターの確認とかしてみたら?
7名前は開発中のものです。
垢版 |
2021/08/27(金) 20:49:46.12ID:nt8Zy+Cj
ルーターはリセット済みです。
この板はゲーム開発会社の開発スタッフさんが集われる板かと思い技術的な質問をしたつもりでしたが、現在は他職の方しかいらっしゃらない感じでしょうか?
2021/08/27(金) 21:04:12.39ID:engNfaim
そんなもんはいねえし
ただのDDNS攻撃かルータの時間がくるってるだけだろ
2021/08/28(土) 00:55:37.97ID:b7FbN25v
RenderModeをWorldSpaceにしたキャンバスに載せたUIを常に一定の大きさで表示したいのですが、カメラとの距離を計算して拡大縮小するより軽い方法ってありますか?
2021/08/28(土) 02:29:27.42ID:Q6i40yD+
チュートリアルとかやって
c#を読む事は少しだけできるようになって来たんですが
ゼロから書くのができなくて
ググってコピペを繰り返すような方法で上達していくのが正しいんですか?
11名前は開発中のものです。
垢版 |
2021/08/28(土) 04:03:13.75ID:tyelAiAj
どういう方法で覚えればいいのかわからない...
12名前は開発中のものです。
垢版 |
2021/08/28(土) 04:20:25.49ID:xzndgR75
>>10
適当に使いそうな変数を宣言する(moveXとかmoveY,drawX_asDot,drawY_asDotとかそんな感じで)
適当にキーボード叩いていると、VisualStudioが予測変換してくれるので、その中から適当に選ぶ
割とこれでまあまあ思い通りに動く。嘘かと思うかもしれんが本当だ
変数名とか競合してるとデバッグに時間かかるから、なるだけ関数定義部分の引数は突飛な名前にするといいと最近気づいた。
1312
垢版 |
2021/08/28(土) 05:35:59.20ID:xzndgR75
でも「そのうち使うだろ」って手当たりしだいにメソッドや変数宣言してると
IDEの文法チェックが終わるまでに時間かかるようになっちゃうので諸刃の剣。
だいたいコードが100KBぐらいでなんかとろくさくなる。下の赤波線が消えるまで重病近くかかったりする。たぶんCPUが古いせい。
自分の場合「そのうち使うだろ」って定義しいた定義していた変数やメソッドは7割は使わない
コード書いていっているうちにもっと用途にそぐう変数名やメソッドの仕様を改善するから。
でも「3割は普通に作っておいてよかったー!」ってなって、ちょっとその時快感だからなかなかやめられない
14名前は開発中のものです。
垢版 |
2021/08/28(土) 05:51:37.58ID:xzndgR75
>>11
自分もほぼ初心者だけど、なんかアホみたいに簡単なのCUIで書きまくればいいと思うよ。
必要は成長の母とかで、学生の時に数学のマクローリン展開とか行列演算,情報工学とかハードウェア実験の結果をまとめるのが自力でやるのが面倒くさかったので、C++の文法を覚えたからそういうハードルというかエサがあると上達しやすそう。
15名前は開発中のものです。
垢版 |
2021/08/28(土) 18:54:30.28ID:0rUObqhc
>>14
なるほど。もうすでにわけがわからず挫折しそうですが頑張ります
ありがとうございます
2021/08/28(土) 19:07:21.32ID:SGG4qSnv
ゲーム作れればそれで十分
作るのに必要なことを覚えていけばいい
17名前は開発中のものです。
垢版 |
2021/08/29(日) 01:00:52.98ID:qP88cUMJ
言葉の意味がわからないよぉ...理解できないよぉ...
18名前は開発中のものです。
垢版 |
2021/08/29(日) 21:25:14.23ID:1OKb4kzs
ブロック崩しを作ってみろ
作る過程でほとんどの技術を使うことになる
19名前は開発中のものです。
垢版 |
2021/08/30(月) 02:45:27.76ID:unfgr6lU
ブロック崩しまたは特定の場所へボールを持っていく玉ころがしでも作って見ると良い
つべで探してみると玉ころがしでもグラフィック付けてクオリティ高いのとか多いからな
2021/08/30(月) 03:41:12.63ID:s9gwgsja
TextMeshProをプレハブ化するとマテリアルが外れるのですが、どうすれば良いですか?
スクリプトからアウトラインの色を変えたいです。
21名前は開発中のものです。
垢版 |
2021/08/31(火) 01:30:55.04ID:8ylFdZRA
iOSアプリにするためにXcodeとかいうクソアプリを使ってるけど死ぬほどエラー吐くし、こんな死ぬほどめんどくさいこと皆やってんの??
ゲームの本筋と全く関係ないところで時間食いまくってほんとイラつくんだが、それとも皆PC向けのアプリ作ってんのかなぁ、、
2021/08/31(火) 02:15:56.59ID:U0AzZVjs
みんなhogeって使うじゃん
あれ面白いと思ってやってんの?俺はいつもさむいなぁって思ってんだけど
あと俺が以前いた会社ではimomushiっていうのを使ってる奴いたね
あれもさむかったわぁ
さむいし長いし
2021/08/31(火) 03:34:02.73ID:u4xoqKLY
無意味文字のことか?人の目意識する方が変だと思うが…
毎回なんかかっこいい名前つけてあげるのか?
2021/08/31(火) 04:52:40.43ID:Op2V9yag
じゃなにがベストなんだよ
25名前は開発中のものです。
垢版 |
2021/08/31(火) 05:17:23.32ID:/nHbw+wK
>>21
みんなやってんだよ
ちなみに広告とか入れだすともっと発狂するから
2021/08/31(火) 07:33:12.43ID:/fQ+7BBS
メタ構文変数はそれ自体が無意味であることを共通認識としてるからこそ意味がある
だからhogeには価値があるが、imomushiにしてるならそれは無価値だな
27名前は開発中のものです。
垢版 |
2021/08/31(火) 09:37:22.13ID:8ylFdZRA
>>25
いやまさにadmob入れて発狂してるとこだよw
ATT対応もやったが肝心のダイアログ出てこねーし
ダイアログ出ないとリジェクトされるし、もう詰んだわ
28名前は開発中のものです。
垢版 |
2021/08/31(火) 10:13:08.76ID:2Pe8tbF9
iosってそんなにめんどくさいのか、Androidしかやってないから大変さが分からんがちょっとだけ大変さを解ったわ
2021/08/31(火) 14:33:47.03ID:fLD4KG0V
猫本を終えてマリオ風の簡単な2D横スクアクションの作成とイガグリ飛ばしに手を加えて1つのゲームとして仕上げる程度で、現在カルネージハートエクサのようなゲームを作成しています。現状基礎的なロボの条件分岐や動作は調べつつなんとかなりそうなのですが、UIやアニメーション関連に作りたいものと自分のスキルにギャップがあるので何かしら参考書やUdemyで勉強した方が良いと思うのですが何かオススメのものはありますか?
30名前は開発中のものです。
垢版 |
2021/08/31(火) 18:04:27.69ID:/FRSJaSe
UIとかエフェクトとかだけやたら凝ってる
元デザイナーみたいなアプリ開発者はごまんといるが
総じてプログラミングがくそで、そこにモチベーションが入ってない
これはプロのゲームも同じ
2021/08/31(火) 18:46:15.34ID:bxcxku47
ショボくて売れず注目もされず何だかよく分からない呪詛だか怨念だか
たっぷり詰め込んだクソゲーよりはマシだろ
てか気持ち悪いわ
32名前は開発中のものです。
垢版 |
2021/09/01(水) 01:30:45.96ID:x6PMMlND
>>22
あなたが使ってる寒くないフレーズを教えて
2021/09/01(水) 05:56:56.64ID:d51OuJOR
ちょっとシェーダ寄りの話になるのですが、質問です。

やりたいこととしては、カメラの正面に、常にオブジェクトを生成し続ける、ということです(一人称視点で、常に目の前にメッシュが形成されるような)。
そこでカメラ向きのベクトルから、一定の範囲離れた座標を中心に、メッシュを形成します。これはジオメトリシェーダでやっています。
しかし、最初のフレームで一回メッシュが形成されたきりで、意図しているような「カメラの運動に応じて常にメッシュが生成されていく」ということが実現できていません。

カメラの位置情報等から、その座標を起点にメッシュを形成してほしい座標は、スクリプトに渡ってきています。しかしそのスクリプトで、

material.SetFloat("_Origin_x", Origin_x);

のように直接、シェーダで処理してほしい座標を毎フレームSetFloatしています。

どういった問題が考えられるでしょうか・・・
お願いいたします。
2021/09/01(水) 20:06:35.46ID:ZfGOzjXf
>>33
お前それ昨日のUnity本部の放送やん
material.setInt()が非推奨で
material.setIntegerになったってやつだろ?
2021/09/01(水) 20:56:25.77ID:mHIebA3r
シェーダーでカメラ位置を利用するならビルトインシェーダー関数から引っ張って来たほうが良いんでは?
C#側のカメラとシェーダー側カメラは座標が同じではないかもしれん
36名前は開発中のものです。
垢版 |
2021/09/02(木) 03:56:56.68ID:PSew7ma3
GetKeyでupにしてるのに下に行っちゃうんですけどなんでかわかりますか?
37名前は開発中のものです。
垢版 |
2021/09/02(木) 04:21:37.07ID:6ItE3Go+
Space押したのに弾出ないと思ったら日本語じゃダメなのか...
38名前は開発中のものです。
垢版 |
2021/09/02(木) 08:02:02.11ID:QRjL/PRZ
>>36
増減値が逆なんだろ。
2021/09/02(木) 12:11:23.44ID:8EDFDo/6
パッドの十字キーだけ逆らしいぞ
40名前は開発中のものです。
垢版 |
2021/09/02(木) 18:04:55.44ID:De9iV2yN
クソゲー作るぞ!
41名前は開発中のものです。
垢版 |
2021/09/02(木) 18:37:24.14ID:fFLzG+vu
スクリプトを作る際ってコピペしちゃってもいいんですか?
それとも一回じぶんで全部打ち込んだ方がいいのかな
42名前は開発中のものです。
垢版 |
2021/09/02(木) 18:41:17.74ID:MzTWK1s2
ベーマガかよw
43名前は開発中のものです。
垢版 |
2021/09/02(木) 18:57:15.45ID:X8IQsmrz
え?書籍とか見ながら自分で打ち込むだろ最初は。
そのうちコピペしかしなくなるけど
44名前は開発中のものです。
垢版 |
2021/09/02(木) 21:03:30.04ID:MzTWK1s2
>>43
コピペしちゃっても、からの、自分で打ち込んで、って言ってるからデジタル書籍の扱いをどうするかでしょ。
2021/09/03(金) 04:48:56.84ID:LGIFZOLo
>>34

そうだったですか、ただ今回はFloatを渡しているので、あまり関係はないかも知れませんよね。

>>35

アドバイスの方有り難うございます。
ビルトインインシェーダ関数の_WorldSpaceCameraPosを使っても、結果は一緒でした。
C#で渡していたのもカメラのワールド座標だったので、多分同じことをしているのだと思います。

何か解決策はないでしょうか・・・
46名前は開発中のものです。
垢版 |
2021/09/03(金) 07:56:06.02ID:bay2tjkn
メッシュ描画したいならdrawmeshじゃダメなん?
2021/09/03(金) 14:37:44.36ID:6loRjXu+
シェーダーの書き方が間違ってるのに、コードもなしにどうしてでしょうかって言われてもw
2021/09/03(金) 18:31:33.35ID:LGIFZOLo
>>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;

}
2021/09/03(金) 18:34:05.75ID:LGIFZOLo
計算は、コンピュートシェーダーでやっています。
_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;

}
2021/09/03(金) 18:37:08.93ID:LGIFZOLo
法線等考慮していないので、もし形成できたとしてもカメラに向かって円状にはなりませんが、
今はとにかくカメラの移動に伴ってメッシュが生成されていけば
2021/09/03(金) 18:38:05.81ID:LGIFZOLo
OK、という段階です。
C#の方は、多分問題なくコンピュートシェーダーの初期化、バッファの宣言、初期化、ディスパッチや描画命令等出来ていると思います。
2021/09/03(金) 18:45:02.87ID:LGIFZOLo
あとフラグメントシェーダですが、シェーダのプロパティで

Properties{
_Color ("Color", Color) = (1,1,1,1)
}

を差し当たり直に設定しています。
53名前は開発中のものです。
垢版 |
2021/09/03(金) 19:08:19.48ID:bay2tjkn
コンピュートシェーダとか専門的なことはわからんけどメッシュの描画はdrawmeshでやって
シェーダーの処理はマテリアルで渡してあげたらダメなの?

そっちの方がカメラの位置とかやりやすいんじゃね
しらんけど
2021/09/03(金) 19:15:20.16ID:LGIFZOLo
>>53

そうですね、GPUベースでやってみたかったですし、できるはずだと思いますが、
大量のパーティクルと違ってそこまで処理も重くないでしょうから、C#の方でメッシュ形成した方が、結局は早いかも知れませんね。
2021/09/03(金) 19:47:31.54ID:Sst/B9Re
Unityを日々勉強していて、何故、学生時代にいろんな小説や歴史を読んだり
数学や物理学をもっとしっかり学ばなかったんだろうと涙が溢れ出た
後悔先に立たず
56名前は開発中のものです。
垢版 |
2021/09/03(金) 21:28:51.62ID:bay2tjkn
>>54
多分知ってると思うけど、DrawMeshInstancedだとバッチング減らせるらしいよ
2021/09/03(金) 22:49:56.20ID:6loRjXu+
float3 worldPos = UnityObjectToClipPos(float4(v.vertex.xyz, 1) + float4( ( _WorldSpaceCameraPos.xy) , 0 , 0) ).xyz;
o.vertex = float4(worldPos, 1) ;

コンピュート抜きに常にカメラど真ん中に表示されるオブジェクトをシェーダーで描くならこれでできたけど
シェーダー入れてるオブジェクトのワールドZが999じゃないといけなかったり、カメラ回転すると外れたりする。
もっと複雑な計算が必要な印象。ググっても出てこないのでわからない。
カメラにオブジェクトを親子付して、カメラが動くとシェーダーを更新するスクリプト書いた方が早そう
2021/09/04(土) 08:12:11.34ID:mpxWyr/l
>>56

そんなんですか、情報ありがとうございます!

>>57

わざわざ実装まで試みて頂いてありがとうございます。
ビルトインシェーダ関数をそのように使った場合、カメラの座標が、例えば正面に進んだとして、
新しく形成されていますか?

もし良かったら、ジオメトリシェーダ部分を参考にさせて頂けませんか?


あとはビルトインシェーダ関数でなく、カメラにアタッチしたスクリプトから取ってきた座標は、カメラの現在座標と向いている方向とを計算した結果なので、
回転の問題は軽減されそうな気がします。
2021/09/04(土) 08:17:56.83ID:mpxWyr/l
貼っていただいた実装も試みたのですが、最初の1フレームに描写されるだけで、
カメラの座標を変えても、新しくメッシュが形成されないのです。
2021/09/04(土) 08:34:02.52ID:mpxWyr/l
[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.84ID:uilkUsx1
いきなり失礼します
超初心者なのですが

if (Input.GetMouseButton(0))
{
○○○○
}

だとマウスのボタンを押してるときに○○○○を実行すると思うのですが、ボタンを押してないときに○○○○を実行したときはどういう風に書いたらいいでしょうか…?
2021/09/04(土) 13:16:31.62ID:4s/Kvr8z
InputGetButtonUpか
毎フレーム行われていいならelseでよいのでは
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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