1read 100read
2012年09月ゲ製作技術5: 【3Dゲームエンジン】Unity質問スレッド2 (965) TOP カテ一覧 スレ一覧 2ch元 削除依頼
俺がこっそりとゲームを作るスレ 第2期 (943)
テトリスを作る (755)
作業じゃないミニRPGを作ってます (388)
HalfLife2のソースコードをみんなで解析するスレ (253)
C# C# C♯ でゲームを作ろう Part2 (345)
ピクミンの水の表現はどうやってるの? (256)

【3Dゲームエンジン】Unity質問スレッド2


1 :2012/07/28 〜 最終レス :2012/11/02
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3他
次スレは>>970を踏んだ方が建てること。ダメなら>>980>>990が建てて下さい。
■本スレ
【3Dゲームエンジン】Unity総合スレッド15
http://toro.2ch.net/test/read.cgi/gamedev/1340097261/
■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/
●リンク
・Unity(日本公式サイト)
 http://unity3d.com/japan/
・ユーザーガイド&リファレンス
 http://unity3d.com/support/documentation/
 (日本語訳)
 http://ws.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/Manual/
・チュートリアル
 http://unity3d.com/support/resources/tutorials/
・FAQ
 http://answers.unity3d.com/index.html
・Unityのスクリプト公式
http://unity3d.com/support/documentation/ScriptReference/index.html
・MSDN
http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

2 :
■前スレ ■関連スレ
【3Dゲームエンジン】Unity質問スレッド1
http://toro.2ch.net/test/read.cgi/gamedev/1334895067/
▼△▼Autodesk Maya専用質問スレッドPart25▼△▼
http://toro.2ch.net/test/read.cgi/cg/1328685505/
【ローポリ】iClone総合 Part1【ですが伺か】
http://toro.2ch.net/test/read.cgi/cg/1253465512/
■関連書籍
・ Unityではじめるゲームづくり
   Michelle Menard / バンダイナムコ訳
・ Unityでゲーム開発者になる本 -上・下巻-
   Sue Blackman / Bスプラウト訳
・ Unityによる3Dゲーム開発入門
   宮川義之 / 武藤太輔
・ Unity入門 〜高機能ゲームエンジンによるマルチプラットフォーム開発〜
   高橋啓治郎
・ Unityマスターブック 3Dゲームエンジンを使いこなす
   和泉 信生

※プログラム、CG、業界話、ゲーム論、芸術論はスレ違いです。以下の板で適切なスレで書き込みをした方がより詳細に答えが返ってきます。
▼プログラム板
http://toro.2ch.net/tech/
▼プログラマー板
http://kohada.2ch.net/prog/
▼CG板
http://toro.2ch.net/cg/
▼芸術デザイン板
http://awabi.2ch.net/art/
▼ハード・業界
http://anago.2ch.net/ghard/

3 :
新スレ立ておめ&乙>>1
良スレだと思って眺めてたがここって前スレが1個目だったんだなw

4 :
>>1
前は総合スレ?で全部やってたからな

5 :
>>1
早速質問おながいします。
名前が「player」のGameオブジェクトに「testScript.js」というスクリプトを引っ付けて有る状態で、
別のスクリプトから、「testScript.js」内の関数を呼び出したいです。
現状のソースは
private var playerObj : GameObject;
function Awake () {
 playerObj = GameObject.Find("player");
}
private function UpdateFunction () {
 var myScrpt = playerObj.GetComponent("testScript");
 myScrpt.testFunc(); <-ここでエラー発生
}
となっていて、ソースを保存した時点で
BCE0019: 'testFunc' is not a member of 'UnityEngine.Component'.
と、エラーが出ます
ちなみに、エラー該当箇所をコメントアウトして、
Debug.Log(myScrpt.GetType());
と書くと、コンソールに
testScript
と出るので、コンポーネント自体は取得出来ている模様。
もう二日もハマってます。ご助力を!!

6 :
C#ならdowncastしてみそなんだが
jsもどきだとvar myScriptの宣言で型指定するのがええんでないの?
private function UpdateFunction () {
// var myScrpt = playerObj.GetComponent("testScript");
 var myScript : testScript = playerObj.getComponent(testScript); // Quoateいらないんじゃないかなと思う
 myScrpt.testFunc(); <-ここでエラー発生
}
こんなの

7 :
>>6
レスサンクス
やってみたけどやっぱり上手く行かなくて、
playerObj.GetComponent.<testScript>().testFunc();
と書き換えた上で、呼出元のスクリプトと同じフォルダ(Standaed Assets内)に突っ込んだら動いた。
いまいち原因がよく分らないからモヤモヤするー。
ありがとうございました。

8 :
Androidで通信処理作ってるんですが、
任意のデータ(xmlとか)をやりとりする方法ってありますでしょうか?
色々調べてるとSystem.Netが携帯端末で使えないと見たので・・・

9 :
>>7
var myScrpt = playerObj.GetComponent("testScript");
これだとmyScriptはUnityEngine.Component型になっている
ComponentにはtestFuncというメソッドは無いのでBCE0019のエラーが出る
var myScrpt = playerObj.GetComponent.<testScript>();
これは指定された型で返されるのでmyScrptはtestScript型になりtestFuncも呼び出せる
var myScrpt : testScript = playerObj.GetComponent("testScript");
これはmyScriptはtestScript型になるがGetComponentが返すのはComponentなので暗黙の型変換が行われる
暗黙の型変換のルールが分からないがこれで失敗するのであれば明示的な型変換(キャスト)を行う
キャストする場合は以下のようにする
var myScrpt = (testScript)playerObj.GetComponent("testScript");
var myScrpt = playerObj.GetComponent("testScript") as testScript;
HTMLとかで使うJavaScriptだとエラーにならず動いたりするけれど
UnityのJavaScriptはJScript.NETに近いらしいからエラーになるのかも

10 :
>>9
すんげぇよく分った。まじでありがとう。
>>6の指摘は合ってたって事だね。折角の指摘を生かせなくて申し訳ないぜ。

11 :
>>8
XMLファイルはやり取りできるみたいですね。
ttp://answers.unity3d.com/questions/10348/upload-download-xml-files.html
任意といわれると難しいですね。画像データなどでは読む命令があるので、勝手が変わってきます。
汎用性を持たせるのであれば、やはりバイナリでのやり取りでしょうか。
ちなみにPOST送信もできますし、JSONのやりとりもできるみたいです。
基本的に通信はWWWを使います
ttp://docs.unity3d.com/Documentation/ScriptReference/WWW.html

12 :
アニメーション(モーション)って動きのないボーンは
反映されないの?
わざわざ動かないのにダミーデータ用意する必要あり?
レイヤーわけずにCrossFade使ってるんだが。

13 :
>>1
おつです

14 :
>>12
・・・?

15 :
>>12
質問の3行が全て微妙に関連性の無い質問に読めてよく意味が分らんけど、
止まってる時の状態を表すアニメーションも用意しといた方がいいよ。

16 :
>>11
ありがとうございます。
Unity同士でxmlのデータやりとりをしたい感じでWWWやNetworkViewでは難しいかな?と思ってます。
ダメ元でSystem.Net.Socketsで実装してみます。
それで駄目だったときはNetWorkViewで挑戦してみようと思います

17 :
iOS版Unityで作ったアプリにpdfを読み込ます事はできるのでしょうか?
本家フォーラムでもいくつもスレ立ってますが、
具体的なこれという方法が見当たらないです。
パッケージや、プラグインの情報でもいただければ幸いです。
よろしくお願いします。

18 :
まだまだ初心者なんですけど、質問です。
配置したGameObjectのキャラクターの向きによって、そのテクスチャ(例えば胸に付けている名札みたいなもの)が
暗いのですがどう調節したらよいでしょうか。
主に全体を照らすポイントライトに背を向けたときなのですが、環境光を増やすと他が明るすぎたり、です。
各々の名札の前に1つずつライトをくっつけておくとかでしょうか…?
(↑これはなんかライトの無駄遣いなような気がしてしまいます…)

19 :
IEnumerator routin()ってどういう意味の関数でしょうか?
update()などと何が違うのでしょう?

20 :
>>18
マテリアルのシェーダを変えて環境光の影響を
受けないものに変えてみてはどうでしょうか。

21 :
>>20
ありがとうございます

ご助言を元に、
名札を、全体を照らしてるポイントライトの影響を受けないレイヤーに設定して
更にシェーダーをVertexLitにしてEmissiveColorを明るめに調整したところ一定の明るさにすることができました。

22 :
質問させていただきたいと思います。
iTweenなのですが、
放物運動を表現しようと思って
下方向→ iTween.MoveTo(GO, {"y":GO.transform.position.y+10, "time":1, "easetype":iTween.EaseType.easeInQuad, …
横方向→ iTween.MoveTo(GO, {"x":GO.transform.position.x+20, "time":1, "easetype":iTween.EaseType.easeOutSine, …
みたいなコードを書いてみたのですが、横方向にしか動かず
後に書いた横方向iTweenで動作が上書きされているようなのです。
もし複数のiTweenを同時に動かす方法がありましたら教えていただけたらと思います。

23 :
>>22
使ったこと無いんで不確かで申し訳ないけども、
xyのパラメータを一度に渡すことってできないの?
下記のページなんかを見る限りではそんなことやってるとは思うのだけど、、、
ttp://24app.net/blog/archives/989

24 :
rotation の数字に e が入ってる時があります。
こんな感じ → 2.091013e-05
e が入らないようにする方法はありますか?

25 :
丸めればおk

26 :
>>22
>>23がいってくれたように複数指定するか
"position"を使ってベクトル指定すればいいよ

27 :
>>25
e の手前で丸めると結構大きく位置が変わっちゃうんですよ。
transform.localEulerAngles.x = e がついたまま;
ってやるとStringは駄目だよって怒られるし…

28 :
>>23
うろ覚えですまん、
Vector3 hogePos = new Vector3(hogeX, hogeY, 1.0f);
iTween.MoveTo(GO , hogePos , ・・・);
こんな感じじゃだめなんだっけか?hogeXとhogeYがそれぞれ動かしたい方向ね。

29 :
>>27
eついてても数値扱いだよ。
stringはダブルクオートで囲む必要があるじゃん。

30 :
>>27
JAVAで書いてて型宣言していないとか?
あとはダメ元でキャストしてみる。

31 :
>>23
>>26
>>28
レスありがとうございます。
x,y同時に動かすことは動かすのですが
放物運動ということで、y方向には重力風に、x方向は減衰風に、と
それぞれ別のイージングをほどこしたいのです。
yは"easetype":iTween.EaseType.easeInQuad
xは"easetype":iTween.EaseType.easeOutSine とパラメータを設定したかったりします。
わかりにくくてすみません><;
これら同時に適用する方法等ありますでしょうか…。

32 :
iTween詳しくは知らんが
MoveUpdateとかで出来るんじゃないの?

33 :
>>31
再び不確定…というか実験半分で申し訳ないんだけども、
対象オブジェクトの上に空の親作って、その親に片方の挙動負担してもらうと
どうなるかな。
下方向→ iTween.MoveTo(GO, {"y":GO.transform.position.y+10, "time":1, "easetype":iTween.EaseType.easeInQuad, …
横方向→ iTween.MoveTo(GOの親, {"x":GOの親.transform.position.x+20, "time":1, "easetype":iTween.EaseType.easeOutSine, …
って感じで。
iTween知らないんで「無理だろjk」ってなったらやる必要ないです;


34 :
>>32
>>33
レスありがとうございます。
いろいろ試してもみたところ、iTweenで座標がいじられる場合は、軸指定がなくても
座標はVector3で更新されるらしく、途中で割り込んで書き換えても、結局そのVector3で上書きされるみたいでした。
なので、空の親をつくるのが良いっぽいですね。
forumとかも見てみたらそのやり方でやるしかないっぽいでした。
http://answers.unity3d.com/questions/42902/Multiple-iTween-MoveTos.html
ありがとうございました。

35 :

Unity始めたばかりの初心者なのですが、キー設定の方法がわかりません。
fキーを押したらっていう場合は if(Input.GetKeyDown("f")){}
と書けばいいのですが、”FIRE1”のように起動画面での設定変更ができるようにしたいです。
調べたところEdit>ProjectSetting>Inputから追加で出来るようですが、そこでの設定方法がよくわかりません。
Sizeの値を増やして項目を増やしたあとどうすればいいかがわかりません。
また、スクリプト側では(JavaScript)どのように記述したらいいでしょうか。
どなたか丁寧に教えてください。
”やりたいこと”をまとめると、割り当て変更可能なキーを押すと、”SELECT1”という入力で認識されて、FIRE1のようにスクリプトを動かしたいです。
よろしくお願いします。
http://ws.cis.sojo-u.ac.jp/~izumi/Unity_Documentation_jp/Documentation/Manual/Input.html
http://hamken100.blogspot.jp/2012/05/unity-3.html
http://docs.unity3d.com/Documentation/ScriptReference/KeyCode.html
ここは一応目を通しました。

36 :
>>35
ゲーム内でキーを変えるってことだよね?ctrlのところをaとかでも作動するようにしたいと。
調べたらまだその機能ないからfeedbackで機能実装に投稿してってさ。
http://answers.unity3d.com/questions/55278/Modifying-properties-of-a-buttonName.html
http://feedback.unity3d.com/unity/all-categories/1/hot/active/ingame-key-remapping
単にキーを増やしたいだけなら、sizeを増やすか既存のを変更して、Nameにselect1を入力すれば
>35の二行目の"f"を"SELECT1"に変えればよくなる。
キーボードなりジョイスティックのどのボタンとつなげるかはinput inspectorのpositive ButtonのとこかJoy Numに書けばいい。
手元のをみてほしいんだけど、Fire1のとこはNameがFire1でPositive Nameがleft ctrlでしょ。left ctrlでFire1が動くのはそういうわけ

37 :

>>36
回答ありがとうございます
現在script(javascript)のほうで
if(Input.GetKeyDown("select1")){記述}
と書いていて、
UnityのほうでEdit>ProjectSetting>Inputの
InputManagerで
Name:serect1 PositiveButton:f であとのところはFire1などと同じにしてありますが、
起動したあと、Inputのところでキー設定し直しても、し直さなくても
スクリプトが動いてくれません。どこがいけないのでしょうか・・・


38 :
エラーがでたならエラー貼る。
スクリプトが動いてないのはどう検証してるの?
既存のctrlやspaceのもともとあるname(Fire1とかjumpとか)をselect1と書いてるところに書いたら記述は動くの?
>>起動したあと、Inputのところでキー設定し直しても、し直さなくても
の一文がよくわからないんだけど。
再生ボタン押さずにinputの設定変えて起動したあとは、キーボードを押すだけじゃないの?

39 :

>>38
>>既存のctrlやspaceのもともとあるname(Fire1とかjumpとか)をselect1と書いてるところに書いたら記述は動くの?
Fire1と書いてあり、動作していた記述をserect1にしてみましたが、
スクリプトが動きません。
エラーは出てないと思います。
>>起動したあと、Inputのところでキー設定し直しても、し直さなくても
というのは、Windowsアプリ用に出力して起動し、Inputのタブでのキー変更をしてもしなくてもという意味です。
検証については実際に出力したものを起動して反応しているかを確かめています。
どう設定したら良いのでしょうか・・・・
どんなふうに設定したらいいでしょうか?

40 :
ゆうまいと思ってたんだけど、serectじゃなくてselectね…一応スペルミスはみといたほうが。
inputって10いくつかあるでしょ。それの初期からあるやつ、JumpとかFire1をselect1の代わりに書いてもらうつもりでした。
Jumpなどはうごくとわかってるからそれでもだめならどこに問題があるか範囲を狭められるでしょ
ブレークポイント(IDEのデバッグ機能)使ってみるとかか、ただ環境の整備が大変だけど…
Debug.Log()関数をifの前後実行文に書いてどこが実行されてるかみるとかかな?
winアプリ用に出力ってのは、一々エクスポートしてるのか…インプットくらいなら三角形押したらだけでいい気がするけど

41 :

スペルミス確認してみました
ありがとうございます
なるほど、script側のほうを変更してみること以外に、
初期からあるJumpとかの部分をselectって名前にかえてやってみるってことですね
初期からあるFire1のNameをSelect1にかえて、Fire1で作動していたscriptをselect1
に変えてみましたが、何故か動作しませんでした。
つまりはscript側での記述がおかしい、あるいは足りないのだと思います。
いま動作させるためにやっていることは、InputManagerのところの編集と
script側でif(Input.GetButtonDown("select1")){}
とやっているだけです。何が足りないのでしょうか。


42 :
質問いいでしょうか。
Update内で、Quaternion.Slerpとか使用してキャラクターを回転させているのですが
360度以上回転させることってできますでしょうか?
Quaternionとかrotation周りを調べているのですが、指定方向に回転等はあるのですが
単純にくるくると複数回転さすにはどうしたらいいでしょうか?宜しくお願いします。
(例えば、900(=360x2.5)を指定したら2.5回転してくれたりとか…)

43 :
ちょっとわかりませんね…話がかみ合ってない気もするし
uploaderにアップしてくれたら、どこがだめか探してもいいけど?
フォルダをzipにしてもサイズがでかいから、ゲーム制作板の

44 :
途中送信
ゲーム制作板のローダーがあるから、
http://gmdev.xrea.jp
とかにアップしてみて

45 :
>>43>>44>>41あて

46 :

>>45
http://gmdev.xrea.jp/big/index.php?no=49
アップロードしました。
DLしたら報告おねです
なかにあるREADに一応少し書いてあります。
よろしくお願いします。

47 :
dlしました がファイル多すぎてどれかわからないです。
シンプルな条件で試してるのかと思った。
ここまで多いとどれがわるいかわかりづらいと思うんですけど。

48 :

>>47
すみません。
本当にシンプルな方法で知りたいのですが、
InputManagerにFire1などの操作を登録してキーを割り当て、
scriptでそれを使うためには何をしたらいいでしょうか?
script例:if(Input.GetButtonDown("Fire1")){}
長い時間ありがとうございます。


49 :
http://forum.unity3d.com/threads/81798-Input-not-found
GetKey とGetButtonじゃ違うってだけらしいよ
inputのとこのnameで指定するならGetButtonだって
こんなのに気づかずすみません

50 :

あ、できました!
こんな単純なところでつまづいてるなんて。。。
ありがとうございます!!

51 :
>>50
それは何よりです。
>50に気づかず、メール送ってしまいました。それは無視してください
そこにも書いたけど、コンソールにエラーなり警告が大抵出ます。
window>コンソールで開きぱなしにして置いた方がいいですよ。
今回はGetKeyにしてたみたいですが、コンパイルは通るけどそんなキーないよってコンソール上で言ってくれますから。

52 :
iOS用ゲーム作ってるんだが、なんかタッチ入力が
数フレーム遅れて感知されない?
アクションゲームだとこの遅れはマズイなぁ。

53 :
>>27
もう解決してるのかもしれんが一応
eの手前で丸めるってのが何をしてるのか分からんかったが
e付いてるのって指数標記だから
2.091013e-05だったら数値としては0.00002091013ってところだろ
小数点以下3桁とかなら0でいいと思うんだが

54 :
>>42
試してないけどもMathf.Lerpで代用できるみたい?
ttp://answers.unity3d.com/questions/29505/jerky-rotation-when-using-quaternionslerp-on-rotat.html
さくっと見ただけなので、見当違いだったらすまん。

55 :
確実に見当違い
元々質問者も何を聞きたいのかわかってないっぽいが
毎フレーム現在の回転角に+60度ずつ足せばいいのに
どこかの基準点から自分で60度xNを計算してるっぽい
無駄な努力

56 :
複数のオブジェクトをくっつける場合ってどういう手法がありますか?
hinge joint っていうのがあるらしいんですが、オブジェクトの結合方法(方向とか)に関するパラメータが分かりません

57 :
>>54
>>55
レスありがとうございます。
自分のイメージとしては…
Quaternion.Slerp( 現在のrotaion, 現在のrotaion+900度, deltaTime );
みたいなことがやりたかったのです。
調べてみたらそもそもQuaternionでは360度以上は表現できないっぽいので
上記のように一発でやるのは無理ぽいことがわかりました。
そこで >>54のリンクを参考にMathf.Lerpで小刻みに合成していく感じで実現できました!
基本的に >>55のような感じなのですが、対象オブジェクトが既に別回転かかっているためにQuaternionで合成処理しています。
function Update(){
 rollDegree = Mathf.Lerp(rollDegree, 900, Time.deltaTime);
 childchild.transform.rotation *= Quaternion.AngleAxis( rollDegree-rollDegree_old, Vector3.up);
 rollDegree_old = rollDegree;
}

58 :
>>57
それchildchildの親回転させれば楽じゃね?

59 :
>>58
ぶっちゃけ親回転にすれば、オイラー角でできるので考えかたは楽ですねw
でも360度以上回転を考えるとやっぱり>>57と似た感じにはなってしまうかと。
(childchildって名前からして既に階層深めなので更に増やしたくない、って気持ちもありました…)

60 :
Unity一通りいじってドラッグだけで色々動かせるのはわかったんですけど
初めてスクリプトに直面したのですが、JavaScriptとC#の2種類使えるらしいですが
スクリプトはどっちを使った方がメリットが大きいとかあるのでしょうか?

61 :
迷わずC#

62 :
>>59
一応参考までに言っておくけど
0度と360度の回転クオータニオンは同じ値で
今回の場合900度は180度と同じ意味だから0〜180度の補間という結果になっていたんだよ
ついでに0〜360の値にするには value % 360.0f で
C言語のfmodと同じ値が得られるよ
>>61
簡単なテストならJavaScript
がっつりやりたいならC#
JavaScriptの方が楽だが、C#把握してたほうが効率のいいスクリプトを書けるので
それだったら最初からC#でいいじゃんという結論に至ったよ

63 :
>>60
私も上のお二人と々でC#をお奨めしますが、
もし、過去にホムぺ作成とかでJavaScriptを触ったことがあるなら
最初はJavaScriptの方が取っつきが良いかも?です。
プログラムが全くの未経験なら、迷わずC#で……

64 :
リファレンスとかで、ファンクションとかの
引数でDirection:Vector3(方向)ってあるけど、これってrotationのことなのかな?

65 :
>>64
rotationは方向じゃなくてQuaternionじゃね?

66 :
server側に実装するスクリプトの.javaでUnityEngineのAPI使うことってできますか?


67 :
スーパークラスにもAwakeがあり、継承したサブクラスにもAwakeがある場合どうなりますか?
なお、override修飾子がついていない場合です。

68 :
>>61-63
やっぱりC#ですか〜なんとか覚えてみます〜

69 :
>>64
                      X     Y     Z
方向を示すVectorは、Vecter3(  -1〜1,  -1〜1,  -1〜1) の範囲で表される。
                    左〜右  下〜上  後〜前
例えば、(1, 0, -1) と設定すると、右(x軸)と後ろ(z軸)方向、つまり右斜め後ろに進む。
更に
var direction : Ventor3;
var Speed : float;
rigidbody.velocity = direction * Speed;
transform.rotation = Quaternion.LookRotation(rigidbody.velocity);
としてあげると、設定された方向(direction)に指定のスピード(Speed)で動いて、
且つ、動いている方向にGameObjectを回転することができる。
多分こんな感じ

70 :
unityで親子関係のオブジェクトって、親が破壊されたら子も破壊されますか?
もし親と子の有り/無しを独立させようとしたらどのような手法がありますか?
何がやりたいかと言うと、移動などは一緒だが破壊は独立ということです。

71 :
>>70
親が破壊されると子も破壊されます。
親子の設定は↓です、必要に応じて設定してください。
ttp://docs.unity3d.com/Documentation/ScriptReference/Transform-parent.html
移動する前に親子にして、破壊する前に親子をやめればいいです。

72 :
Unityでオンラインゲーム本格的なの作れるんですか?
サーバーで例えば物理挙動の計算しようとしても、APIが貧弱すぎて
計算しきれません。
理想はUnityでの移動制御関数をそのままサーバー側に移植できればいいんですが
全然そういうわけにもいかなそうです

73 :
お前はUnityが万能機か何かと勘違いしとりゃせんか

74 :
>>72
知る範囲で企業でMMOを出してるところは、
PCのMMOサーバと同じ構造してるね。クライアントがUnityってだけ。
ソーシャルも同じで、ブラウザの代わりにUnityってだけっぽい。中身http通信。

75 :
たぶん、MMOとか作れる会社は、Unityを使わないと作れないんじゃなくて、
Unityは工数削減するための道具になってるんだと思う。

76 :
すごく初歩的なところで詰まっているのだと思うのですがご教授願えないでしょうか?
GameObject bullet = Instantiate(Prefab, transform.position, Quaternion.identity) as GameObject;
bullet.rigidbody.AddForce(0, 0, 1500);
これで弾が出現して飛んで行くようにしたいのですが
NullReferenceException: Object reference not set to an instance of an object
とエラーが出てしまいます。
どなたかお願いいたします。

77 :
rigidbodyついてないとかじゃね?

78 :
rigidbodyは付いているはずです。
弾にスクリプトを与えて、出現したときに飛んで行くようにすることはできたのですが
砲台にあたえるスクリプトで弾を飛ばすことができません

79 :
じゃあ弾のPrefabが設定されてないとかじゃね?

80 :
>>74
つかUnityは.NET使えるから何でもできるしな。
WCFサービスつかってもいい。

81 :
yuru

82 :
>>78
砲台からたくさん弾を飛ばすことはできているのでPrefabも設定されているはずです
今は弾に与えたスクリプトで飛ばしているのを砲台に与えるスクリプトで飛ばしたいのです。

83 :
GameObuject型じゃなくてRigidBody型じゃね

84 :
prefabを弾に設定する必要があるんじゃね?
GameObject.FindとかFindWithTagとか使って
そのものにアタッチしたときと別のものにアタッチしたときはちょっと違ってくるよ たしか

85 :
初めまして。?質問失礼します。
現在、「Unity入門」という書籍を見ながら3Dゲームを学ぼうとしています。
?本の通りに記載しているのですが、どうもエラーがでて先に進めません。
***エラー文***?
Script error: OnGUI() can not be a coroutine.??
Coroutineとyieldについてはまだほとんどわかっていない状態です。?
もし、分かる方がいらっしゃいましたら教えて頂けないでしょうか??
問題のコードを抜粋します。
??***********************************
function OnGUI(){
? // ゲームクリアであれば? 
 if (cleared){?  
  var sw : int = Screen.width;?  
  var sh : int = Screen.height;?  
  GUI.Label(Rect(sw / 6, sh / 3, sw * 2 / 3, sh /3),"Cleard!!" ,labelStyle); ?  
  // 3秒停止後にタイトルシーンへ(ここが上手く行かない)?  
  yield WaitForSeconds(3.0);?  
  Application.LoadLevel("Title");? 
 }
?}?
??OnGUI()ではコルーチンにできないってことなんでしょうけど...???
よろしくお願いします。

86 :
レスありがとうございました。
書き込んでいないところに問題がありました、すいません。
public Transform prefab;
から
public GameObject prefab;
に変えることで解決できました。

87 :
>85
UpdateやOnGUIのように
連続して呼ばれるイベント内で
直接yieldは使用不可。

88 :
>>85
87が言ってる通りだから
リファレンス見ながら該当箇所だけ直すといいよ
http://docs.unity3d.com/Documentation/ScriptReference/index.Coroutines_26_Yield.html

89 :
Unityにはデフォルトでsphereやcubeなどの形はありますが、
自分で自由な形を作成するにはどうすればいいでしょうか?
三角形や円錐などを作りたいです。

90 :
>>89
モデルをインポート

91 :
質問です。
画面全体を赤くしたりするのってどうやればいいのでしょうか?
例えば、ゲームでダメージを受けたときの表現的な。
赤半透明のplaneを作ってカメラの前で
   ∧_∧ >カメラ
    (・ω・)
.  ノ/  /ゞ 
  ノ ̄ゝ
   ∧_∧ [赤] >カメラ
    (・ω・)丿 ッパ
.  ノ/  /
  ノ ̄ゝ
みたいな感じでしょうか?

92 :
無駄なAAワラタ

93 :
>>74
ありがとうございます
厳しい闘いになりそうですが頑張ってみます

94 :
>91
それでもいいし、GUI系使ってもでもできるし、pro版なら既存のポストエフェクト系の制御とかでも可

95 :
>>94
レスありがとうございます。
planeよりかGUITextureのほうがいいかもしれないですね。
無料版なのでエフェクト系はパスでした。

96 :
少し質問よろしいでしょうか?
2D表現でマスク効果はどう実現したらよいでしょうか?
例えば、2D画像で表現されたフラスコ中に液体がたまっていく、的な。
液体(2D画像)の水面はちょっとうねうねしていて、それを左右に動かしてチャポチャポしてる感をだすようなイメージなのです…。
(unity以外のケースでは例えばフラスコの形のマスク画像を作って液体画像とマスク合成する、というような感じになるかと思います)

97 :
Texture2Dを使えば画像の
マスク処理は作れるけど、
フルにCPU処理になるから
速度はあまり期待できないかもだが。

98 :
>>91
冗談でそのAA作ったんだろうけどマジでそれ多いから。普通だから。

99 :
何が多くて何が普通なのかw

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
シューティングゲーム(非FPS)製作技術総合 (949)
ネトゲの作り方 (303)
■吉里吉里/KAG/TJS雑談質問スレ■その26 (655)
【3Dゲームエンジン】Unity総合スレッド16 (915)
推薦図書/必読書のためのスレッド in ゲ製作技術5 (657)
ウルファールのウディタ講座 (405)
--log9.info------------------
おまえらのzippo見せてみろ【2】 (780)
男は黙ってロングピース 2本目 (687)
ゴロワーズ4本目 (814)
煙草トリビア (787)
【ホタル族】ベランダ喫煙友の会【蛍族】 (294)
[スヌース]●煙の出ない煙草≪SNUS≫●5缶目 (374)
【JTI】 キャメル No.2 【CAMEL】 (725)
echo (733)
【パイプの】ガR!バージニア道3【王道】 (482)
JTキャンペーンの煙草が届いた人が報告するスレ (792)
電子タバコの初心者の質問スレ 7本目 (580)
電子タバコ 総合スレ 62本目【タール0mg】 (661)
エクスタシー シガレット (379)
【ブクブク】水たばこスレ 2時間目【プハァ〜】 (808)
タバコを吸ってる時のカッコいい仕草 (528)
電子タバコ 市販リキッドスレ 5カートリッジ目 (430)
--log55.com------------------
【××】インチキ宗教
池沼についてのムカつく話
AVに出てきそうなタイトル
防犯パトロールが特定人物を尾行監視している問題 in 生活サロン
犯罪者の名は野球のそれと一致する!
ハゲるな危険
娘の成長について語るスレ(10代〜)
そうなんだ。。