🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

WebGL

WebGL(ウェブジーエル)は、ウェブブラウザで 3次元コンピュータグラフィックスを表示させるための標準仕様です。

Q&A

2回答

2385閲覧

WebGLでプレイしてもらった回数を表示したい。

Kuro515

総合スコア25

Webサーバー

Webサーバーとは、HTTPリクエストに応じて、クライアントに情報を提供するシステムです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

WebGL

WebGL(ウェブジーエル)は、ウェブブラウザで 3次元コンピュータグラフィックスを表示させるための標準仕様です。

0グッド

0クリップ

投稿2020/12/16 09:08

編集2020/12/17 22:26

Unityで2Dゲームを作っている者です。
プラットフォームはWebGLなのですが、そこで、遊んでもらったら一ずつカウントしていくシステムを作りたいと思いました。

どの方法がいいのかさっぱりわからず、txtファイルにを回数をセーブしてそれを読み取ろうと思ったのですが、調べたところWebサーバーには書き込めないという情報を得ました。

データベース?というものを使うべきなのでしょうか?

どのようにしたらいいのでしょうか?

【補足です】

どの端末からアクセスしても同じ値になるようにしたいです。アクセスカウンターのようなものを作りたいです。それをプレイしてもらったら1ずつカウントしていきます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

Webサーバーには書き込めないという情報を得ました。

こう考えているということは「WebGLはWebサーバー上で動作するものだ」という考えなのでしょうか?
もしそうであれば、大きな勘違いです。
WebGLは(PCやスマホの)ブラウザアプリ上で動作するものであり、ゲーム自体はサーバーで動作しているわけではありません。
サーバー上でやっているのは「ゲームをブラウザにダウンロードさせる」といったことだけです。

もし、サーバー上に保存したい場合は、サーバー上で動作するプログラムを作成することになります。
(データベースを使う場合も大概はそうなります)
一例としては、PHPやASP.NETなどでWebサーバー上で動作するものを作成し、UnityWebRequestでそれにアクセスする方法があります。

ただ、サーバー運用などの手間が必要であると考えると、hogefugapiyoさんの回答の通り、PlayerPrefsでローカル上(PCやスマホ)に保存するのが一番楽でしょう。
ローカルであればファイルの保存も可能かもしれません(未確認ですが)。

投稿2020/12/17 03:17

fiveHundred

総合スコア10152

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fiveHundred

2020/12/17 23:29

> どの端末からアクセスしても同じ値になるようにしたいです。アクセスカウンターのようなものを作りたいです。それをプレイしてもらったら1ずつカウントしていきます。 とのことですが、大筋としては、この回答の2段落目(「もし、サーバー上に~」の部分)と変わりありません。 前後の文章が的外れだったことぐらいでしょう。 「Unity PHP」で検索すれば、基本的な使い方は出てきます。 ASP.NETの場合は情報が少ないですが、最新のASP.NET CoreではWeb API用のテンプレートがあるので、そちらが使えます。 いずれも場合も、UnityWebRequestを使うのであれば、通常のWeb APIと変わりないです。
guest

0

PlayerPrefsでどうでしょう?(WebGLでも動きますよね? 勘違いならすいません)
https://qiita.com/tilyakuda/items/e3ccfbf507acfb16404f

どの環境からもアクセスできるようにするなら、サーバー上にデータがないといけません。
自前でサーバー用意してPHPとかPerlでスクリプトを組むか、もしくはNCMBなどのサービスを利用しても実現できるかもしれません。

unity からサーバへ通信を行い、データを渡す方法
https://propansystem.net/blog/2014/01/21/post-81/

【Unity】NCMBを使ってサーバにデータを保存、取得する方法
https://tama-lab.net/2018/06/%E3%80%90unity%E3%80%91ncmb%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%82%B5%E3%83%BC%E3%83%90%E3%81%AB%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E4%BF%9D%E5%AD%98%E3%80%81%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B/

投稿2020/12/17 00:39

編集2020/12/18 00:25
hogefugapiyo

総合スコア3302

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kuro515

2020/12/17 08:33

PlayerPrefsを使った場合、どの端末からアクセスしても同じ値になりますか?
fiveHundred

2020/12/17 09:00 編集

違う値になります。 もしかして、アクセスカウンターのように「全てのアクセス者(端末)のアクセス数の合計」を収集したいのでしょうか? 現状では、私も(おそらく)hogefugapiyoさんも、「あるアクセス者(端末)が何回訪れたか」だと思っている状態です。 また、「他の端末から確認できるか」ということも書かれていないため、この点も考慮されていません。
Kuro515

2020/12/17 22:25

私の情報が不足していて大変申し訳ありません。 他の端末から確認できるアクセスカウンターみたいなものです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問