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

■ このスレッドは過去ログ倉庫に格納されています
2020/01/11(土) 14:28:59.18ID:wPvGtAaQ
ゲームエンジンUnityを楽しむ初心者による初心者の為のスレ
その為「アセットを購入しましょう」「チュートリアルやれ」「ググレカス」等禁止
初心者が親身になって初心者に教える。
又ググレの場合、何のキーワードでググるのか書いてね

●リンク
・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初心者質問スレBuild2
https://mevius.5ch.net/test/read.cgi/gamedev/1557293737/
2020/02/13(木) 15:30:47.49ID:pzuIumdi
unity2017でPlayerPrefsが使えません!
SetInt("あ",a);
SetInt("い",b);
Save();

int i = GetInt("あ",0);
こんな感じにしておそらくセーブされていないですプラットフォームは2DでAndroidです
Androidだと使えないんでしょうか?
2020/02/13(木) 16:09:42.68ID:pzuIumdi
自決しましたGetのとこでスペルミスしてました……
2020/02/13(木) 16:34:46.67ID:hizYH54K
まーた質問スレが自殺者を出したのか
509名前は開発中のものです。
垢版 |
2020/02/13(木) 23:43:54.39ID:7WSXd9Ps
「UNITYの教科書2019」を見てにゃんこがジャンプするゲームを作っていたのですが
アニメーションが動かない…
510名前は開発中のものです。
垢版 |
2020/02/14(金) 00:00:18.35ID:UftQ0dTO
それだけじゃどうにも…
2020/02/14(金) 08:11:02.69ID:6Poy0JiB
教科書通りにやれば動くからよく見直してみ
512名前は開発中のものです。
垢版 |
2020/02/14(金) 17:15:51.30ID:PRKU0Nfh
Hierarchyでシーン上のオブジェクトを表示/非表示する目玉のマークは分かるんだけど
「指」のマークってなんの機能なの?><
Unity2019.3.1f1
513弟子
垢版 |
2020/02/14(金) 18:12:27.68ID:bar1ZVkH
>>512
シーン上でクリックできるか出来ないか
514弟子
垢版 |
2020/02/14(金) 18:20:08.30ID:jIzS9fJJ
クリックというか選択だね
だからシーンで位置決めたのに他と重なって選択しずれー
って時とか便利
2020/02/14(金) 19:07:42.62ID:xDLUkvcx
すみません、2D横スクのマップを作るのに
あらかじめ設計図をテキストファイルに入れといて
各ブロックの座標を指定しタイルマップの様に生成させたいのですが
ステージのブロックは一種類じゃないので
どの種類のブロックにするかもその時に数値で指定したいのです。
各ブロックは受けとった値で表示する画像を決める感じです。
この場合、そのブロックのオブジェクトは
なり得る可能性のあるすべての画像をアニメーションで登録してないと駄目ですか?
(キャラオブジェクトで推移させる各アニメーションを登録する時みたいに)

自分のイメージでは受け取った値から各ブロックが
用意した画像フォルダから画像を引っ張り出して描画する
みたいなイメージなんですが、
これはunityで出来ますか?
出来るなら検索したいのでワードを教えてください
516弟子
垢版 |
2020/02/14(金) 19:43:01.99ID:jIzS9fJJ
>>515
前半部分は
「unity テキストファイル マップ作成」

後半部分は
「unity 画像 動的変更」
2020/02/14(金) 22:41:09.04ID:vehvswp5
メトロイドヴァニアのカメラとかで基本的に操作キャラを追うんだけど、
マップの端っことかだとカメラが動かなくなって、
操作キャラは画面の端まで動けるってのどうやって実装するんだろ?

物理演算でやってみようって、カメラに画面枠大の BoxCollider2D つけて、
TileMap で「この範囲の内側しか動かないよ」ってコライダー描いてみて、
カメラは rigidbody.MovePosition でキャラを追うようにしてみたが、
なんか突然カメラ位置がワープするみたいに動くときがあったりとか、
プルプル振動したりで上手く行かん…
2020/02/14(金) 22:44:56.93ID:LNMPB8Oq
FixedUpdate内で追わせる
2020/02/14(金) 22:50:39.78ID:vehvswp5
>>518
FixedUpdate でもプルプルしてます。
このプルプル、CollisionDitection を Discrate にすると解消するけど、
そうするとカメラが枠を擦り抜けてしまったり…
520弟子
垢版 |
2020/02/14(金) 23:14:58.50ID:jIzS9fJJ
プルプルするのって移動しようとする、端っこだ、すこし戻る、移動しやう、端っこ
の繰り返しだから
端っこきたら移動フラグでその処理解除
521517
垢版 |
2020/02/14(金) 23:17:50.44ID:vehvswp5
突然ワープについては解決しました。
追い掛けてるオブジェクトが操作キャラの子オブジェクトで、localPosition が zero
じゃなく、また操作キャラがふりむくと x 軸の scale を反転させるために、
追い掛けてるオブジェクト自体がワープしている為でした。
あとはプルプル問題だけ…
2020/02/14(金) 23:22:07.34ID:UYE3kpLI
座標でプルプルに対処って
それはC++とかで作るやり方だよね?
unityには移動するカメラの端(枠)を決めるアセットが確かあったと思うけど
それが良いのではない?
523名前は開発中のものです。
垢版 |
2020/02/14(金) 23:27:47.94ID:hhNKaEVT
個人でゲームを作って販売する場合アプリの値段を設定するとやっぱバグがあった時に大変ですよね?
みんな大体は課金か広告収入にしてますか?
524517
垢版 |
2020/02/14(金) 23:31:08.60ID:vehvswp5
プルプル解消しました。
コリジョンをきっちりと合わせると食い込んで戻そうとするのが原因のようで、
遊びを持たせると大丈夫って感じでした。

まぁ、物理演算とTileMapでカメラ枠を作るのって強引な感じなので
アセットも漁ってみます。
2020/02/14(金) 23:37:40.85ID:UYE3kpLI
アプリツールならともかく
アプリゲームは販売にしちゃうと
売り上げは激減するよ、
初心者がやりがちだけど
安くしてれば買ってくれるとか思ってる?
すでにSNSやってて信者が沢山いるなら
いいかもしれんが
基本的には無名の作ったゲームに対して
いきなり金出して買うなんて人居ないよ。
アプリゲーマーなんて無料だから遊んでる若いのが多いから。

入口は無料で呼び寄せて広告視聴させる、あわよくば課金させる
この流れじゃないと基本的に無名が買わせるのは無理
2020/02/15(土) 00:00:30.81ID:eG4jxfS9
>>525
知識が十年くらい遅れてるっぽいけど、今は重課金のクソゲーや広告ゲーを避けて安い有料ゲーを漁るユーザー多いよ
それを見越して有料+重課金みたいなクソみたいな売り方する奴も出るくらい有料ゲーの方に新規ユーザーがいる
527名前は開発中のものです。
垢版 |
2020/02/15(土) 00:02:54.50ID:3DQdE0Zm
てかそれスマホゲーの話?
pcゲーも課金広告が主流なの?
528名前は開発中のものです。
垢版 |
2020/02/15(土) 00:44:59.58ID:Knc6MN40
Unityの教科書2019の通りやってもキャラが横移動しなくなりました
2Dの横スク作ってます
public class PlayerController : MonoBehaviour
{
Rigidbody2D rigid2D;
float jumpForce = 680.0f;
float walkForce = 30.0f;
float maxWalkSpeed = 2.0f;

// Use this for initialization
void Start()
{
this.rigid2D = GetComponent<Rigidbody2D>();
}
void Update()
{
//左右移動
int key = 0;
if (Input.GetKey(KeyCode.RightArrow))key = 1;
if (Input.GetKey(KeyCode.LeftArrow)) key = -1;

float speedx = Mathf.Abs(this.rigid2D.velocity.x);
529名前は開発中のものです。
垢版 |
2020/02/15(土) 00:46:12.62ID:Knc6MN40
if (speedx < this.maxWalkSpeed)
{
this.rigid2D.AddForce(transform.right * key * this.walkForce);
}
//動く方向に応じて反転
if (key != 0)
{
transform.localScale = new Vector3(key, 1, 1);  } } }

実行すると画像の反転だけして移動してくれません・・・
インスペクターのほうはちゃんとやってる(RigidBody2D BoxCollider2D付与)
エラーは出ない
530名前は開発中のものです。
垢版 |
2020/02/15(土) 04:07:15.99ID:4DrYCXfC
iOSの課金テスト方法に関してお聞きしたいのですが、
iOSの課金テストは開発中に行うことができないのでしょうか?
androidはできたのですが、iOSは
同じアイテムIDでもまったく反応してくれません。
テストフライトでもダメです。

何か設定ミスがあるのか、
iOSは審査が通るまでそういうものなのか
さっぱりわかりません。
2020/02/15(土) 08:22:53.22ID:7TkHP78M
リアルタイムのネット対戦を実装するときってUnityだと何を使うのがやりやすいかな
Unity使う前はソケット通信使って実装してたけどUnityだともっと便利な機能あったりする?
532弟子
垢版 |
2020/02/15(土) 08:38:02.64ID:EiQa9/BV
PHOTON
2020/02/15(土) 09:37:39.78ID:/yGz3W8q
>>529
試しにこうしてみてもだめ?

this.rigid2D.AddForce(Vector2.right * key * this.walkForce);
2020/02/15(土) 09:40:06.30ID:/yGz3W8q
>>531
socket通信でやったことあるならsocket使った方が楽だと思うよ
ただ生socket使うよりはwebsocketがサーバーもクライアントも楽かもしれない
2020/02/15(土) 09:54:05.88ID:jJ2hrMPk
>>517
画面上の自キャラの位置と壁の位置でフラグ使って判定すればいい
基本的に2Dゲームは物理演算は使わず昔ながらの座標管理で実装してることが多いから、下手にUnity機能使うと不自然な挙動になることが多い
536弟子
垢版 |
2020/02/15(土) 10:08:55.85ID:EiQa9/BV
>>529
一応動くことは動くけどあまりいいサンプルじゃないね
ちなみにインスペクタでBodyTypeはどうなってますか?
ダイナミックじゃないとうごかんよ
537弟子
垢版 |
2020/02/15(土) 10:28:30.26ID:EiQa9/BV
あぁそうそう

>>横移動しなくなりました

って事はもともとは横移動していたという事だと思うので
その時点まで戻るのがいいかなと思うけど
動いたら新しいスクリプトつくってそっちに退避しておくとかいいよ
2020/02/15(土) 11:19:18.66ID:LzNrLujQ
股間がプルプルしてます
どうすればいいですか?
539530
垢版 |
2020/02/15(土) 11:21:02.48ID:4DrYCXfC
ネットで資料を読んでみると審査前でもテストフライトから
ダウンロードしたAPPの課金テストは
sandboxというのに登録したメールアドレスで
可能なような気がするのですが、
課金アイテムのボタンがまったく無反応です。
何が原因だと考えられるでしょう?
Apple Storeからは完全ログアウト済の端末です。

android版は上手く行っています
540530
垢版 |
2020/02/15(土) 11:25:39.88ID:4DrYCXfC
自分の認識(ネットの情報あさったイメージ)では
審査前であってもテストフライトなら、
少なくとも課金アイテムのボタンを押したら
sandboxのメールアドレスでログインするかどうかの
フォームが開くはずだと思うのです。
この認識はおかしいでしょうか?
2020/02/15(土) 11:35:14.02ID:yrj+Dgsn
>>536
ダイナミックにしたら動きました!!!!ありがとうございます。
床はKinematic、プレイヤーや敵はDynamicにしないとダメなんですね
色んなサイトのコードコピぺしたり張り付けてもダメだったから本当助かりました。
2020/02/15(土) 14:54:59.24ID:PkcbpKmt
>>532
なるほど、こういうのもあるのか
便利そうだし選択肢には入るな
ありがとう

>>534
websocketか、ちょっと試してみる!
ありがとう!
543453
垢版 |
2020/02/15(土) 15:53:19.56ID:BjWXMhbH
>>453にて、
あれから修正を終えて、まずはパーツを分けてボーンごと保存、およびFBXにエクスポートし、Unity上でプレハブ化したものをボーンをもとにし再組立てした場合の挙動を確認してみましたが、以下のような状態で実現できませんでした
・アニメーションが動作しない
 ・Blenderのエクスポートの設定でメッシュのみやアーマチュア及びアニメーションを全部含めたもの等色々試したがいずれもアニメーションは動かず
 ・元ボーンがUnity上では不可視になってしまうため、ダミー用のキューブを手足に作っておいたが、これらは問題なくアニメーションに追従して動作している
・パーツの位置がすべて大きくズレる
 ・元ボーンのルート下にインスタンス化すると比較的近い位置に出るが、それでもガタガタにずれる
  ・トランスフォームの値を調整してやればなんとか位置は調整できそうだが、同部位のパーツすらズレるので、一つ一つ設定するのは現実的ではない
 ・ボーンの子階層にインスタンス化すると、画面外にまでズレる
  ・トランスフォームの値もなぜか変わるため、どうしようもない

なぜこういった現象になるのか分からず、自分ではもう手詰まりでどうにもなりません
提示していただいた方法の理解が追い付いていないせいもあるとは思いますが、どうすればよいのでしょうか?

また、その他キャラメイク機能ならこうすれば出来る等、情報がありましたらご教示願います
2020/02/15(土) 19:35:33.21ID:jJ2hrMPk
>>543
blender側で「トランスフォームを適用」して編集後のメッシュのサイズを(1,1,1)にする
詳しくはググってくれ
545弟子
垢版 |
2020/02/15(土) 21:42:51.53ID:EiQa9/BV
ググるにしてもさ
キーワード位あげよう
546543
垢版 |
2020/02/15(土) 22:13:29.56ID:BjWXMhbH
>>544
回答ありがとうございます
位置のずれに関しては解決しました
Blenderの拡大縮小の項目による影響、勉強になりました

アニメーションに関してはまだ解決していませんが、エクスポート時にアーマチュアを含めると
Unityにインポートした際にアニメーターを割り当てるコンポーネントが出来上がり、
そこに元ボーンで使用するアニメーターコントローラーを割り当てた所、
デフォルトステートが反映されているのを確認しました

今日はもう遅いので一旦しめますが、元ボーンのアニメーターとそれを動かすスクリプトをパーツごとに割り当てれば動くようになる、と踏んでいます
ただ、そうなるとパーツ毎に同じスクリプトが存在することになり、無駄に複雑であったり負荷などの点から正しいと言えるのか分かりませんが
2020/02/16(日) 05:21:10.62ID:nUoT3BGX
FPSゲームを作っています
マップの範囲外に入ったら警告で視界が赤くなるようにしたいのですがどのようにすればいいでしょうか?
548515
垢版 |
2020/02/16(日) 06:27:58.27ID:l/Wdq52F
>>516
弟子様&#12316;
「unity 画像 動的変更」で調べた結果報告です
まず自分のやりたい事は各オブジェクトが表示する画像を
オブジェクト自体に画像をアタッチすることなく、スクリプトで
アセットに作った画像フォルダの中から選んでやるというものなんですが
検索した限りでは誰も彼もcanvasにimageオブジェクトを作り
そこにアセットしておいた画像群から選択して表示させてやればいい的な方法なんですが
自分のやりたい事とは少し違うんです。
自分のはUnityの仕様では無理ということでしょうか?
549515
垢版 |
2020/02/16(日) 06:36:40.35ID:l/Wdq52F
自分はなんのためにそんなことしたいのかと言いますと
例えばプレイヤーが乗っかるブロックのオブジェクトをステージに並べる際に
そのブロックの表示したい画像には種類があるとします。
通常の作成方法でいうところの各ブロックに表示画像をアタッチする場合、
表示画像の種類の数だけブロックのプレハブを作ることになりますよね?
(種類がひとつやふたつくらいならオブジェクトに全画像アタッチしておいて表示画像を選択でもいいですが
種類が多くなればその大量の画像をアタッチしておくこと自体、ちょっと現実的ではないですよね)
表示画像以外は同じものであるブロックのプレハブを
画像のためだけに複数作るのはナンセンスだと感じますので
ブロックが持つ変数の値で表示する画像を画像フォルダからチョイスしてやるスクリプトを書けば
プレハブはひとつでいいと思っているわけです。
Unityではこういうのは無理でしょうか。
550弟子
垢版 |
2020/02/16(日) 06:57:53.89ID:f0gBFQlw
>>549
https://blog.yagasuri.com/rakugaki/archives/905.html

まぁ自分でググるワードだしてるんだから
それでググるだけ
アセット 読み込み とか ロードとか
色々試すといいかと
551弟子
垢版 |
2020/02/16(日) 07:00:03.67ID:f0gBFQlw
>>547
マップから出た が取れるなら画面全面にパネルなりイメージなり置いて表示するだけ
552弟子
垢版 |
2020/02/16(日) 07:17:15.18ID:f0gBFQlw
初心者スレなのでググる方法だけど
何かでググって目的のがない場合
Googleさんは「他の人はこちらも検索」てのを親切にも出してくれるのよ
それでやってみるのもいいですよ
2020/02/16(日) 07:22:54.04ID:nobTKwWR
>>549
できるから書けばいいのに
554弟子
垢版 |
2020/02/16(日) 07:38:14.99ID:f0gBFQlw
>>553
確かにそうなんだけど、それは初心者を脱した人の考えで、まるっきりの初心者には何から手をつけていいかも分からないのですよ

なのでコード記載してあって上手くいかないという問いには直せるし、その段階以前にはググり方なりという、回答になるわけです
555弟子
垢版 |
2020/02/16(日) 07:45:22.64ID:f0gBFQlw
ただ、ググって出てくる情報が全て正しいかというとそうでもなく古くて使えないのもままある
最近自分がやったのはvector2.angle
これ二点の角度を取得するんだけど、どのページにもまともに使えないとかひどいのには角度取れないとか書いてある
実際は使い方を間違っているだけなんだけど、それを検索上位になってるから
それを見た他の人も使えない見たいに書いてたりね

だからググってとその後自分で検証するのが大事、その時点で検証コードが出れば一緒にこちらも検証できる

って感じます
プログラム上達には小さな検証コードを沢山書くのがはや道
2020/02/16(日) 08:25:16.65ID:cEidaTho
この弟子とか言う奴、ボッキングの弟子なのか
ボッキングは実際にどんな奴か知らんけど、他の住人の弟子の分際で偉そうにw
見苦しい野郎だな
性格が極度に卑屈なのか、脳に障害でもあるんだろうなww
557弟子
垢版 |
2020/02/16(日) 09:34:15.38ID:a7drZrST
>>556
質問スレなので、その質問に答えると「ボッキングの弟子」を勝手に名乗ってます。

障害あろうとなかろうと、質問に答えるのに関係ないと思いますけど
いかがでしょか?
それともあなたから適切な回答が出てくるならどうぞどうぞ
回答のついてない質問があるので是非答えてあげてくださいな

まさか答られないとかないよね、そんなに偉そうに言ってるんだから
2020/02/16(日) 09:43:05.94ID:dQBS5xiN
これは>556の人格攻撃が悪いよ。
意味ないもの。
2020/02/16(日) 14:27:21.06ID:dMP/9oCy
業務に問題なくても人格が気に入らないから冷遇する
ゲーム会社でも当たり前に行われてることだ
何か文句あるのかね?
560名前は開発中のものです。
垢版 |
2020/02/16(日) 17:06:18.88ID:S5jlh5Bb
なんか悲しいな
実体験かな
2020/02/16(日) 17:25:13.77ID:NvEFx+l+
>>551
ありがとうございます
2020/02/16(日) 22:24:22.53ID:v6TY7IRo
敵に自機が当たったらゲームを終了するスクリプトを書いたのですが
if(collision.gameObject.tag=="Player")
{
Time.timeScale=0f;
gameEnd=true;
Debug.Log("!!");
}
と書いた所最後のDebug.Logだけが実行され他が実行されません
他にエラーも出てないのですが何か心当たりあったら…
2020/02/16(日) 22:31:57.58ID:cEidaTho
>>557
お前のコテ人格は「他人の弟子」を公言してるんだろ?
その事実は間違いないということは合意だな?

弟子ってなんだよ?師事する人間よりも劣ってるってことだよな?そのニュアンスを理解してるか?

他の住人よりも劣っていると公言している人間が、偉そうに講釈をたれる資格があるのか?
講釈をたれる資格のないコテ人格に講釈をたれられて、いい気分になる2ちゃんねらは、普通はいない。
他人に偉そうに講釈をたれる前に、弟子の分際を卒業する為の労力を割くのが筋、とは思わないのか?

人に講釈をたれる前に、その卑屈なコテ人格を訂正するのが、先決である
俺はそう思うね

>>558
悪いコテ人格を攻撃して、何が悪いのかな?
「人格攻撃するのは何でもかんでも悪い」とか、どんだけネット初心者向けの印象操作なんだよw
こいつが、弟子とかいう奴の成り済ましだったら、尚更、不幸だなww
2020/02/16(日) 22:43:00.66ID:cEidaTho
ぼっきんぐの野郎、調子よく住人とヨロシクやってるみたいだが、
それはそれとして、
その神輿(みこし)に全力で乗っかって、いわば「虎の威」を借りたコテ人格で、上から目線で講釈たれて他の住人と関係を築こうとする姿勢に、
この上ない卑屈さを感じずにはいられない。

もっとも、ぼっきんぐの過去の書き込みから判断すると、「ぼっきんぐ=虎」という例えは、過大評価過ぎるのは事実で、自分でもかなり抵抗が有るけどさw

こんな風に思えてしまうのは、俺の極端な被害妄想なのかw
2020/02/16(日) 23:13:54.51ID:NvEFx+l+
極端な被害妄想持ちだね
2020/02/16(日) 23:50:50.50ID:h2ziFjF1
相当歳逝ってそう
難癖が過ぎる
2020/02/17(月) 00:33:13.30ID:HEED4p1m
UnityではJavaScriptはサポート廃止になって今後はC#一本になるという記事を読んだのですが本当でしょうか?
2020/02/17(月) 00:35:49.16ID:10SXtctX
カルト自民党のネット工作員みたいな単発IDザコが沸いてるなw
2020/02/17(月) 00:47:47.33ID:10SXtctX
「人格攻撃うんぬん」言ってた奴らと同一人物かどうか知らんけど、
まあ、俺は多分同一人物なんじゃねえかと思うがw、

ロクに根拠も説明せずに人格を蔑む結論だけ、シレっと書き込んでる時点で、
どんだけ歳食ったカルト自民党の工作員なんだよ?ww

って思うのが自然な感覚なんだが
本当に見っとも無い奴等だなwwww

まあ、バカにでもわかる様に根拠を説明するなんてことは絶対せずに、
印象操作だけでネット初心者を洗脳しようとするのが、
自民党級のカルト勢力の本懐ではあるんだがなwww
2020/02/17(月) 00:48:07.19ID:GPazL4MU
>>568
いつもお前を見ているぞ
571弟子
垢版 |
2020/02/17(月) 04:53:34.21ID:YBUAR2e9
>>562
さすがにそのコードだけだと判断が難しいですがタイムスケール関係でしょう
参考になりそうなページです

https://tech.pjin.jp/blog/2016/12/20/unity_skill_7/


>>567
その通りです
https://www.sejuku.net/blog/57539#Unity

さー懸命な皆さんガイジはスルースキルでパスしましょう
2020/02/17(月) 10:12:37.17ID:IJZiJp8/
JavaScript廃止とか時流を読めてないよな
むしろC#の方が廃止すべきなんだが
573名前は開発中のものです。
垢版 |
2020/02/17(月) 10:46:50.84ID:BCxM4xnH
どう考えてもjsはクソ言語で間違い無いだろ
ネスケの担当者は首くくるべき
2020/02/17(月) 11:57:14.05ID:6A1CD+h6
>>571
ありがとうございます update内でtimeスケールは変えても意味ないんですね
2020/02/17(月) 15:21:14.49ID:58TucxPj
なんか VisualStudio はプロパティ名は大文字開始をしないと文句言ってくるけど、
Unity の基本的な API だと小文字はじまりのプロパティが当たり前になってる。
んでフィールドには .NET では非推奨になったっていうハンガリアンがついてるし、
m_ プリフィクスはエディタでも対応していたりして。
このへんの命名規則をどうするかスゲー迷う。
小文字始まりの方が性には合ってるんだけどね…
576名前は開発中のものです。
垢版 |
2020/02/17(月) 17:26:39.64ID:kR73nOAM
【政府が隠す3.11】 地震波形が、核実験と同じ
http://rio2016.5ch.net/test/read.cgi/earth/1575170033/l50
577名前は開発中のものです。
垢版 |
2020/02/17(月) 18:04:52.34ID:u63KHqPz
UnityでデータベースにGoogleスプレッドシートを利用しようとしています

Jsonでデータを取得しようと試みていますが、何故か「DOCTYPE html」が返信されてしまいます
どうやらOAuth2.0による認証を通していないため、エラー画面のHtmlが取得されている、らしい所までつき止めました

このOAuth2.0の認証を通すための方法をググってみたのですが、ヒットするサイトの通りに行っても、最終的に取得するべきアクセストークン及びリフレッシュトークンが取得できません
調べた中でもっともやりやすかったコンソールからの以下のコマンド
curl -d "code=認証コード&clent_id=OAuthクライアントID&client_secret=OAuthクライアントシークレットID&redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code" https://accounts.google.com/o/oauth2/token
を行うと、想定では
{
"access_token": "アクセストークン",
"token_type": "Bearer",
"expires_in": 3600,
"refresh_token": "リフレッシュトークン"
}
というJsonが返るそうなのですが、実際には
{
"error": "invalid_grant",
"error_description": "Bad Request"
}
というエラーメッセージのJsonが返ってきてしまいます
掲載されている情報が古いのでしょうか?
どなたか解決方法をご存じな方が居ましたら回答お願いします

また、仮にアクセスコード及びリフレッシュコードが取得されたとして、スプレッドシートへの認証はUnityWebRequestクラスで生成するURLに書き込むだけでよいのでしょうか?
アクセスコードは時間制限付き、認証コードも変化するようで、どのようにUnity側からOAuth認証をさせるのかよく分からないので
この辺りもご存じな方が居ましたら回答お願いします
578名前は開発中のものです。
垢版 |
2020/02/17(月) 20:11:16.48ID:pAuPFmYI
Unity oauth2.0でググったらすぐ出てきたけどこれ読んで不明なら使うのキツいんじゃ

NG言われたからタイトルな 
【Unity】スプレッドシートのデータをスクリプトから取得する【OAuth】
579577
垢版 |
2020/02/17(月) 20:39:40.46ID:u63KHqPz
>>578
挙げられたサイトも確認・実行しています
アクセストークン及びリフレッシュトークンの取得はUnity上の古いコードで書かれてましたが、一応動くのでDebug.Logで内容を確認しましたが、
>>577のエラーメッセージのJsonが取得されるだけでした

不明というか、サイトの情報通りに作業を行っているのに関わらず望む結果が得られない状態です
アクセストークンを得られていないため、その先を試せていません
また、非推奨の古いコードであるため、推奨コードであるUnityWebRquestで同様の動きが可能なのか分からないという不安もあります
580弟子
垢版 |
2020/02/17(月) 21:47:40.85ID:YBUAR2e9
>>577
多分ここが役に立つかな
https://qiita.com/hideyuki_hori/items/32dd3d65dd447dabe282
とりま公式のサンプルに、直URLぶっこんでみた
https://i.gyazo.com/53491cae3f3e8cc4ead77190298e9638.png
データは
https://i.gyazo.com/df410a0ad00bd87c9291a04884f59d33.png
多分許可の部分がちゃんと設定されてないんじゃないかな
https://i.gyazo.com/19ba20b88f07ce59e72c902b70e94f22.png
全員と全員(匿名も ってのがあるので
2020/02/17(月) 22:11:41.48ID:10SXtctX
>>557
>まさか答られないとかないよね、そんなに偉そうに言ってるんだから

とかほざいておきながら、
>>571
>さー懸命な皆さんガイジはスルースキルでパスしましょう

と来たもんだw
手前の卑屈さや幼児並みの矛盾を喝破マットクされて、シレっと逃亡っていうw

本人かどうか知らんけど、新たに暴かれた卑屈さ度合いから察するに、俺は多分に本人の自演である可能性を否定し辛いんだが、
無知蒙昧に相手を「歳食ってる」とか非難しておきながら、
ドンだけ老害なみの厚顔無恥っぷりを発動させてんだよwww
加齢で免疫力が低下し過ぎて、脳みそに腫瘍が出来まくってるんじゃねえのか?www

卑屈な脳腫瘍まみれのコテ人格で、せいぜい過疎版でネット営業にでも勤しんでろよwwwwww
繰り返して言うが、
個性的な奴に乗っかって、上から目線の立場で営業するとか、
誰から見ても客観的に
ネットでは下の下の下の最低クソ人格確定だからなwwwwwww
2020/02/17(月) 22:15:43.16ID:10SXtctX
一箇所、促音の位置について、致命的な書き込みミスを犯してしまったが、
賢明な皆さんなら、スルースキルを発揮せずに、懸命に誤りを指摘しましょう!
2020/02/17(月) 22:38:13.81ID:10SXtctX
つっこめなくて
歯軋りしてるの
悔しいのうwwwwwwwww
2020/02/17(月) 22:51:33.32ID:lNf38ywv
>>574
意味がないんじゃなくてtimeScaleが0でもUpdateは呼ばれ続けるってだけ。
gameEnd=true; が何かは知らないけど、これ自体は実行されてて
他のgameEndを参照してる所が止まって結果が反映されてないだけじゃない?
2020/02/17(月) 23:33:10.38ID:lNf38ywv
>>572
そういえばBooとかいう謎の言語も対応してたなという事を思い出したけど
Unity5の時に切られてたんだな。全く気付かなかったわ。
2020/02/18(火) 03:01:48.01ID:DPdGyl76
パーティクルでスプライトを使ったアニメーションをさせようと思ったのですが、画像がバラバラだとエラーになり、
アトラスを作成してから再度アニメーションさせたいスプライトを設定してもやはりエラーになってしまいます。
何かやり方が悪いんでしょうかUnityは2019.3.1fを使用してます。
587弟子
垢版 |
2020/02/18(火) 08:45:39.45ID:GOZPaH/2
>>586
パーティクルってアニメするもの?って調べたらこんなんあった

【Unity】ParticleSystemで連番アニメーションをする方法
https://light11.hatenadiary.com/entry/2018/12/06/224926
588577
垢版 |
2020/02/18(火) 09:09:27.78ID:sKgNX2QZ
>>580
許可の部分に関して、重要なゲームデータに他者がアクセスできてしまうのは困るので、できれば匿名のものを含めての許可は避けたいです
一応許可の部分を匿名も含めればOAuth2.0の認証なしにデータにアクセスできることは確認しています

製作中ならこれでも問題ないのですが、リリース時に修正が必要なることを考えると、現段階で認証のことを解決しておきたいです
589弟子
垢版 |
2020/02/18(火) 09:48:15.92ID:GOZPaH/2
基本的にゲームリリースした時点で匿名さんがプレイするわけで例えば課金システムだってプログラム内に埋めたキーでアクセス
これについては今回のも同じ
だからパケット解析やプログラム解析しないとキーは解らず、そこまでを考えるならどうなのって思うけど

昨日調べたなかになんかそれらしいWebあったと思うから後でリンク貼りますね
昨日Chromeのタブ開けすぎてどれかわからん
590弟子
垢版 |
2020/02/18(火) 10:01:21.70ID:Km4CtOWW
Google Sheet APIを試す時に詰まったところ
https://qiita.com/yukyt/items/c27c344211423f2bb44d
(この記事は最終更新日から1年以上が経過しています。)

一応

承認
を得るためにAPIキーまたはOAuth token

とか書いてあるので、額面通りなら出来そうではあるけど
自分はここのやり方はクレジットカード使わないとならないので出来ないから試してないのであしからず

それと既にそれもやっているっていうと二度手間、三度手間になるので
できれば参考にしてるページ一覧とか加えてくれるとありがたい
591577
垢版 |
2020/02/18(火) 12:58:16.79ID:sKgNX2QZ
>>590
レスありがとうございます
このページは初見で、OAuth承認を得るためにGoogle Cloud platformのアカウントが必要なことは初耳で、APIキーを利用することは初めての試みでした

APIキーの方はダメで認証のためのHTMLが返信されましたが、OAuthの方はアクセストークン及びリフレッシュトークンが取得できることを確認しました
しかし、スプレッドシートからJsonを取り出すために行ったURL+アクセストークンでは、同じく認証を促すサイトのHTMLが返されてしまいました

結果ダメでしたが少し進みました
ありがとうございます
2020/02/18(火) 13:57:24.75ID:DPdGyl76
>>587
ここにも書かれてるとおりスプライトシートが違うとエラーが表示されます。
海外のフォーラム等見てるとアトラス化すれば解決すると見たのですがエラーのままでした
593弟子
垢版 |
2020/02/18(火) 14:04:39.01ID:GOZPaH/2
>>591
えっと、さっきのページの元のページの方法でやってみました
Google Sheets API v4を適当に叩いて適当にデータをJSONで取得する
http://taiki-t.はてなblog.com/entry/2016/10/14/031124
はてな=ローマ字

一応
https://i.gyazo.com/7c2adf5d168993ef530b4ca686b786cd.png
こんな感じでデータ自体はとれたのだけど
これってこんなURIになってて
https://sheets.googleapis.com/v4/spreadsheets/シートID/values/sheet1!a:d?key=APIキー
単純にデータを範囲で取ってきてるだけなので、ちょっとデータセレクトとかどうかな
多分質問主がしたいことはGoogle側APIでデータ出力だと思うのですが
これで出来ればまぁそれもありかなと思い
まぁ中途経過ですが一応投下
594弟子
垢版 |
2020/02/18(火) 14:21:15.35ID:GOZPaH/2
>>592
そのページの通りにやったらうまくいきましたが、どんなエラーでしょうか?
アトラス化したデータはスライスしてるでしょうか?
https://imgur.com/W2akkl6
https://i.gyazo.com/fb21cd06068c5c40b1c464cd57c4f85c.png
https://i.gyazo.com/b324ab5e83f31cf158339edf061a6de9.png

あとはパーティクルシステムの「Texture Sheet Animationを有効」になってますか?
2020/02/18(火) 14:49:28.04ID:DPdGyl76
エラーは画像が同じシートにない場合にでるものです。
画像をスライスして再度アトラスにしてみましたがやはり同上のエラー文がでました。
アトラスのやり方が間違っているのでしょうか?
画像が3枚に別れてるのをいっそのこと一枚に修正してスライスしてしまったほうがはやいですかね

https://i.imgur.com/PHRCVIn.png
https://i.imgur.com/Ma37WF9.png
596弟子
垢版 |
2020/02/18(火) 15:02:22.38ID:GOZPaH/2
>>595
だから書いてある通り、1枚の画像じゃないと・・・
597弟子
垢版 |
2020/02/18(火) 15:04:58.99ID:GOZPaH/2
あ、そのエラーメッセージみると
パッキングタグを設定して、すべてのスプライトを1つのテクスチャにパックします。
ってあるので、もしかしたらそのような設定があるのかもしれませんね
ちょっと調べて見ます
2020/02/18(火) 15:07:43.58ID:/pkgcb0x
>>597
すみません、今回は画像を編集して1枚にまとめる方法でやろうと思います。
ありがとうございました。
599弟子
垢版 |
2020/02/18(火) 15:09:15.34ID:GOZPaH/2
>>595
おそらくスプライトパッカーでパッキングすれば複数の画像から出来そうですが
詳細は
https://docs.unity3d.com/ja/2018.4/Manual/SpritePacker.html

ただこれLegacy設定されてるので将来無くなる可能性もあるのかな
だとすると最初から1枚絵を用意した方が無難な気もします
2020/02/18(火) 15:39:25.59ID:1pDRzHCP
>>599
てっきりこの機能を使いやすくしたのものがsprite atlasだと思ってたんですが違ったみたいですね。
ありがとうございました。
601591
垢版 |
2020/02/18(火) 17:29:55.42ID:sKgNX2QZ
>>593
引き続きレスありがとうございます

仰る通り、自分はGoogle側APIをUnityで叩いてデータの入出力ができればと思っています

単純なデータ範囲出力はそのサイトの情報でできるようになりました
スプレッドシートの共有云々で躓いていたようで、APIキーによって認証をクリアしました
ただ、データベースとして利用するには少し扱いづらいです

データ選択ではいけたので同様にスクリプト実行のためのURLを記述してみましたが、相変わらず認証画面が出てくる有様です

アクセストークンがGoogleアカウントだけでなく、Google Cloud platformのアカウントが必要だったのは分かりましたが
そのままGoogle Cloudのデータベースを利用してみようかとも思いましたが、
一年経過したときに課金しなくては使えなくなるのでは困るので、
まだスプレッドシートを利用する方向で考えています

認証すら通っていない状態ですが・・・
602弟子
垢版 |
2020/02/18(火) 21:10:15.93ID:Km4CtOWW
>>601
一応、いま
https://www.ka-net.org/blog/?p=12258

https://dev.classmethod.jp/client-side/unity-client-side/unity-userpool-userid/
の情報から察するに、SetRequestHeader("Authorization", token); をやればなんか行けそうな感じがするのですが

今日は色々調べて疲れたから検証は明日><
603弟子
垢版 |
2020/02/19(水) 11:41:39.97ID:aVsIuebY
>>602
検証したところいけました、コードは次のようなものです

https://i.gyazo.com/8be30bbf16e79b80598d2b976eedd116.png

token文字列はあらかじめ取得ね
んでこれで試したURIはexeまでのなので、doGetが動いています。

これいいねwww
604591
垢版 |
2020/02/19(水) 13:41:13.22ID:Z+Z53OIe
>>603
長く調査及び検証ありがとうございます

こちらで試したところ、
HTTP/1.1 401 Unauthorized
また別な認証エラーのようです

サラっと調べたところだとアクセストークンが無効らしいのですが
いくらアクセストークンを取り直しても同様のエラーが発生します
今度は何が間違っていたのか

まだ駄目ですが、とにかく少し進みました
ありがとうございます
605591
垢版 |
2020/02/19(水) 14:24:38.06ID:Z+Z53OIe
>>604
たぶん解決しました
認証コードを得る際に指定するscopeの誤りでした

スプレッドシートの取り扱いだと思っていたため当初スコープを
https://www.googleapis.com/auth/spreadsheets
としていましたが、これを
https://www.googleapis.com/auth/drive
として取得した認証コードから得たアクセストークンで作成したスクリプトを実行できました

ただ、スコープの範囲がGoogle Driveのすべてに更新できるスコープなので、これが果たして良いのかわかりません
606弟子
垢版 |
2020/02/19(水) 14:51:21.49ID:aVsIuebY
>>604
一応アクセストークンには有効期限があるんで自動リフレッシュにすると大丈夫な記事もみますが(めんどいので未検証)
ただ、結局アクセストークンにしてもプログラムに組み込んでいるわけで、これも結局は匿名のアクセスと何ら変わらないのだと思います

もし厳格にするならDLしてもらったユーザーにメールでアクセスIDなり発行して
それをアクセスの際に渡すようにしてチェックすればいいのかなと思いますが

どうしてもチート対策で匿名アクセスを嫌うのであれば
FireBaseとかPlayfabとかのBaaS環境も考慮してみるのもいいかなと思います
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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