トップページgamedev
1001コメント398KB

【3Dゲームエンジン】Unity質問スレッド14 [転載禁止]©5ch.net

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/12/09(火) 19:29:53.11ID:x9Izo6T5
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

次スレは>>970を踏んだ方が建てること。ダメなら>>980>>990が建てて下さい。

■前スレ
【3Dゲームエンジン】Unity質問スレッド13
http://peace.2ch.net/test/read.cgi/gamedev/1414819294/

■本スレ
【3Dゲームエンジン】Unity総合スレッド24
http://peace.2ch.net/test/read.cgi/gamedev/1415828892/

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
 http://unity3d.com/japan/
・ユーザーガイド&リファレンス
 http://japan.unity3d.com/developer/document/
・チュートリアル
 http://japan.unity3d.com/developer/document/tutorial/
・スクリプトリファレンス
 http://docs-jp.unity3d.com/Documentation/ScriptReference/
・FAQ
 http://answers.unity3d.com/index.html
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
注意事項:アセットおじさんは優しく愛でましょう
0711名前は開発中のものです。2015/01/08(木) 13:24:39.46ID:zF56XW1l
オブジェクトAからオブジェクトBへの角度を求めるのは下記で出来るのですが、

var forward = A.transform.TransformDirection(Vector3.forward)
var targetDirection = B.transform.position - A.transform.position;
Vector3.Angle (forward , targetDirection)

オブジェクトAから一定距離ほど離れた地点CからBへの角度を求めるにはどうしたら良いのでしょうか?
地点CはオブジェクトではないのでTransformDirection(Vector3.forward)が使えず困っています。
地点CはオブジェクトAと同じ方向を向いているとします。
0712名前は開発中のものです。2015/01/08(木) 13:26:11.64ID:iv78qSqy
>>705
mono最新版にしてFramework4.0に更新しても使えないんだけど
なんか設定とかいるの?
0713名前は開発中のものです。2015/01/08(木) 16:33:10.19ID:ZFDGaKXb
>>712
俺のとこでは4.0にするだけで使える。特に設定もしてない。
なんでだろう?

>>711
Cの位置をVector3 cPosとして2行目を
var targetDirection = B.transform.position - cPos;
にすればいいだけ

>>712
ラインレンダラーを使う。この辺の記事でも読みたまえ
ttp://ch.nicovideo.jp/akiba-cyberspacecowboys/blomaga/ar598693
0714名前は開発中のものです。2015/01/08(木) 18:40:17.92ID:L2oeLPrC
>>617
多めに感じるけど、FPSなんか作ってたらそれくらいあってもおかしくない気がする。

再生方法をストリーミングにするとメモリーが軽くなるらしいので、
その辺りどうなってるか確認してみたら?
0715名前は開発中のものです。2015/01/08(木) 18:44:39.27ID:ZFDGaKXb
713だがラインレンダラーの段は>>710向けだ。すまない。
ってか、今日2chおかしいのか?
0716名前は開発中のものです。2015/01/08(木) 20:30:23.99ID:Kt5jDH3F
>>711
スクリプトは難しいですね。無理せずにアセットをかうほうがよいでしょう
0717名前は開発中のものです。2015/01/08(木) 21:12:49.86ID:iv78qSqy
>>713
UnityVSなんだけどそれが何か関係してるのかな

>>715
世界中からアメリカが攻撃受けてるっぽい
http://map.ipviking.com/
0718名前は開発中のものです。2015/01/08(木) 23:08:06.21ID:lqY5DniU
スカイボックスについて質問です
unityにもともと付いてるスカイボックスを使おうと思ってるんですけど
雲の位置がちょっと高すぎて視点を下げたらもう水色一色になってしまって
見栄えがよくありません
雲の位置をもっと下げたいんですけどなにかやり方はあるでしょうか?
0719名前は開発中のものです。2015/01/08(木) 23:31:45.12ID:x2zIWjYJ
uguiを詳しく説明してくれる本はいつでるんだろう
0720名前は開発中のものです。2015/01/08(木) 23:54:46.16ID:Kt5jDH3F
>>718
雲の位置をもっと下げたいのなら、アセットをかえばいいと思いますよ
0721名前は開発中のものです。2015/01/09(金) 00:00:34.00ID:X1IaCA40
>>718
ない。ありゃキューブマップでいわばただの絵だ。
調整する手段はない。
3Dソフトとかわかるならキューブマップ用のキューブオブジェクト作って、
とかあるいはスフェアマップに描画しなおして、とかすればアイレベルを
コントロールすることはだけどね。
0722名前は開発中のものです。2015/01/09(金) 00:04:27.78ID:gawopPwg
>>721
ありがとう
こりゃアセットおじさんじゃないがアセット探すか諦めるしかないなぁ
0723名前は開発中のものです。2015/01/09(金) 00:11:23.35ID:RD+EStRv
セーブデータは構造体で作ってパブリックな変数宣言しておくだけでいいですか?
実際のセーブやロードはそれぞれクラスを作ってメソッド実行させれば良いんでしょうか
あ、もちろんアセットはお金の無駄なので買いませんので。
0724名前は開発中のものです。2015/01/09(金) 00:19:55.31ID:qfUDRjID
まあ、無駄ってことはないだろう。
AssetはAssetで良い選択肢だとは思うぞ。
Assetをそんなふうに思ってしまうのは既に術中に嵌っていると思われ。
0725名前は開発中のものです。2015/01/09(金) 00:28:25.58ID:O/N7HOto
スプライトで顔と表情パーツが分かれてるスプライトを
画像が重なった部分が半透明にダブらないように一括でフェードアウトする方法ってありますか?
表情差分は矩形で区切って、ポーズ差分は別テクスチャとして読み込む以外方法ないんでしょうか。
お金が無いのでアセットは買いません。
0726名前は開発中のものです。2015/01/09(金) 00:30:04.62ID:TAHt7viu
アセットストアでいつも上位にセーブ関連のがあるんだからそれ買っちゃっても良いとは思うけどね
ゲーム作るんだったら必ずと言ってもいい程セーブ機能は実装するんだろうしさ
0727名前は開発中のものです。2015/01/09(金) 00:32:58.89ID:X1IaCA40
>>723
ああ、それじゃ全然ダメ。
値型の変数を個別にGetSetしていく必要がある。
PlayerPrefsでもファイル使うのでも同様。
工夫のしようはあるが基本的にかなり面倒。
わりとマジでアセット買ってもいいんじゃないかってレベル。
手でやるならまぁこの辺の記事かな
ttp://docs.unity3d.com/ScriptReference/PlayerPrefs.html
ttp://d.hatena.ne.jp/nakamura001/20110712/1310441315
ttp://d.hatena.ne.jp/tueda_wolf/20120109/p1
0728名前は開発中のものです。2015/01/09(金) 00:36:40.36ID:wrIQCKrM
>>713
ありがとうございます!
なんとかやってみます!
0729名前は開発中のものです。2015/01/09(金) 00:37:54.55ID:X1IaCA40
>>717
あ〜、どうなんだろう。とりあえずMonoでは.Netを切り替えただけで行った。
>>725
これ、375とまったく同じ文章だよな〜
0730名前は開発中のものです。2015/01/09(金) 01:02:56.55ID:O/N7HOto
ボーンの角度などをスクリプトで数値で設定したり、
逆に読み出したりできますでしょうか?
それが可能であれば命令の名前などをお教え下さい。

ゲーム内でポーズを作ったりする必要があるのです。(アニメほどではない)
それが可能そうであればUnityで開発するかなと考えています。
0731名前は開発中のものです。2015/01/09(金) 01:15:11.55ID:itGRRy2J
>>723
そう言わずにアセットを買ってみましょう。お金の無駄になるかどうかはあなた次第ですよ
0732名前は開発中のものです。2015/01/09(金) 01:16:33.17ID:uRwzf5c9
>>729
ごめんなさい、.NETの切り替えが必要だったのね
それやったら使えた
ありがとうございます
0733名前は開発中のものです。2015/01/09(金) 01:20:54.40ID:O/N7HOto
Kernel も一応核って意味はあるけどね。
0734名前は開発中のものです。2015/01/09(金) 08:08:56.70ID:LWNL+7Z4
.net4.0使えないだろ?
ゲーム実行すると3.5に書き換えられちゃうんだけど
MonoでやってなくてVSTだからか?
0735名前は開発中のものです。2015/01/09(金) 12:34:04.02ID:G7r9zzog
Unityでセーブ/ロードは意外と難しいよな
PlayerPrefsで満足できるなら良いけど自分でファイルを保存しだすと
.Netとそれに乗っかったUnityレイヤーが非常に邪魔
何とかならんものかと思う
0736名前は開発中のものです。2015/01/09(金) 13:51:31.38ID:jGKEggKm
>>735
POCO(Plain Old C or CSharp Object)とserializer使ってXMLでもJSONでもいいからstringにはき出しておいて
それをPlayerPrefsに保存すれば何の苦労もしないよ。
0737名前は開発中のものです。2015/01/09(金) 17:00:02.71ID:uRwzf5c9
>>734
どういうこと?
ゲーム実行ってデバッグのこと?
普通に使えてるし、使えないと一部のクラス動かなくない?
0738名前は開発中のものです。2015/01/09(金) 17:30:22.47ID:hfgWXqQj
>>735
セーブロードはアセットをかえば簡単にできますよ
0739名前は開発中のものです。2015/01/09(金) 18:02:33.77ID:G7r9zzog
>>736
レジストリに巨大データ突っ込むのはやめて(><)
0740名前は開発中のものです。2015/01/09(金) 18:04:10.54ID:G7r9zzog
Destory(gameObject); って子ノードも再帰的にDestory()してくれるの?
it will destroy the GameObject, all its components and all transform children of the GameObject.

「all transform children」って下にくっついているGameObjectの事でいいの?
0741名前は開発中のものです。2015/01/09(金) 18:23:26.50ID:X1IaCA40
子供も全部消えるよ。
レジストリには突っ込みたくないけど手法自体は
セーブファイル使ったやり方にも使えるからいいよね。
コンフィグだけセーブできればいいやってレベルのうちはいいんだけど
あれもこれも、ってなってくと手動的なやり方ではとてもやってられない。
実際のところ自分の時給も考えればアセット買うのがかなり正解なんだよな
0742名前は開発中のものです。2015/01/09(金) 18:25:14.46ID:O/N7HOto
書くと引っ掛けで全検索しちゃうからねそれは。
0743名前は開発中のものです。2015/01/09(金) 21:54:19.39ID:RD+EStRv
>>741
アセットって言うけどセーブロードの中身は結局自前で書く必要あるのが大変だと思うんだが

どういう意味でセーブはアセット使うと良いって言ってるのかちょっとわからんです
配列やList保存できないとかものすごい制限あるけど、制限内で済むなら自前で書くのと大差無いと思うんだがどうなの
0744名前は開発中のものです。2015/01/10(土) 09:07:29.99ID:AmcxibyA
>>739
POCOとSerialize使う実装の肝はString化された実データの読み書き部分じゃないんだから
とりあえずの実装をPlayerPrefsにして時間に余裕ができたらWindows系だけFileIO使えばよかろう?

あるいはJSONの reader,writerにGetTypeを元にしたクラス情報も付与してやればGenerics使ったデータも読み書きできる。(アセットで売ってるのはこういうことしてる)
0745名前は開発中のものです。2015/01/10(土) 09:46:14.33ID:+wMPJLlu
1つのプロジェクト内にある複数のシーンでそれぞれ個別のRenderSettingsを持ちたいんですが、良いアセットないでしょうか?
0746名前は開発中のものです。2015/01/10(土) 10:27:28.51ID:+0ZQ24NM
>>737
Unityのバージョンなんですか?
4.0サポートしてないんだから普通動かないんはずだけど
0747名前は開発中のものです。2015/01/10(土) 11:00:18.72ID:20Px21fj
>>746
最新です
tupleってリファレンス見ると.45からですよね?
じゃあunityじゃtuple使えないって事?
0748名前は開発中のものです。2015/01/10(土) 11:04:37.10ID:+0ZQ24NM
最新って5? 4.6?

.net4からだからtupleは使えないと思うよ。
誰かが作ったtuple.cs持ってくれば使えるけど。

てか、使えてるんでしょ?
0749名前は開発中のものです。2015/01/10(土) 11:13:21.97ID:20Px21fj
使える、の定義が分からないけど
>>713さんも使えるって書いてあるよ

もしかしてこれVS上で使えてるだけでビルドしたらどうかなるのか?
今出先だから何も出来ないけど

少なくとも>>713さんに言われるまではTupleクラスなんて無いって言われて
コンパイルNGだったのが.NET4.5に切り替えたら通ったけど
0750名前は開発中のものです。2015/01/10(土) 11:22:35.32ID:/PpFteXt
> 最新です(キリッ
検索の時に面倒になるからver名で書くようにしろといつも
0751名前は開発中のものです。2015/01/10(土) 11:24:02.62ID:+0ZQ24NM
target mono/.net4.5に切り替えて、
デバッグプレイすることはできる。

だが、tupleとか4.0以降の機能使おうとすると通らないぞ。
インターフェースの共変性とか
0752名前は開発中のものです。2015/01/10(土) 11:41:46.87ID:20Px21fj
ビルドできないのかw
コンパイルは通ったから問題ないと思ってた
失礼しました
0753名前は開発中のものです。2015/01/11(日) 08:55:33.97ID:vNq2cP8k
はい質問。

trrainで落差の激しい地形を作ってるんだけど、ガケのテクスチャが、
どうしても縦縞になっちゃうんだけど、これを回避する方法ないのかな?
壁一面に何か植物を貼るしかないのかな?
0754名前は開発中のものです。2015/01/11(日) 11:26:07.91ID:OfhagdIH
メッシュの再構築出来れば…
0755名前は開発中のものです。2015/01/11(日) 13:31:57.78ID:dH47IH7x
>>753
テクスチャのコントロールは、アセットをかえば簡単ですよ
0756名前は開発中のものです。2015/01/11(日) 15:43:59.14ID:EoIH/46l
基本的なことかもしれませんが質問です。

音声ファイルのパスを実行時に指定して再生したいのですが、どうやるのでしょうか?
(例えば、ユーザーの持っているmp3ファイルを実行時に読み込んで再生したい場合とか。)

ググってもサウンドを前もってインポートしておく的な方法しか見つけられなかったので、
ここで質問させて頂きました。
0757名前は開発中のものです。2015/01/11(日) 18:41:07.19ID:dH47IH7x
>>756
音声ファイルのパスを指定して再生したいのであれば、アセットをかうのが一番簡単ですよ
0758名前は開発中のものです。2015/01/11(日) 19:08:26.66ID:IVsi8iPX
>>756
こんな記事はあるなぁ、試してはいない。
ttp://www.salusgames.com/blog/simple-unity-jukebox-in-c-sharp-that-reads-and-plays-music-from-a-folder

mp3をそのまま読むってのは多分できなくて外部ライブラリを
インポートしてってやり方でやってる例はあるな
ttp://denis-potapenko.blogspot.jp/2013/04/task-6-loading-mp3-audio-via-www-class.html
もちろん試したりとかしてない。

まぁ要するに基本的なこと、とかではなくUnityでは
そういうことは想定していない、やるなら全部自力でやる系の話だってことだね
0759名前は開発中のものです。2015/01/11(日) 19:13:41.94ID:61G1tgy2
>>756
ttp://docs.unity3d.com/ScriptReference/WWW-audioClip.html
これ使う
urlに "file:///Your/sound/file/path/someaudio.mp3"
とか突っ込む
ただしプラットフォーム毎に使えるサウンドファイルの種類が違う(oggなら全部通ったはず)
なおWebPlayerはhttpオンリー、iOSはfile://使う場合plugin書かないと駄目(自分のゲームの内部ファイルシステムに取り込んでからじゃないとアクセスできない
外のアプリのデータはアクセス許可をnative pluginで取ったりしないと使えないしFileSystemからは隔離されてる)
0760名前は開発中のものです。2015/01/11(日) 21:00:30.52ID:NGx/aRN4
UnityRemote4とAndroidが繋がらない(反応がないまま)のですが、Editor以外にもイジる必要がある部分はあるのでしょうか
もしないのならAndroid側の問題ですかね・・

iOSとは繋がります
07617562015/01/11(日) 21:01:10.91ID:EoIH/46l
>>758-759
お二人ともご回答ありがとうございます。
自分が見つけられるような簡単でメジャーなやり方は無かったぽいですね。
後で>>759さんのやり方を試してみます。

ちなみに作ってるのはとりあえずはAndroid向けで、wav, ogg, mp3を再生したいと思ってます。
0762名前は開発中のものです。2015/01/11(日) 21:38:10.94ID:YAUbjEvR
時速何キロとか、秒速何メートルとかの速度で物体を動かしたい場合、1フレーム毎の移動量はdeltaTimeから自分で計算する他ないのでしょうか?
(CharacterControllerを使用してます)
0763名前は開発中のものです。2015/01/11(日) 21:49:56.07ID:kan5Gs4t
>>762
例えば毎フレーム10*Time.deltaTime移動させたら
それは10m/s(座標1単位を1メートルとして)で動くことになると思うが
0764名前は開発中のものです。2015/01/11(日) 22:02:42.89ID:uOIzRzOh
とりあえずシミュレーターで動作確認するためにInput.GetMouseButtonで処理して
「実機確認のためにGetTouch使って書き直そう」と思ってたらそのまま動いてしまった
楽でいいけど、環境によっては動かなかったりする?
07657562015/01/11(日) 22:31:17.86ID:EoIH/46l
Windows上ですが、下のソースで無事動いたのでご報告。
ただmp3はできなかったから、>>758さんのようなやり方が必要かも。
いずれにせよ、ありがとうございました!

void Start()
{
string path = "C:/Users/aaa/Desktop/test.ogg";
WWW www = new WWW("file://" + path);
audio.clip = www.audioClip;
}
void Update()
{
if (!audio.isPlaying && audio.clip.isReadyToPlay)
audio.Play();
}
0766名前は開発中のものです。2015/01/11(日) 22:54:53.90ID:dH47IH7x
>>762
計算する必要はないですよ。アセットをかえば簡単です
無理にスクリプトを組む必要はありません
0767名前は開発中のものです。2015/01/12(月) 00:46:26.24ID:MwMNAsq/
>>764
GetMouseButton系は普通にスマホでも動くよ。

ただGetTouchの方がタッチパネル入力前提だから、
フリックした時〜とかマルチタッチの指が〜とか
その辺を想定した形で作られてる。

あとGetMouseButtonはマウスだけに、
みたいな変更が今後入る可能性もある。

現状だと「スマホ向けならGetTouch推奨」って程度だけど、
そもそもそれらの置換ってそんなに手間ではないのでは?
まぁ、オススメは両方に対応することなんだけど。
0768名前は開発中のものです。2015/01/12(月) 00:50:34.57ID:GR6c9r/2
>>763
確かに!僕が馬鹿でした。
有難うございました!
0769名前は開発中のものです。2015/01/12(月) 02:26:39.88ID:LgI9Dyxp
PCで動作可能な3Dの短編RPGと2Dのパズルゲームを作ろうと思うのですが、
C#とunityの操作方法などの他にこれらのゲームを完成させる為に必要な知識ってC#とUnityの操作方法以外にありますか?
例えばDirectXや.NET Framework、jpegやmp3、OS、バイナリ、暗号化などについて詳しく知っている必要はあるのでしょうか。

あまり本格的なものを作ろう(作れる)などと思っているわけではないのですが、
セーブデータごとにプレイヤーがコメントを挿入できるなど、ある程度の工夫をするためにはどの程度の知識が必要になるのでしょうか。
0770名前は開発中のものです。2015/01/12(月) 02:54:01.00ID:wzIVn0AS
>>769
ああ、そこに上げられているものの知識は基本的には必要ない。

Unityはマルチプラットフォーム開発ができるように、という意図で作られている。
だからWindowsプロパーの話であるOS,DirectX、バイナリの話は不要。
.Netに関してはC#が判れば必要ない、というかそのための.Netだ。
mp3はインポートできる、内部でmp3の生データを直接触ることはない、したがってその知識は不要。
jpgも同様。
暗号化はしなければいい。したくなったとしても素人がちょっと勉強した程度の暗号など無意味。
精々アセット買ってくるかこのライブラリを使え、というのをそのままやるだけ。故に不要。

セーブデータごとにプレイヤーがコメントを挿入できる仕組みは
C#とUnityを理解していればそれだけでできる。
0771名前は開発中のものです。2015/01/12(月) 03:07:18.61ID:ejgz+2x4
PlayerPrefsのレジストリの値をC#で暗号化したいのですが、
自前で暗号処理を書く場合に参考になるサイトなどあったら教えてもらえないでしょうか。
勉強も兼ねてアセットを使わず処理したいのですが、C#の暗号化は難しい部類にはいりますか?
0772名前は開発中のものです。2015/01/12(月) 03:12:43.24ID:IaryO5SK
勉強なら自分でやれよ質問するなよ
0773名前は開発中のものです。2015/01/12(月) 04:56:09.48ID:v1q5/jjU
暗号化なんてググればソース付きで大量に出てくるだろ
何故ググった方が遥かに早いのに…
0774名前は開発中のものです。2015/01/12(月) 04:56:46.64ID:v1q5/jjU
「何故」は無かった事にしてくれ
0775名前は開発中のものです。2015/01/12(月) 05:55:49.12ID:/lzojta8
ボードゲームとかの中では麻雀が一番難しいらしい
麻雀ゲームが作れれば一人前みたいな事を聞いた
0776名前は開発中のものです。2015/01/12(月) 06:21:59.70ID:yG4QLfVR
>>767
詳しくありがとう!
両方に対応するように変更しときます
0777名前は開発中のものです。2015/01/12(月) 08:53:08.65ID:LgI9Dyxp
>>770
詳細な回答をありがとうございます。
もっと沢山の知識が必要になるかと思っていたのですが、
C#とunityさえ知っていれば大体のことは出来るんですね。助かりました。
0778名前は開発中のものです。2015/01/12(月) 09:24:11.97ID:O2eCr0Pg
麻雀は役の判定が難しすぎるだろ・・・
作るの自体は簡単
0779名前は開発中のものです。2015/01/12(月) 09:39:00.95ID:e+8NWFKC
>>778
麻雀は役の判定よりAIプレイヤーをちゃんと作る方が難しいよ
確率だけで手堅いのは割と行けるんだけど個性というか手の作り方に偏り持たせたりするといきなり難しい。
他にも捨て牌で相手の役の推理をしたり、自分の河の捨て杯で誘導するような事とか普通にプレイが楽しくなるような事するのが大変。
全部の牌が見える事を利用するのもアリだけど。
0780名前は開発中のものです。2015/01/12(月) 11:07:53.44ID:IaryO5SK
AIなんていらねーよ
ネット対戦にしときゃいい
0781名前は開発中のものです。2015/01/12(月) 11:20:23.10ID:/lzojta8
サーバサイドのプログラムも書かなきゃいけないから難しそう
Unityで使えるのってnode.jsだっけ
0782名前は開発中のものです。2015/01/12(月) 11:40:20.75ID:e+8NWFKC
>>780
役判定以外麻雀からむことなんも無いじゃんか
役判定でめんどくさいのは数あるローカルルールの有無じゃないの?(南北戦争アリとか某麻雀漫画の変なのありとか、流し満貫の一種で流局の河が「なんてしつけいいこいいけつしてんな」ありとか)
>>781
http食うサーバなら何でも良いじゃん、p言語でもclojureでもnode.jsでもjavaでも
0783名前は開発中のものです。2015/01/12(月) 11:42:56.28ID:IaryO5SK
知らないなら黙ってろカス
0784名前は開発中のものです。2015/01/12(月) 11:45:39.90ID:qdV7vuc0
node.jsって言うほど便利なのか?
0785名前は開発中のものです。2015/01/12(月) 11:46:10.99ID:e+8NWFKC
えー、なにその草不可避な反応
0786名前は開発中のものです。2015/01/12(月) 11:47:13.99ID:/lzojta8
麻雀牌の撹拌ロジックっていうかランダムで山積むのはどうするの?
fisheryatesでいいの?
0787名前は開発中のものです。2015/01/12(月) 12:04:14.71ID:fKhAqG/6
麻雀は
・山牌、手牌、河牌、王牌
・シャンテン数計算
・役判定
ここまでで1人麻雀ができて、

・鳴きの追加
・手牌、シャンテン数、役判定の鳴き対応
ここまでで4人麻雀の1人遊びverができて、

・オンライン対応orAI実装
ここまでで4人麻雀ゲームとして形になる。
0788名前は開発中のものです。2015/01/12(月) 12:13:43.66ID:fKhAqG/6
ちなみに麻雀の判定アルゴリズム高速化やAIについて研究してる人がいて
AIに複雑な「捨て牌読み」は必要なく、
・単純な「牌の数え上げ」
・統計ベースの期待値算出
によって、人間より高精度と言える守備判断が可能とされてる。

攻めについては、受け入れ枚数計算と上がり点の期待値等から求める必要があるけど
点数の期待値計算は枝刈りを上手くやらないと
実用的な速さにならない。
鳴き判断はさらにその応用。
巡目、受け入れ、上がり点数(期待値)、点棒や他者リーチの状況から
統計との比較で判断させるのが理想。
0789名前は開発中のものです。2015/01/12(月) 12:54:03.09ID:2l6JgTnH
マージャンかー
昔c勉強し始めた頃にチャレンジして投げたなー
チェスとか将棋とかは何とか出来て嬉しかった
あの頃はコンソールベースで駒が動くのに一喜一憂してたけど、
今は3Dで一般人が作れちゃうんだから時代の進歩はすごい
0790名前は開発中のものです。2015/01/12(月) 12:56:01.07ID:/lzojta8
チェスや将棋に比べて複雑だから・・・
役の判定ってどういう処理組めばいいのか今でもよく分からん・・・
0791名前は開発中のものです。2015/01/12(月) 13:04:23.58ID:O2eCr0Pg
確か統計を駆使してメチャクチャ強い麻雀ソフトあったよな
捨て配から残り枚数を計算して最短(一番高い確率)で上がりを目指す奴
全く勝てなかった記憶がある
0792名前は開発中のものです。2015/01/12(月) 13:24:13.96ID:Kc+MKjYB
麻雀ゲームはアセットをかえば簡単にできますよ
サーバ管理はアセットをかえば簡単にできますよ
0793名前は開発中のものです。2015/01/12(月) 13:49:18.53ID:2AaRZue/
麻雀は確かに手役判定も面倒だけど
実は一局のフローが変態すぎてうっかり手を付けると死ぬ

配牌直後の倒牌、流局後の流し満貫、四家立直、四槓流局、
槍槓、ダブロン頭ハネ、三家和、鳴いた時の各種選択処理…
行けると確信するまでフローを整理だけでひと月近くうだうだやってた

あらゆる角度から攻めてくる途中流局と槓にまつわる変則処理が意外に多くて見落としがち

そして作り始めてから赤ドラを入れないとマズいと気づいたせいで
牌判別にからむ処理がごっそりやられて泣いた
0794名前は開発中のものです。2015/01/12(月) 13:59:25.05ID:2AaRZue/
「チー・カンは場合によっては選択処理が発生します」
「ポンは?」
「ポンに選択処理はいりません」
赤ドラ君がなにか言いたそうにこっちを見ています

「チーは3を鳴いて1・2、2・4、4・5など選択が発生しうるので
 一番若い数を選んで決定にするとスマートでしょう」
赤ドラ君がなにか言いたそうにこっちを見ています
0795名前は開発中のものです。2015/01/12(月) 14:03:53.57ID:tJlSmZVA
考えただけでも面倒臭いけど、何より問題なのは「出来のいいソフトがすでに発売されている」っていう現実が本当にやる気を削ぐ。
どんなに苦しい思いで歩んでも実は足跡まみれの道でしたなんて嫌だよ。
0796名前は開発中のものです。2015/01/12(月) 14:08:04.94ID:/lzojta8
それはあらゆるゲームに言える事では・・・
将棋でも囲碁でも、RPGでも格ゲーでも
0797名前は開発中のものです。2015/01/12(月) 14:31:52.11ID:wzIVn0AS
まぁ事前に悩んでしまうヤツは向いてないわな〜。
誰かが既に通った道なんていわば「チート」「高速道路」なんだが
それすら嫌な人間が本当に新しい分野を切り開くことなんてできるはずもなく
0798名前は開発中のものです。2015/01/12(月) 14:43:39.20ID:/yaJuA9Q
マウスの右クリックドラッグで視点グルグルできるTherdPersonController何処かに落ちてないでしょうか?
0799名前は開発中のものです。2015/01/12(月) 15:13:42.91ID:wzIVn0AS
ぐぐる作業すら丸投げかw
0800名前は開発中のものです。2015/01/12(月) 15:26:35.85ID:v1q5/jjU
そうだ丸投げだ
検索結果から探すのも面倒臭いから動く物を俺のためにすぐ出せ
0801名前は開発中のものです。2015/01/12(月) 15:49:41.71ID:1Ed/MtB3
お断りしますのaaとお断りだの大文字aaを探すのも面倒くさいから誰か俺の代わりに貼れ
0802名前は開発中のものです。2015/01/12(月) 16:51:21.19ID:/yaJuA9Q
早くググって下さい。
そんな事では先が思いやられます。
0803名前は開発中のものです。2015/01/12(月) 16:52:51.65ID:/yaJuA9Q
>>801 ググって探したのでおおさめください。

お断りします
   ハハ
   (゚ω゚)
  /  \
((⊂ )  ノ\つ))
   (_⌒ヽ
   ヽ ヘ |
εニ三 ノノ J
0804名前は開発中のものです。2015/01/13(火) 00:47:39.31ID:Kaa3HCn+
そんなもんぐぐってる暇があったら自分の案件をぐぐれよw
0805名前は開発中のものです。2015/01/13(火) 11:21:39.06ID:3ynWGD5s
自己流で適当にやってるからさっぱりなのだけど、例えば戦闘後の結果画面
などで使われる文字や数字などのリソースは普通はその都度読み込むものなのか
それとも最初に全リソース読み込んでおいて使うのが一般的なのか教えてくれ給え
0806名前は開発中のものです。2015/01/13(火) 11:46:53.96ID:Kaa3HCn+
>>805
GUIをどう構築するか次第だけど一般的にいえば
GUIなんて大体常時表示されている訳でそのためのリソースは
読み込んでおいてあるものだろう。
0807名前は開発中のものです。2015/01/13(火) 11:50:11.92ID:x0mM86eW
商業ゲーでも戦闘の前後に長いロードが挟まる奴があるだろ
つまりそれが王道だ
0808名前は開発中のものです。2015/01/13(火) 13:00:18.36ID:3ynWGD5s
ありがとう
最初に読み込んでおきます
0809名前は開発中のものです。2015/01/13(火) 13:04:31.46ID:veGSCUhe
王道が…
w
0810名前は開発中のものです。2015/01/13(火) 14:42:07.59ID:SrHRcpRV
質問です。

映画やゲームなどで使われているエンドロールみたいに、下から文字がスクロールしてきて
上に消えていくのをテクスチャのoffsetを書き換えてつくりました。

そこでさらに下から上がってくる際、文字がフェードインしてきて、上に消えていくときフェードアウト
していくようにしたいと思っております。

どのようにしたらよいのかご指南ください。
■ このスレッドは過去ログ倉庫に格納されています