【3Dゲームエンジン】Unity質問スレッド21 [転載禁止]©5ch.net
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001名前は開発中のものです。
2015/11/18(水) 00:53:16.90ID:6AegDlBRWindows/Mac用。JavaScript/C#といった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他
次スレは>>970を踏んだ方が建てること。ダメなら>>980か>>990が建てて下さい。
■本スレ
【3Dゲームエンジン】Unity総合スレッド27 [転載禁止](c)2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1441891966/
■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/
●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・ユーザーガイド
http://docs.unity3d.com/ja/current/Manual/UnityManualRestructured.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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
前スレ
【3Dゲームエンジン】Unity質問スレッド20 [転載禁止]©2ch.net
http://peace.2ch.net/test/read.cgi/gamedev/1444194744/
0851名前は開発中のものです。
2016/01/03(日) 05:23:45.44ID:CYs2j95G誰だよ使いやすいとか言ったの
0852名前は開発中のものです。
2016/01/03(日) 10:47:15.84ID:rVdoK+cbどのプラットフォームのどのバージョンで何をしようとして何ができないの?
0853名前は開発中のものです。
2016/01/03(日) 12:09:49.87ID:PXF6Y8xh互換性の問題が出る可能性の警告は出るけど無視して進めればインポートは出来るはずだよ
0854名前は開発中のものです。
2016/01/03(日) 12:31:15.60ID:nL7iKJaJActiveTogglesでforeachする以外に方法は無いのでしょうか。
Toggleにvalueが無いあたり、onChangeで検知するような思想に見えなくもないのですが
皆さんToggleの値を取る時どうやってますか
0855名前は開発中のものです。
2016/01/03(日) 13:09:55.05ID:9gYMsMkiToggleの OnValueChanged にイベント登録すりゃいいんじゃないの
0856名前は開発中のものです。
2016/01/03(日) 13:43:26.19ID:nL7iKJaJ選択するのとは別のタイミングでその値をみようとしていて、
OnValueChangedですとstaticで選択値を一旦どこかに退避しておくようなイメージになると思うのですが
そうではなく、使うタイミングで選択値を取得したいと思いまして…
0857名前は開発中のものです。
2016/01/03(日) 13:57:49.49ID:9gYMsMki> OnValueChangedですとstaticで選択値を一旦どこかに退避しておくようなイメージになると思うのですが
まずこれが違うというかなぜstaticに?
イベントを受けて最後にONになってるToggleを判別・保持して
使うタイミングで取得すればいい
ToggleGroupにでもイベントメソッドをもつコントローラを追加して
そこを介する、とかやり方はいくらでもある
0858名前は開発中のものです。
2016/01/03(日) 14:07:05.85ID:nL7iKJaJ今は使うタイミングで、仮でこうやってるんですが、
どうもしっくり来なくて…
──────────
var toggles = GameObject.Find("ToggleGroup").GetComponent<ToggleGroup>().ActiveToggles();
string name = "";
foreach (var t in toggles)
{
if (t.isOn) name = t.name;
}
──────────
0859名前は開発中のものです。
2016/01/03(日) 16:27:46.19ID:OtRNWG92webでunityのUIの本を調べたところ良さそうなのが2冊あるようでどちらにしようか迷っています
UnityゲームUI実践ガイド 開発者が知っておきたいGUI構築の新スタンダード
http://www.amazon.co.jp/dp/4844364855/ref=pd_lpo_sbs_dp_ss_2?pf_rd_p=187205609&pf_rd_s=lpo-top-stripe&pf_rd_t=201&pf_rd_i=4839956405&pf_rd_m=AN1VRQENFRJN5&pf_rd_r=1J38YGQGVZ73JS1EHW9V
uGUIではじめるUnity UIデザインの教科書-Unity5対応
http://www.amazon.co.jp/uGUI%E3%81%A7%E3%81%AF%E3%81%98%E3%82%81%E3%82%8BUnity-UI%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%81%AE%E6%95%99%E7%A7%91%E6%9B%B8-Unity5%E5%AF%BE%E5%BF%9C-%E5%B2%A9%E4%BA%95-%E9%9B%85%E5%B9%B8/dp/4839956405
評価やおすすめの本がありましたら教えていただけると幸いです。 👀
Rock54: Caution(BBR-MD5:60fb6bd37e268099e6257349e1247e68)
0860名前は開発中のものです。
2016/01/03(日) 16:29:36.83ID:9gYMsMki今はもうそれでいいと思うよ
理解できない部分で躓くよりも
出来ることで作って先に進む方が有益な時期だと思うし
0861名前は開発中のものです。
2016/01/03(日) 16:33:12.04ID:9gYMsMkihttp://docs.unity3d.com/ja/current/ScriptReference/UI.LayoutElement.html
http://docs.unity3d.com/ja/current/ScriptReference/UI.ContentSizeFitter.html
これじゃいかんの?
0862名前は開発中のものです。
2016/01/03(日) 16:51:27.51ID:PXF6Y8xh書籍は好みがあるから一概にこっちが良いとはコメントしにくい
もし可能なら書店まで足を運んで内容を確認してから自分で良いと思う方を選ぶのがいいと思う
個人的には書籍の内容はほとんどが古く浅いので役に立たないと思ってる
書籍読む時間で最新のuGUIのソースを読んだ方が有意義
0863名前は開発中のものです。
2016/01/03(日) 17:46:38.07ID:HJa8ZZQx本家の公式マニュアル&チュートリアル&ライブトレーニングで必要十分な情報がある
英語で理解できるようにならないとIT分野全般で古い情報しか手にはいらないよ
0864名前は開発中のものです。
2016/01/03(日) 22:40:21.30ID:zTUDJKEM0865名前は開発中のものです。
2016/01/03(日) 23:03:10.38ID:DkLwSIja0866名前は開発中のものです。
2016/01/03(日) 23:12:37.90ID:nL7iKJaJuGUIのToggleの値を取得しようとしています。
選択されたタイミングと選択値を使うタイミングが違うため、
(1)OnValueChangedで一度選択値を保存する
(2)使うタイミングで選択値を取得する
どちらの実装にしようか悩んでいます。
──────────
var toggles = GameObject.Find("ToggleGroup").GetComponent<ToggleGroup>().ActiveToggles();
string name = "";
foreach (var t in toggles)
{
if (t.isOn) name = t.name;
}
──────────
今は(2)でやっていますが、上記のような実装になってしまい
イマイチしっくり来ていません。
(1)の方でやろうとすると、全てのToggleのOnValueChangedにスクリプトをアタッチすることになり、
作りとして正しいのだとは思うのですが煩雑な気がして悩んでいます。
曖昧な質問で申し訳無いのですが、
皆さんならどうするでしょうか…。
普通は(1)ですか?また、(2)の場合もっと良い実装はありますか?
0867名前は開発中のものです。
2016/01/04(月) 01:44:00.77ID:1OOEB/Xyプロファイラに無視できない負荷でも出てから考えればいいんじゃないのかな
2なら個人的には一度FindやGetComponentしたら再利用に備えてプロパティに保存しとくけどね
0868名前は開発中のものです。
2016/01/04(月) 02:32:17.29ID:YfNuq+0V以前はできたのですが仕様変わったんでしょうか…
ttp://bribser.co.jp/blog/animation-method/
上記のようなことができない場合、スプライトアニメーションの任意のフレームにきたら関数を
呼び出して何かの処理をさせたいのですが他に方法ありますでしょうか
0869名前は開発中のものです。
2016/01/04(月) 03:15:50.80ID:TfOUre7A1→ラムダ式使えばいい
2→対象を見つける方法の再検討とキャッシュ
0870名前は開発中のものです。
2016/01/04(月) 12:47:31.37ID:beNj8shj自己解決というか
なぜか関数をセットできるようになりました…
0871名前は開発中のものです。
2016/01/04(月) 17:47:32.77ID:u4VibW+fSpriteのフィルタをpointにしても隙間が埋まりません。対処法を教えてください
0872名前は開発中のものです。
2016/01/04(月) 20:10:50.04ID:OMuHN2ELレンダリング時それぞれのスプライトは隣接しているかどうかに関係なく個別に描画される
そのためふたつのスプライトが1ピクセル未満ずつ乗っている箇所が隙間のように描画されてしまっているという状態
隙間なく並べられたスプライトの境界線がピクセルの境界にきちんと沿っていない事が原因なので
「unity 2d pixel perfect」あたりでググると幸せになれるかもしれない
0873名前は開発中のものです。
2016/01/04(月) 20:38:37.60ID:u4VibW+f返答ありがとうございました
http://blogs.unity3d.com/jp/2015/06/19/pixel-perfect-2d/
このページを参考に改良してみます
0874名前は開発中のものです。
2016/01/04(月) 20:48:19.33ID:VzoPO3CD回答有り難うございます。
リファレンスだとちょっと使用例が少ないのでできれば本など参考にして実践的に使いたいと思った次第です。
英語は一応読めるのですが・・・一応読める程度でしか無く、分からない単語など調べると別のことに時間を取られてしまうのでできれば日本語で行きたく思います。
本屋で見て、直感的に良さそうな本があったらそれを購入検討しようと懷います。
ご回答ありがとうございました!
0875ネットワークエンジニア(プロ)です
2016/01/05(火) 05:47:47.17ID:cUm4JdUo例えば、Unity(ゲーム開発ツール)で例外発生時はUnityのコンソール上に表示されるのに、
System.Console.WriteLineは表示されません。
WriteLineは標準出力する関数だと思いますが、
標準出力をロギングしてるわけではないのでしょうか。
モノビハバーを継承してるクラスはDebug.Logを使えばいいですが、
移植を考慮しているので、Debug.Logを利用しないでUnityのコンソールに通知する方法はありますか?
0876名前は開発中のものです。
2016/01/05(火) 08:19:34.45ID:/fKHvWaf0877名前は開発中のものです。
2016/01/05(火) 08:28:46.95ID:/fKHvWafhttp://answers.unity3d.com/questions/817189/how-to-redirect-systemconsolewrite-from-dll-to-deb.html
0878名前は開発中のものです。
2016/01/05(火) 11:21:02.77ID:9GuORDM5その恥ずかしい名前欄は消した方がいいよ
0880名前は開発中のものです。
2016/01/05(火) 16:34:19.46ID:KrVcbqV7かなりハマってしまった
こういうのって報告したほうがいいんだろうか
0881名前は開発中のものです。
2016/01/05(火) 22:56:54.81ID:/fKHvWafUNETについて質問がございます。
以下のようにNetworkBehaviour派生クラスにて
コマンド属性を使用してでサーバー処理をした後に
要求元のクライアントにのみデータを送りたくてしかたがないのですが
どのような方法がありますでしょうか。
イメージ))
[Command]
public void CmdBlockSet(BlockSetSync blocksync)
{
// サーバー側の処理
ServerBlockSet(blocksync);
// 全クライアントのRPC呼び出し
RpcClientBlockSet(blocksync);
// トリガーとなったCmdBlockSet要求元クライアントにのみデータを送信したい!
// ???
}
[Server]
public void ServerBlockSet(BlockSetSync blocksync)
{
// サーバー側のみ実行する処理
}
[ClientRpc]
public void RpcClientBlockSet(BlockSetSync blocksync)
{
//全クライアント側で実行する処理
}
>>880
もしかしてこれと同じ問題ですかね?
http://forum.unity3d.com/threads/dropdown-list-appears-behind-everything.356750/
0882名前は開発中のものです。
2016/01/06(水) 04:26:12.54ID:Nk18/5bdまさにそれですね。ありがとうございます
ソースまで既に特定されてるなら待ちでいいかなw
0883名前は開発中のものです。
2016/01/06(水) 10:09:53.17ID:qIwJ/Lp3こんな感じ?
http://answers.unity3d.com/questions/984750/unitynetworking-unet-rpc-to-specific-player-master.html
0884名前は開発中のものです。
2016/01/06(水) 11:13:06.34ID:NEPpjvduおお、ありがとうございます。
まさにそれです。
networkserverのsendtoclientで特定のクライアントとやり取りできそうですね。
帰宅したら試してみます!
0885名前は開発中のものです。
2016/01/06(水) 16:54:25.76ID:1JpeS0S20886名前は開発中のものです。
2016/01/06(水) 17:18:51.56ID:hHXVZ7aa0887名前は開発中のものです。
2016/01/07(木) 00:08:46.40ID:kCD1knB8先日UNETで質問させていただいたものですが
HLAPI超便利うへへと調子に乗っていたところまたまた問題にぶち当たりまして
何かご存知の方がいればご教示ください。
NetWorkManagerHUDよりちょっとイケてる見栄えのUIを作ろうと挑戦していたところ
自分で作ったUGUIのボタンクリックイベントでNetWorkManager.StartHostを呼び出したところで
Listenエラーになってしまいます。(logから)
検証用に簡単なプロジェクトを作成してみたとろ以下のような動きになってしまっています。
1. NetWorkManagerHUDを使った場合、エディター上でもビルドしたものでも正常に動作する
2. 独自のUIからNetworkManager派生クラス経由で StaratHost を呼ぶと
エディター上では問題なく動くがビルドしたものはStartHostでエラーが出る
(でもnetstatとかで見ると対象ポートがUDPのことに出ている。接続はできない)
StartHostの前になにか事前処理が必要なのでしょうか。。
・試した検証用プロジェクト
http://whitecats.dip.jp/up2/download/1452093047.zip
私の環境;win7 pro , Unity 5.3.1f1 (64-bit),
0888名前は開発中のものです。
2016/01/07(木) 00:09:44.87ID:kCD1knB80889名前は開発中のものです。
2016/01/07(木) 03:01:17.13ID:AYi2CqeL0890名前は開発中のものです。
2016/01/07(木) 06:52:35.11ID:kCD1knB8そうです。 UnityEngine.Networking名前空間あたりのマルチプレイ用機能みたいです。
機能的には同じような感じのようですね。
photon使うのが 主流なのでしょうかね?
0891名前は開発中のものです。
2016/01/07(木) 09:55:08.46ID:kz6C7yFXHLAPIについてはuGUIと同様オープンソース化されているからHUDのソース読んだら参考になるかもしれない
https://bitbucket.org/Unity-Technologies/networking
0892名前は開発中のものです。
2016/01/07(木) 18:30:51.06ID:Y9KpJ6Uzありがとうございます
なんとオープンソースになってたんですね
ちょっと見てみます!
0893名前は開発中のものです。
2016/01/07(木) 18:51:42.56ID:yWUOEVzg同時押しした場合、Xキーの弱ショットのみ出すという方法はどなたがご存知ありませんか?
一応、大体こんな感じのコードでやっております。
if (Input.GetKeyDown (KeyCode.Z) )
{
GameObject clone = Instantiate (bullet, transform.position, Quaternion.identity) as GameObject; //弾の生成
clone.GetComponent<Rigidbody2D> ().velocity = new Vector2 (0, 15); //弾をy軸15へ飛ばす
}
if (Input.GetKeyDown (KeyCode.X) )
{
GameObject clone = Instantiate (bullet2, transform.position, Quaternion.identity) as GameObject; //弾の生成
clone.GetComponent<Rigidbody2D> ().velocity = new Vector2 (0, 15); //弾をy軸15へ飛ばす
}
0894名前は開発中のものです。
2016/01/07(木) 18:57:46.40ID:hwbkfv15Unity関係ない気がするんだが
Xキーが押されていないときだけZキーの入力を受けるように
すればいいだけでしょ?
if ( X入力 )
{
}
else if ( Z入力 )
{
}
0895名前は開発中のものです。
2016/01/07(木) 18:57:52.38ID:lawdn1GBUnityよく分からんが多分これでいける
if (Input.GetKeyDown (KeyCode.X) )
{
GameObject clone = Instantiate (bullet2, transform.position, Quaternion.identity) as GameObject; //弾の生成
clone.GetComponent<Rigidbody2D> ().velocity = new Vector2 (0, 15); //弾をy軸15へ飛ばす
}
else if (Input.GetKeyDown (KeyCode.Z) )
{
GameObject clone = Instantiate (bullet, transform.position, Quaternion.identity) as GameObject; //弾の生成
clone.GetComponent<Rigidbody2D> ().velocity = new Vector2 (0, 15); //弾をy軸15へ飛ばす
}
0896名前は開発中のものです。
2016/01/07(木) 19:03:16.31ID:7DpOtl6Uインプット間隔を制御しないとif文だけじゃボタンが押し続けられた時にごちゃごちゃ弾がでるぜw
0897名前は開発中のものです。
2016/01/07(木) 19:19:37.46ID:hwbkfv15そういうゲームの仕様はこっちで想像してもしょうがないので
改めて質問来た時でいいでしょ
0898名前は開発中のものです。
2016/01/07(木) 21:15:43.05ID:yWUOEVzg>>895
ありがとうございます!
・・・ですがせっかく答えていただいたのにごめんなさい。先ほどのは間違いです。本命はこちらです・・・。
Xキーで防御を出して、Zキーでショットを撃とうと思っていますが、ZキーとXキーを同時に押すと防御とショットが同時に出てきます。
同時押しした場合、Xキーの防御のみ出すという方法はどなたがご存知ありませんか?
if (Input.GetKeyDown (KeyCode.X)) //Xキーで
{
Instantiate (gard, transform.position, Quaternion.identity); //防御する。
}
else
if (Input.GetKeyDown (KeyCode.Z) || (Input.GetKey (KeyCode.Z) && count % 5f == 0)) //Zで撃つ Zで撃ち続ける 5fごとに
{
GameObject clone = Instantiate (bullet, transform.position, Quaternion.identity) as GameObject; //弾の生成
clone.GetComponent<Rigidbody2D> ().velocity = new Vector2 (0, 15); //弾をy軸15へ飛ばす
}
最初の文を
if (Input.GetKeyDown (KeyCode.X)|| (Input.GetKey (KeyCode.X))
にすると上手くいきますが、そうなると「gard」がすごい数を出してきますのでダメです・・・。
Unity無関係かもしれませんがUnityでC#でやっているのでこちらのスレで質問させていただきます。
0899名前は開発中のものです。
2016/01/07(木) 21:30:47.97ID:RIyhZQsW触らずにスルーしろよ
居着かれると大変な事になるぞ
0900名前は開発中のものです。
2016/01/07(木) 22:34:51.65ID:kCD1knB8この件ですがソースを見たところ違いはonGui内でstarthostしているかuguiのボタンクリックイベントでしているかでした。
試しにupdate内やonguiで呼んだら成功したので,もしかするとupdateやonguiの前に何らかの下準備が行われているのかもしれません。
0901名前は開発中のものです。
2016/01/07(木) 22:50:31.54ID:jc2wiw05もっと効率良くはなると思うがわかりやすく書くとこんなところかね
//ガードしているかどうか
bool isGuarded;
//fireRateのうちどこで撃つか
int fireTiming;
//何フレームに1回撃つか、メソッド内に数値リテラル書きたくないしインスペクタから変更したいが面倒なのでパブリック
public int fireRate=5;
void Update(){
if(Input.GetKeyDown(KeyCode.Z)){
//Zが押されたタイミングをキャッシュしとく
fireTiming=Time.frameCount%fireRate;
}
bool fire=Input.GetKey(KeyCode.Z);
bool guard=Input.GetKey(KeyCode.X)&&!fire;
if(fire&&Time.frameCount%fireRate==fireTiming){
this.Fire();//弾を発射するメソッド
}else if(!isGuarded&&guard){
isGuarded=true;
this.Guard();//ガード開始するメソッド
}else if(isGuarded&&!guard){
isGuarded=false;
this.Unguard();//ガード解除するメソッド
}
}
0902名前は開発中のものです。
2016/01/08(金) 00:20:48.90ID:kCUY2DJ2解決しました。私の単純な実装ミスでした。
ホスト開始ボタンのイベントハンドラをコードとインスペクタ上で登録していたため二回listenが呼ばれてたということでした。
お騒がせしました。
0903名前は開発中のものです。
2016/01/08(金) 06:21:49.06ID:8au7KOLk見つからなかったので、初心者なりにダブルクリック判定できるクラス作ったのですが
私と同じ初心者の方のためにうpした方がいいですか?
0904名前は開発中のものです。
2016/01/08(金) 10:40:48.38ID:0SUqbUHYそういうスレじゃないし
0905名前は開発中のものです。
2016/01/08(金) 11:44:09.85ID:DTWBj4X9Unityやるよりc#(c言語でもc++でもjavaでもphpでもいいが)の基本文法覚えたほうがいい
int カウント;
for(;;)
{
if(Xが押されている)
{
防御;
}
else if(Zが押されている&&(カウント%5)==0)
{
ショット;
}
カウント++;
}
0906名前は開発中のものです。
2016/01/08(金) 11:49:49.69ID:Bq3VIzHQunity C# double click でググれば山のようなサンプルがあるんだけど
それらより出来が良いと思うなら貼ったら
0907名前は開発中のものです。
2016/01/08(金) 12:06:32.36ID:oZHGx8Zx>>901は攻撃優先してるから間違い、すまんね
(誤)
bool fire=Input.GetKey(KeyCode.Z);
bool guard=Input.GetKey(KeyCode.X)&&!fire;
(正)
bool guard=Input.GetKey(KeyCode.X);
bool fire=Input.GetKey(KeyCode.Z)&&!guard;
0908名前は開発中のものです。
2016/01/08(金) 13:21:13.85ID:IewE0LND2chよりはQiitaとかに貼ったほうが
後の人が検索するときには有用だと思う
0909名前は開発中のものです。
2016/01/08(金) 15:16:30.85ID:Uxj9oiwpロクに理解も出来ないと思いますしね
0910名前は開発中のものです。
2016/01/08(金) 15:28:13.99ID:IewE0LND0911名前は開発中のものです。
2016/01/08(金) 16:21:48.07ID:vPXkHPlJblenderからシェイプキーを設定したモデルを入れたのですが、ボーンのようにAnimationが追加されるわけでもなく
探したのですが見つかりませんでした。
本来ならモデルの skinned mesh renderer に blendshapes というステータスが追加されるらしいのですが、それも無い状態です。
どうすればシェイプキーを設定できるのでしょうか。
よろしくお願いします
0912名前は開発中のものです。
2016/01/08(金) 16:47:25.99ID:ColvTIaIblendファイルとfbxと両方試したかとか、fbxならエクスポート設定は大丈夫かとか
もしくはちゃんとインポートされてるんだけど
モデルのゲームオブジェクトに一杯子オブジェクトあって探しきれてないだけとか
BlendShapesが閉じてて気づかないるだけとか
インスペクターでskinned mesh rendererの直下にblendshapesはあるはず
顔なら顔の子オブジェクトの中を探さなきゃだめだぞ
0913名前は開発中のものです。
2016/01/08(金) 16:54:04.49ID:sQIGnL9Rアセットバンドルでファイルを保存できたのですが読み込みができません。
LoadAllAssetsで読み込みはできたみたいなのですが、
ここからマテリアルにキャストしたりテクスチャーにキャストしたり、
プレハブと関連付けたりするのは手動でしょうか?
全く理解できていないので、的外れな質問だったらすいません。
よろしくお願いします。
0914913
2016/01/08(金) 17:30:13.76ID:sQIGnL9R全てが入っている一番上のフォルダ1つにアセットラベル付けて出力するだけでした。
0915名前は開発中のものです。
2016/01/08(金) 18:04:54.75ID:vPXkHPlJ正しくインポートされていない可能性があるとのことで、色々試してみた結果、
どうやらモディファイアーが原因だったようで、Armature以外を適用して
シェイプキーを設定しなおした結果、blendshapesがちゃんと追加されました。
Unityでの設定はこれからですが、とりあえずこれでやってみようと思います。
ありがとうございました。
0916名前は開発中のものです。
2016/01/09(土) 01:14:36.30ID:BI2TGQfJこれしか思いつかなくて…
0917名前は開発中のものです。
2016/01/09(土) 01:29:26.48ID:YrQMk2oGもちろん危険だけど…
サーバサイドでデータ保持、課金検証しても不正はゼロにはできないと思ったほうがいいからね。追えば分かる状態にはできるけど、根本的には「未知のエラーかどうか」を保証できないしね
今やれる範囲での選択肢が端末保存なのであれば悪いことじゃないよ。やってみて、改造者に起因する問題をコストとして計上してから考えればいいよ
脅かすようで悪いけど、ユーザ100人いたら一人は知識ある改造経験者だというくらいに考えといたほうがいいよ
0918名前は開発中のものです。
2016/01/09(土) 02:10:08.45ID:uGLR6h0tさすがに改竄ノーガード戦法、端末壊れたら課金データロストとか男前すぎるぞ
0919名前は開発中のものです。
2016/01/09(土) 02:40:38.70ID:nHm//KnJ俺もローカル保存でいいかなーって思ってたんだけど
0920名前は開発中のものです。
2016/01/09(土) 03:32:12.72ID:ONXJgwoD大抵のゲームの場合はオンラインでアイテムを管理してもいいことなんてないよ
0921名前は開発中のものです。
2016/01/09(土) 03:37:33.97ID:afjinA91課金アイテムでそれだったら駄目じゃね?
少なくともiOS版だとRejectされるんじゃないか
0922名前は開発中のものです。
2016/01/09(土) 03:50:33.52ID:nHm//KnJ調べてないから良く知らないが、課金コインもただのゲーム内データだし。
暗号化はassetでするから少しは改ざん対策になるとは思う
0923名前は開発中のものです。
2016/01/09(土) 06:32:13.14ID:tcA5nLctパズドラとかモンストみたいなゲーム作るんだ!って話なら知らん
0924名前は開発中のものです。
2016/01/09(土) 10:04:56.69ID:Ck0wvyJY対人戦があるなら不正は排除しないといけないから、サーバーデータ保存になるし、
チートしたところで個人で終息する話なら大した問題にはならないし
まあサーバー保存にしたらID管理で膨大な手数になるけどなー
0925名前は開発中のものです。
2016/01/09(土) 10:14:08.53ID:ToyuPE6g商業レベルじゃあるまいしどのレベルで作ってるゲームなんだよ
0926名前は開発中のものです。
2016/01/09(土) 10:27:09.74ID:WzWFWK4g0927名前は開発中のものです。
2016/01/09(土) 10:48:34.64ID:slVnXfFrその程度の人月予算しかありません、って話だからなぁ…
手元に千円しかないけど1億円のものを買いたいんだけどどうしたらいい?
みたいな話で宝くじでも買え、以外いうことがないw
0928名前は開発中のものです。
2016/01/09(土) 11:03:05.02ID:msHmrnE6流石に初心者レベルの奴が課金とか言わんだろ
0929名前は開発中のものです。
2016/01/09(土) 11:44:38.33ID:Ck0wvyJY意味合いとしては、ローカル保存でいいかっていう情報倫理的なお話でしょ
チートセキュリティ対策はキリがないから、担当者の線引き次第でしかないと思うけどな
アイテム課金くらい個人でも作れるだろ
サーバー運営費なんてクラウドで月5000円くらいの稼働で始めれば必要十分で個人でもできる。作るのは、な
運営保守は保証しない
0930名前は開発中のものです。
2016/01/09(土) 11:45:04.55ID:1azCF1yq初心者レベルだと思う
別に初心者が悪いってわけじゃないが
0931名前は開発中のものです。
2016/01/09(土) 11:58:48.22ID:Ck0wvyJYもっと語彙を増やしたほうがいいと思うけどな
不確定要素に対する仕様の決定は、まったく決められない人はいるから、
広く言えば人格の問題
0932名前は開発中のものです。
2016/01/09(土) 12:00:55.44ID:afjinA91amazonのnano EC2とsmall RDSで月あたり14ドルで出来るからなぁ、一ドルのアイテムが一四個以上売れるならちゃんと対応すべきだと思うぞ
0933名前は開発中のものです。
2016/01/09(土) 12:13:29.56ID:YrQMk2oGパフォーマンスいいのと惰性でさくらVPS使ってたけど、スケールの手軽さ考えるとAWSに移行したほうがいいのかもなぁ
0934名前は開発中のものです。
2016/01/09(土) 12:27:19.29ID:Ck0wvyJYそうなると運営保守の工数の問題にもなってくるから、
結局どこまでやるの?って話にしかならないんだよね
ゲーム性や今後の展開、自分(会社)の性格を考えて決めろとしか
0935名前は開発中のものです。
2016/01/09(土) 13:33:25.86ID:IP4TzFvt5.1ではアタッチしたスクリプトをInspector上でScriptを変更できる欄がありましたが、
5.3だと編集不可になっていて地味に困っています。何か編集可能になる設定ってありますか?
_______________
|▼[C#] Hoge Fuga (Script) [?] *
| Script [[C#]HogeFuga] ◎ ←こいつが編集不可
| Piyo Param [ 1]
| Hogehoge [ 2]
|
|
|
0936名前は開発中のものです。
2016/01/09(土) 14:05:05.44ID:msHmrnE6異なるスクリプトにするなら削除してから追加すればいいだけだし
0937名前は開発中のものです。
2016/01/09(土) 14:07:59.70ID:6naWAe4Hここは優しい世界
0938名前は開発中のものです。
2016/01/09(土) 15:27:49.15ID:IP4TzFvt5.1ではここで変更すると、スクリプト継承してあると親クラスで設定した値が、
子クラスにも引き継がれるのでぼちぼち便利だったんですよ
0939名前は開発中のものです。
2016/01/09(土) 15:36:48.11ID:dRgRZulgチーム開発してたら害にしかならない気がする
自分で作ったのさえ後で罠になるかもw
0940名前は開発中のものです。
2016/01/09(土) 15:41:43.03ID:Ck0wvyJYあとスクリプトの状態でもpublic GameObjectとかは、
あらかじめデフォルト値としてアタッチできるんだから、複製作るならやっとけと
0941名前は開発中のものです。
2016/01/09(土) 15:45:08.92ID:IP4TzFvtぐちゃぐちゃにはならない気もするけど、
Inspector上でパラメータをいじって調整していて
「やっぱりこっちのスクリプトにしよう」って変更しても、
基底のパラメータが引き継がれるの便利だったんだけどなぁ
0942名前は開発中のものです。
2016/01/09(土) 15:50:51.73ID:dRgRZulgもしコンポーネント名とスクリプト名が違うならやっぱり罠になるよ
コンポーネントは閉じてる事も多いんだから
0943名前は開発中のものです。
2016/01/09(土) 15:53:21.60ID:Ck0wvyJYやっぱこっちなんてシチュエーションなんかないんだが
0944名前は開発中のものです。
2016/01/09(土) 15:54:40.38ID:IP4TzFvtコンポーネント名も自動で変わった筈です
0945名前は開発中のものです。
2016/01/09(土) 16:01:52.39ID:IP4TzFvt例えば敵キャラの挙動を作るときに
基本的な動作をするクラスで仮置きしておいて、
その動作を継承して動きを追加したい時とかですかね
まぁ、自分の思考回路なんで正しいかは知りませんが
0946名前は開発中のものです。
2016/01/09(土) 16:02:36.51ID:T7DwdcBcパフォーマンスは多少良くなってるようだけど5.3の新機能にはまだ縁が無いから
パーティクル関係で修正が追いつかずに5.2.4にした
0947名前は開発中のものです。
2016/01/09(土) 16:32:44.12ID:YrQMk2oG設定コンポーネントを別で作りなよ
そのコンポーネントを、publicで受け取れる実装コンポーネントに分ければテスト設定とか柔軟に差し替えられて便利よ
0948名前は開発中のものです。
2016/01/09(土) 16:33:50.72ID:K54MsIw5答えもせずに質問者罵倒してる約2名はちょっと黙っとけよw
>>944
インスペクタをデバッグモードにすりゃできるぞ
ここからは推測だがデバッグモードでないとどの値が維持されたかも分からず思わぬ事故になる事があるから変更されたんじゃないかね?
言うまでもないが事故るリスクの高い操作ではあるので細心の注意を払って行うことをお勧めしとくよ
0949名前は開発中のものです。
2016/01/09(土) 16:38:49.50ID:nHm//KnJ課金いれたいから5.3にはするつもりだけどドキドキ
0950名前は開発中のものです。
2016/01/09(土) 17:04:36.02ID:Ck0wvyJYこの程度で罵倒だと思うなら2ch向いてないとしか
仕様変更なら、新旧スクリプトアタッチして上下に見比べて、
相違ないことを確認してから古いほう消したほうが確実じゃないのか?
インスペクタ上でどんだけ値設定してるのかわからんが
どちらにせよ2chで質問したい内容ではないな、俺は
レス数が950を超えています。1000を超えると書き込みができなくなります。