【3Dゲームエンジン】Unity質問スレッド12
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2014/09/21(日) 00:19:55.04ID:2Rw6dtcbWindows/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質問スレッド11
http://peace.2ch.net/test/read.cgi/gamedev/1407243744/
■本スレ
【3Dゲームエンジン】Unity総合スレッド23
http://peace.2ch.net/test/read.cgi/gamedev/1404212872/
■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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0383名前は開発中のものです。
2014/10/07(火) 12:56:05.40ID:6YUoK9gFお前の能力が判らないから、どっちが簡単なんて判らない。
個人的意見として、取っ付き易さならば、JSの方。
なぜならば、ActionScriptが判るから。
UnityのJSは、所謂、WEB用のJSと言うよりECMAScriptに近いJSだから、
JSの参考書とかあまり役に立たない。
全く知識がないなら、C#がいいかも
と、ネタに真面目に答えてみた!てへぺろ
0384名前は開発中のものです。
2014/10/07(火) 13:09:13.39ID:WI/7xhVu0385名前は開発中のものです。
2014/10/07(火) 15:59:14.58ID:Sb1JAvtTTexture2Dを作成した後、α0.0fでクリアする必要があるのですが、SetPixel や SetPixels で埋めるしか無いのでしょうか?
塗りつぶし関数を探しているのですが見つかりません。
分かる方、よろしくお願いします。
※アセットは買いません
0386名前は開発中のものです。
2014/10/07(火) 16:07:27.94ID:yYtLZWP3塗りつぶしはアセットがあればいけると思いますよ
0387名前は開発中のものです。
2014/10/07(火) 16:08:58.88ID:aXx09wcw0388名前は開発中のものです。
2014/10/07(火) 16:21:31.86ID:5kMz3ls70389名前は開発中のものです。
2014/10/07(火) 18:01:23.14ID:26Z99HZ0UnityのJavascriptはJScript相当でJavaScriptだと思ってると痛い目に遭うと思うな。
class指向じゃなくてプロトタイプベースなJavascriptとは一線を画すよ。
>>384
似てねーよ、Objective-CはSmalltalkの親戚だぞ
0390名前は開発中のものです。
2014/10/07(火) 18:04:54.34ID:26Z99HZ0alpha値ゼロとか意味不明のテクスチャ何に使うんだ?
テクスチャのαをFillするくらいならそのテクスチャを使って描画するMaterialにalphaを0扱いしながら描画するshader書くべきじゃないの?
0391名前は開発中のものです。
2014/10/07(火) 18:08:49.90ID:eY7lTfHv0392名前は開発中のものです。
2014/10/07(火) 18:18:05.86ID:oUXMvVyk0393名前は開発中のものです。
2014/10/07(火) 18:50:16.37ID:WI/7xhVuありがとうございました
0394名前は開発中のものです。
2014/10/07(火) 18:58:02.95ID:OWFf1KJYGameObjectが複数合致したらリストで返してくれたりするの?
0395名前は開発中のものです。
2014/10/07(火) 19:01:46.26ID:yYtLZWP3アセットを買ったら返してくれると思いますよ
0396名前は開発中のものです。
2014/10/07(火) 19:21:14.72ID:oUXMvVykマニュアルを見ればわかるが最初に見つけた一つのみ取得される
名前で全部取得する関数はないからほんのちょっと工夫が要る
0397名前は開発中のものです。
2014/10/07(火) 20:15:46.36ID:fhuoxiEp勃起してるの?
0398名前は開発中のものです。
2014/10/07(火) 21:04:21.02ID:Q1M5iAAa@NullReferenceException: Object reference not set to an instance of an object DeathCounter.Start() (at Assets/script/DeathCounter.js:11
誰か教えてください。お願いします。
0399名前は開発中のものです。
2014/10/07(火) 21:08:30.23ID:yYtLZWP3ゲームオーバー画面のエラーは、アセットをかうとなおると思いますよ
0400名前は開発中のものです。
2014/10/07(火) 21:40:38.85ID:s5rmuQR1IOException: Invalid handle.
System.IO.FileStream..ctor (IntPtr handle, FileAccess access, Boolean ownsHandle, Int32 bufferSize, Boolean isAsync, Boolean noBuffering) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.IO/FileStream.cs:97)
System.IO.FileStream..ctor (IntPtr handle, FileAccess access, Boolean ownsHandle, Int32 bufferSize, Boolean isAsync)
System.IO.FileStream..ctor (Microsoft.Win32.SafeHandles.SafeFileHandle handle, FileAccess access, Int32 bufferSize, Boolean isAsync)
(wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (Microsoft.Win32.SafeHandles.SafeFileHandle,System.IO.FileAccess,int,bool)
WiimoteLib.Wiimote.OpenWiimoteDeviceHandle (System.String devicePath)
WiimoteLib.Wiimote.WiimoteFound (System.String devicePath)
WiimoteLib.Wiimote.FindWiimote (WiimoteLib.WiimoteFoundDelegate wiimoteFound)
WiimoteLib.Wiimote.Connect ()
Wii.NewBehaviourScript.Update () (at Assets/NewBehaviourScript.cs:17)
対処法をお願いします。
使用OSはwindows7 64bit です
0401名前は開発中のものです。
2014/10/07(火) 21:50:55.32ID:5kMz3ls7なんか前スレにそんな話あったけど答は書いてなかった。
#pragma strict
static public var DeathCount:int;
//@文字のパラメータ
var style : GUIStyle ;
function Start () {
DeathCount = 0;
//ここにstyleを初期化する式を書く
style.fontSize = 40;//この行がエラー出してる。多分初期化なしでアクセスしようとしてるから?
style.normal.textColor = Color.red;
(略
多分こんな話。C#ならそこにstyle=new GUIStyle();
とか書くんだがjsでどうかくかは知らん。誰か答えてあげてくれw
0402名前は開発中のものです。
2014/10/07(火) 21:59:28.24ID:Jl68e1pi0403名前は開発中のものです。
2014/10/07(火) 22:04:03.41ID:yYtLZWP3wiiリモコンを使うためには、アセットを買ったほうが簡単ですよ
0404名前は開発中のものです。
2014/10/07(火) 22:44:33.45ID:HbJZxG8PAwake()
OnEnable()
OnFixedUpdate()
OnGUI()
OnDestroy()
くらいは頭に入れておいたほうがいい。
あと、コルーチン。
http://docs-jp.unity3d.com/Documentation/Manual/ExecutionOrder.html
0405名前は開発中のものです。
2014/10/08(水) 00:18:32.95ID:j96m9Ysa作者に聞けよ。
答えられなかったらエラーで動かない本を出した詐欺になるから訴えろ
0406名前は開発中のものです。
2014/10/08(水) 00:23:23.93ID:IuJbFAW1実際に作ってみたら元々の画面で表示してた文字がカットインの上にも写っててうげってなったのだけど
文字よりスプライト画像を優先して表示する方法ってカットイン用にカメラをもう1つ用意してディプス変えるしかないかな?
なにか簡単な方法があれば教えてください
0407名前は開発中のものです。
2014/10/08(水) 01:16:40.61ID:Fx6RR5xk文字よりスプライト画像を優先して表示するには、アセットをかうのが簡単ですよ
0408名前は開発中のものです。
2014/10/08(水) 02:46:01.73ID:sd4OTG+Elayerの表示順とかじゃダメなの?
0409名前は開発中のものです。
2014/10/08(水) 06:51:40.74ID:u6RzNJNCuGuiならまぁ大体そんな感じ。
厳密に言うと、
既にあるCanvasのrender設定をOverlay以外に変更 or
新しくカットイン専用のCanvasを作る(必要ならCameraも)
→layerを調整 だね。
NGUIならそのままスクリプトでカットインのdepthをいじればいいと思うよ。
0410名前は開発中のものです。
2014/10/08(水) 09:14:59.11ID:RI56PPR4Terrainを使うと綺麗にできません。
上手に作れる方法または
そういったスクリプトなど有るのでしょうか?
0411名前は開発中のものです。
2014/10/08(水) 10:39:44.06ID:Kfz+eIpvinspector の Terrein script 直下に機能選択タブがある
この一番右の歯車をクリック
一番下のimport rawボタンでrawなビットマップをインポートできる
データのフォーマットは heightmap resolutionの二乗サイズのバイト値の集合なのでこのデータを機械的に作ってやれば良い。
規則的に波上にしたいなら三角関数で任意につくれるだろ?
0412名前は開発中のものです。
2014/10/08(水) 13:10:50.47ID:RI56PPR4ありがとう。
下3行のうち一番下はわかるけど
上2行がわからんわ。
ちょいと調べてみます。
ありがとうありがとう。
0413名前は開発中のものです。
2014/10/08(水) 13:39:32.30ID:RI56PPR4しらべた!
おー、コレは簡単だ。
ありがとう。
ここを参考にしたよ。
http://www.atsuhiro-me.net/unity/dev/terrain-heightmap
0414名前は開発中のものです。
2014/10/08(水) 15:18:03.99ID:YvaGWdB1あれって□や丸などあらかじめ決められた形のものしか設定できないのでしょうか
0415名前は開発中のものです。
2014/10/08(水) 17:19:06.81ID:Kfz+eIpv乙、頑張れ
>>414
Mesh Colliderというメッシュ形状に合わせた衝突判定オブジェクトがある、多用すると重くてかなわん(メッシュ形状最適化とかのアセットがあるくらい)、まぁ最近のPCなら大丈夫だけどな
あと通常のゲームにおいてMesh Colliderが必要な物ってそうそうない。(FPSくらいだ)
0416名前は開発中のものです。
2014/10/08(水) 17:44:20.31ID:tDFu0HtxMeshCollider
0417名前は開発中のものです。
2014/10/08(水) 17:46:03.30ID:tDFu0Htx0418名前は開発中のものです。
2014/10/08(水) 18:47:00.64ID:UNDKF68b0419名前は開発中のものです。
2014/10/08(水) 19:05:29.58ID:YvaGWdB1>>416
ありがとうございます スマホアプリを作るうえで探していたのであまり使わないほうがよさそうですね・・・
0420名前は開発中のものです。
2014/10/08(水) 20:58:20.92ID:Kfz+eIpvアセットだけでNGにしてるとなるよね
あのbotマジ迷惑
0421名前は開発中のものです。
2014/10/08(水) 22:30:36.72ID:IuJbFAW1GUIです
>>408
文字にはスプライトと同じレイヤーの順番が付けれない気が
そしてスプライトに3Dと同じ優先順位をつけるにはカメラ増やさないといけない気が
>>409
やはりこれしかなさそうですかね
とりあえず暫定処置でカットイン中は文字を消してみたけど、ちょっと違和感あるなー
最悪カメラ増やすかな
もし他にご存知のかたいたらお願いします
0422名前は開発中のものです。
2014/10/09(木) 00:05:47.29ID:pOzuDkYu0423名前は開発中のものです。
2014/10/09(木) 01:18:19.97ID:g3qS9ioxたぶん2つ勘違いしてるんなじゃないかな。
まず、カメラを増やすのは必須ではないよ。
必須なのはOverlayでないCanvasを用意すること。
それと、もしカメラを増やすにしても、それは決して難しいことでも煩雑なことでもないよ。
むしろ空間の把握と管理のために複数カメラにすべき構成のほうが多い。
0424名前は開発中のものです。
2014/10/09(木) 02:41:30.58ID:QEk+5VvLゴミに多重債務抱えたみたいでワロタw
0425名前は開発中のものです。
2014/10/09(木) 13:04:03.92ID:Hp0Z8Ppwそれはアセットをかえばどうにかなると思いますよ
0426名前は開発中のものです。
2014/10/09(木) 14:33:16.49ID:tGgRD0EYふおおおお
なんか知らない単語が出てくるなと思って調べたら4.6のベータが来てたんですね
ありがとう
Canvas便利そうね
4.6正式公開までこの部分は放置します!
0427名前は開発中のものです。
2014/10/09(木) 15:27:12.35ID:+VloW8aa重力を地球のように中心にさせるにはどのような方法があるでしょうか。
よろしくお願いします。
0428名前は開発中のものです。
2014/10/09(木) 16:27:03.20ID:K1rYK9Oo0429名前は開発中のものです。
2014/10/09(木) 16:34:53.76ID:Hp0Z8PpwcubeやSquare上にprayerを歩かせるには、アセットをかうのが一番ですよ
0430名前は開発中のものです。
2014/10/09(木) 17:33:26.86ID:q1cDEZhkほんと中途半端な機能だよコレは
0431名前は開発中のものです。
2014/10/09(木) 17:48:47.26ID:taQp7ENXこれだな。
ttp://clubknot.net/?p=446
0432名前は開発中のものです。
2014/10/09(木) 19:06:47.46ID:3JXyqIMMキャラクターのモーション等の良い作り方はありませんか?
blenderでいちいちモーション付けして、unityで合わなかったら
またblender・・・っていうのは少しきついものがあるので・・・
0433名前は開発中のものです。
2014/10/09(木) 19:15:26.60ID:O27DuRqoもちろんそこからまたBlenderに戻る、ってのはできないが。
そもそも合わないってどういうことなのか。
合ったモーションを作ればいいし合ったモーションを作る為に
必要な要素がBlenderでの作業時に揃えられてないってだけの話では。
0434名前は開発中のものです。
2014/10/09(木) 19:28:52.23ID:q1cDEZhkところでUnityフォーラムのスクリプトを綺麗にコピペする方法ってない?
普通に全選択してコピーすると行番号までコピーされて困る
0435名前は開発中のものです。
2014/10/09(木) 19:57:38.49ID:3JXyqIMM>>434
ありがとうございます!
微調整できるんですね!調べてみます!
0436名前は開発中のものです。
2014/10/09(木) 20:36:59.12ID:O27DuRqoAnimationはFBXに含まれてるままでは編集できない。
プロジェクト内に複製して(Ctrl+D)それをAnimatorControllerなり
Animationコンポーネントに放り込んだ上で
ヒエラルキーに置いた状態でそのオブジェクトを選択している時に
Animationウインドウで編集可能になる。
0437名前は開発中のものです。
2014/10/09(木) 20:37:08.13ID:Hp0Z8Ppwキャラクターのモーションを作るなら、アセットを買えばいいとおもいますよ
0438名前は開発中のものです。
2014/10/09(木) 22:06:46.11ID:1BQk+EqV437は無視で。
この本にモーションのこと詳しく載ってるから買いなさい。
「Unity 2Dガイドブック―誰でもできる簡単ゲーム制作」
0439名前は開発中のものです。
2014/10/09(木) 22:23:26.78ID:DgWKwk8mこの本にモーションのこと詳しく載ってるから買いなさい。
ひよこ本
0440名前は開発中のものです。
2014/10/09(木) 22:24:07.39ID:Mg4VNV/D0441名前は開発中のものです。
2014/10/09(木) 22:56:09.90ID:CUPe6svR「変態村」
0442名前は開発中のものです。
2014/10/09(木) 23:38:02.66ID:Hp0Z8Ppwアセットをかうほうがいいと思いますよ
0443名前は開発中のものです。
2014/10/09(木) 23:41:45.53ID:IbqNHLdkなにか思い当たる理由ありますか?
terrainの上は普通に走る。
0444名前は開発中のものです。
2014/10/10(金) 00:18:18.04ID:OZmypWXW当たり判定などがなく、ただ表示するだけの2D画像は、
どのように(何を使用して)表示すれば良いでしょうか?
タップすると右に若干動いて元の位置に戻るという動きの為に、
iTweenの使用を考えているので、DrawTextureは使用できず悩んでます。
こういった場合、スクリーン座標を計算してInstantiateで表示するのか、
iTweenを使用せず、DrawTextureを使用するのか、
はたまた他の何か使用して表示するのが良いのでしょうか?
0445名前は開発中のものです。
2014/10/10(金) 00:40:01.56ID:8QkzWbMqふつーにスプライト
表示したい画像のインポート設定をSpriteにしてシーンビューにドラッグドロップだ
0446名前は開発中のものです。
2014/10/10(金) 01:59:22.34ID:iFYmggXmただ表示するだけの2D画像は、アセットを買えば簡単に表示できますよ
0447名前は開発中のものです。
2014/10/10(金) 09:58:08.41ID:yqnegn7/デバッグ(ステップ実行やブレイクポイント)にチャレンジした人いますか?
0448名前は開発中のものです。
2014/10/10(金) 10:06:57.44ID:HJ2rnFErノシ
0449名前は開発中のものです。
2014/10/10(金) 11:06:59.99ID:ctWHOmHgリジッドボディ系で斜面を走るとがたつきがち、ってのはあるが
その程度かな。
0450名前は開発中のものです。
2014/10/10(金) 11:38:44.63ID:Kxxnf336447じゃないけどできた?
自分はvs pro持ってたから試してないんだけどできるなら友人に勧めてみたい!
0451名前は開発中のものです。
2014/10/10(金) 11:44:37.53ID:OZmypWXW返信ありがたいです。
そのSpriteをプログラムから表示する際は、
Instantiateを使用するのでしょうか?
0452名前は開発中のものです。
2014/10/10(金) 12:03:40.33ID:VJTEBvPJアセットをかえばいいと思いますよ
0453名前は開発中のものです。
2014/10/10(金) 17:28:00.15ID:sRvKk7FTここにいる人達はMAYAとか買って作ってるんですか?
0454名前は開発中のものです。
2014/10/10(金) 17:33:12.99ID:mMtmwaKyゲームモデル作る分にはmayaやMaxに劣るところはないしね。
0455名前は開発中のものです。
2014/10/10(金) 17:58:43.91ID:o1s7jWORキャラクターなら、アセットを買って作ればいいと思いますよ
0456名前は開発中のものです。
2014/10/10(金) 18:23:49.89ID:gZPiWpHw3Dの方がメインでついでにunityの場合とプログラムメインで3Dにも手を出しちゃう場合で違うよ
ちな3Dでクリーチャー以外を作りたいなら最低限作りたいキャラの3面図を描けるなり用意できる必要が有るよ。
レゴみたいにはいかないから気をつけて
0457名前は開発中のものです。
2014/10/10(金) 18:29:23.73ID:UHEUnESLお金出せるなら絵柄が気に入っている作者に直接のアプローチができるのがUnityのアセットストアの面白さの一つだと思う。
アセットの連絡先が絶対について回るんで直接連絡とれるってのはある意味良い点だと思う。
だからっつってGoogleの住所晒しは肯定しねぇかんな>>グーグル
0458名前は開発中のものです。
2014/10/10(金) 18:49:30.51ID:sRvKk7FT>>454
ありがとうございます
無料なのでとりあえず試してみる事にします
そういえば本もいろいろありましたね
>>456
3Dの方がついでです
でもカワイイキャラを出したいっていう矛盾
CG頼めそうな人がいないので絵の基本から学ばないといけないですかね
>>457
ホームページ見たらハングルで手も足もでないです
せめて英語なら
0459名前は開発中のものです。
2014/10/10(金) 18:58:17.52ID:gZPiWpHw3面図が製図としてパーツ位置の破綻無く可愛いと思える絵柄で描けるなら基本はやらなくていいよっ
または左右非対称で灰色でグニャグニャした「幼稚園児が初めて作ったお母さん」の粘土細工を可愛い(キャラ)と思い込むという手も
0460名前は開発中のものです。
2014/10/10(金) 19:29:42.07ID:sRvKk7FTなるほど
絵のかきかたのサイトとかでそういうのがあった気がします
参考にして書いてみますね
私のおかんはジャイアンのかーちゃんよりこわいので可愛いと思うのはキツイです
0461名前は開発中のものです。
2014/10/10(金) 19:37:50.60ID:BGZ+PIpx色んなフォルダに分散してたりしてめんどいのですが…
アセットは買います
0462名前は開発中のものです。
2014/10/10(金) 19:44:34.60ID:UHEUnESL入っていても使って居ないならビルド先には含まれない(Resources,Plugins,StreamingAssetsの3種のフォルダにあるものは必ずビルドバイナリに入る)
あともう一度Importしようとするとすでに入っているものはnewのマークが付かないのでこれをメモして削除してもよいかもしれない。
一番良いのは使ってないアセットの削除機能の追加をUnityに申し込んでおくことかもしれない。(実現するかは別として)
0463名前は開発中のものです。
2014/10/10(金) 20:25:00.81ID:BGZ+PIpxあっやっぱりメモって自分で整理していくしか無いんですね
ありがとうございます
DLしたパッケージ一覧の所で個別にアンインストールできたら一番良いんですけどねぇ…
ストア回って色々試したくなった時用のプロジェクトを別に作っとこうかな
0464名前は開発中のものです。
2014/10/11(土) 11:35:08.24ID:L3QzhoXA0465名前は開発中のものです。
2014/10/11(土) 12:02:11.40ID:dfVR3Wh4シーン移動した際に操作できなくなってしまいます
キャラクターを動かすタイプのゲームなんですが、
オブジェクトにさわる → 次のステージにいったあとメインカメラ・キャラは次ステージに存在しているのにフリーズ?してしまいます
移動にはApplication.LoadLevel("");を使っています
0466名前は開発中のものです。
2014/10/11(土) 12:05:32.11ID:dfVR3Wh40467名前は開発中のものです。
2014/10/11(土) 14:04:37.28ID:VeIKrkKE0468名前は開発中のものです。
2014/10/11(土) 16:25:36.64ID:7lSxqAYKuGUIでプレイヤーを操作する十字キーとボタンを作りたいです
OnClick()のところにプレイヤーオブジェクトを設定
GameObject->SendMessage(string)でプレイヤーオブジェクトのメソッド名を入れて動かすことはできたのですが
「ボタンを押した時だけ」ではなく
ボタンを押している間、プレイヤーを移動させるメソッドなどを呼び出すにはどうしたらいのでしょうか
0469名前は開発中のものです。
2014/10/11(土) 17:09:21.38ID:mtuhy6ayタブレットやスマフォ用にJoyStick真似クラス作るって事?
importでStandard Assetsにmobile joystickのプレファブあるからそれ使えば良いんじゃないの?
UnityでProjectウィンドウ上で右クリックimport packageメニューからStandard Asset(Mobile)って項目選べば使える。
0470名前は開発中のものです。
2014/10/11(土) 18:28:25.87ID:p3Ry01Sq機能が被るプラグインの開発を禁止して終わったよ
0471名前は開発中のものです。
2014/10/11(土) 19:00:03.37ID:LE/BZYpluGUIでプレイヤーを操作する十字キーとボタンを作成するには、アセットを買えば簡単ですよ
0472名前は開発中のものです。
2014/10/11(土) 21:00:10.18ID:RPwZNHVDキャラクターにアイテムを装備して攻撃した時、装備したアイテムによって、遠距離攻撃や近接攻撃と振る舞いを変えるときどのように実装すれば、どうすればいいのでしょうか……
列挙型か、配列を使って装備したアイテムをキャラクターの変数に代入することまでは考えたのですがそこから先がからっきしです…
0473名前は開発中のものです。
2014/10/11(土) 21:04:55.31ID:mtuhy6ayモノによるってのと一生懸命コーディングするってのはおいといて
基本的にアイテムの情報をテーブル化しておく
エクセルでもなんでもいいから表にしておき、そのデータを参照するクラスやメソッドを作る、
表の縦方向のインデックス(アイテムのID)でアイテム情報を引き出せばやりたいことの第一歩になる。
0474名前は開発中のものです。
2014/10/11(土) 22:10:35.40ID:LE/BZYplアセットを買えば簡単に実装できますよ
0475名前は開発中のものです。
2014/10/11(土) 23:53:29.80ID:p3Ry01Sqアクションだとそうもいかないよな
0476名前は開発中のものです。
2014/10/12(日) 01:39:43.78ID:JuIG8I2b例えば、弾の弾速とか攻撃力を武器によって変えるぐらいなら473みたいなデータをもってりゃいいりゃいいが、
普通、武器クラス(コンポーネント)を作って、
それを継承して剣とか銃クラス作ってPlayerコンポーネントの武器スロットにつけるような感じかな。
Unityはコンポーネント指向なんだからテーブル化は基本じゃないよ。
0477名前は開発中のものです。
2014/10/12(日) 02:05:52.70ID:e0xiKn8/別にコンポーネント指向とテーブルデータは直交しないじゃないか
テーブル参照してコンポーネントのパラメタやAddComponentのコンポーネントをパラメタから行う関数とかがあっても良いわけだし。
どのみちテーブル化しないとデータの扱いで困るし、↑なんかはxls(csv) -> C# sourceジェネレータ作っても良いのだし
0478名前は開発中のものです。
2014/10/12(日) 02:12:28.08ID:XguXipRJまずは配列で組もうとしてみる。
int[]で(id, name, attack, range)としたら、
sword (0, 0, 10, 2)
bowgun (1, 1, 5, 4)
→武器の名前もint?呼び出すの面倒?とりあえず2次元配列かジャグ配列?
次に、Hashtable。
(0, "Sword")
(1, "Bowgun")
→keyで呼び出しは楽だけど、要素の数だけ作る?
そして、ItemBean的な
メソッド無しの非Monoクラス作成。
public class ItemBean
int id;
string name;
float attack;
float range;
+コンストラクタ。
new ItemBean[] で配列インスタンス化。
→中身は直入力?データだけさらに別クラス用意?csvファイル?サーバー?
って感じでどんどん考えながら進むもんだ
0479名前は開発中のものです。
2014/10/12(日) 02:22:22.52ID:3aBkHhJjその辺のデータをどう組み上げるのかとか
本体のキャラクターデータとどう接続してくのかとか
ヘイト値とかヒットレート管理するのに他オブジェクトにそれをどう通知するのか、
その接続はどういう形式で行うのかとか。
その辺でデザインパターンみたいなのをすげえナルホドって思うw
0480名前は開発中のものです。
2014/10/12(日) 02:54:14.49ID:Q5Z4GcsVありがとうございます!
武器ごとに攻撃方法を変更したいため、
プレイヤーが使用中の武器を取得後、使用中の武器によって、プレイヤーからの攻撃入力に合わせて弾を放つか、剣を振るのか、
なんのattack系の関数を実行させるのか、決めさせたかったのですが、武器オブジェクトごとにクラスを作り、中にパラメーターを保持させ、攻撃動作はコンストラクタにやらせるのでしょうか?
武器ごとにアタック関数を作ってしまってSendMessageを使ったほうがいいのでしょうか…
0481名前は開発中のものです。
2014/10/12(日) 02:56:35.29ID:Q5Z4GcsV0482名前は開発中のものです。
2014/10/12(日) 03:11:03.79ID:JuIG8I2bこんなような武器のベースクラスを作って、
それを継承してAttackインターフェースを実装する。
呼び出し側はAttackとかやれば、剣とか銃を意識しないで
Attackを実行してくれる。
継承した武器スクリプトは武器プレハブにくっつけて、
攻撃力とか編集する。
それをPlayerの武器スロットにつける。
Interface WeaponAction{
void Attack();
}
public abstract class Weapon : MonoBeiheaver, WeaponAction
{
public 攻撃力
abstract void Attack();
}
■ このスレッドは過去ログ倉庫に格納されています