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

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/11/01(土) 14:21:34.61ID:PIUwqvpm
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質問スレッド12
http://peace.2ch.net/test/read.cgi/gamedev/1411226395/

■本スレ
【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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
注意事項:アセットおじさんは優しく愛でましょう
0002名前は開発中のものです。2014/11/01(土) 14:49:06.27ID:Rj7XnXxT
すみません、スレが変更になったので、
もう一度質問させていただきます。

多少省きますが、
モーションAを4秒間流すために、
下記のようなスクリプトを書きました。
スクリプト"test"が"false"になったら、
モーションは切られるのですが、
"flag"は、1秒で"false"になろうが、
"yield WaitForSeconds(4.0);"が実行されているため、4秒後に"1"になります。
スクリプト"test"が"false"になったら、
"yield WaitForSeconds(4.0);"も無効にしたいのですが、
どう記述すればいいでしょうか?
宜しくお願いします。

function Update () {
if(script.test==true && flag == 0){
animation.Play("モーションA");
StartCoroutine("Wait");
}

if(script.test==false){
animation.Play("モーションB");
}

function Wait(){
yield WaitForSeconds(4.0);
flag = 1;
}
0003名前は開発中のものです。2014/11/01(土) 14:52:30.01ID:mcDzJ0BX
>>2
モーションのスクリプトですね。アセットをかえばいいと思いますよ。簡単にできると思いますよ
0004名前は開発中のものです。2014/11/01(土) 15:14:22.35ID:dg6Dg+ln
>>2
StopCoroutine("Wait")で止めることはできるけど
Wait()内でscript.testがFalseになっていたらFlagを1にしないようにすれば良いんじゃないの?
0005名前は開発中のものです。2014/11/01(土) 15:42:54.26ID:fisRWYR1
やっぱり動きません。
どうしたら動くんでしょうか?
#pragma strict

var moveTouchPad : Joystick;
var cube : Transform;

function Start () {

}

function Update () {

cube.position = new Vector3(
moveTouchPad.position.x,
moveTouchPad.position.y,0);
}
0006名前は開発中のものです。2014/11/01(土) 15:44:29.53ID:fisRWYR1
すいません、二度コメしてすいません。
一様URLをはらせてもらいます。
http://box.c.yimg.jp/res/box-s-vcj6l66kvdoc2h5c75hj62qmqu-1001?uid=93c5387b-59bf-4ad7-9555-d72a0450eb24&;etag=02446868141456329656779
0007名前は開発中のものです。2014/11/01(土) 16:00:03.23ID:mcDzJ0BX
>>5
プログラムは難しいですからね、無理はせずにアセットをかって使いましょう
0008名前は開発中のものです。2014/11/01(土) 17:04:17.72ID:YNWGnpDq
>>2
ありがとうございます。

>Wait()内でscript.testがFalseになっていたらFlagを1にしないようにすれば良いんじゃないの?
→すみません、上手く書き方がわからないのですが、
 Flagを1にしないとはどのように書けばいいでしょうか?

宜しくお願いします。

function Wait(script.test==false){
yield WaitForSeconds(4.0);
flag = 1;
}
0009名前は開発中のものです。2014/11/01(土) 17:09:15.78ID:mcDzJ0BX
>>8
プログラムの初歩から勉強した方が良いですね。
でも、アセットをかえばプログラムは不要ですよ。
無駄な時間をお金で買えるのですから、アセットはいいですね
0010名前は開発中のものです。2014/11/01(土) 17:30:59.23ID:kXtpAHdL
思うだが
もう本物のアセットおじさんは引退していて模倣犯が延々やってるんじゃないかって
0011名前は開発中のものです。2014/11/01(土) 17:37:22.32ID:LUlarh0f
>>7
嫌です。お断りします。ボケ。カス。
0012名前は開発中のものです。2014/11/01(土) 17:38:53.40ID:bN8v4VBm
アセットおじさんはUnityがプログラミングなしでゲームが作れると勝手に勘違いして
実際使ってみたらプログラム必須で顔真っ赤にして挫折した馬鹿の統合怨念体だから
0013名前は開発中のものです。2014/11/01(土) 17:43:17.69ID:mcDzJ0BX
UNITYはアセットがあればプログラムなしでゲームを作れるんですよ?
知らないんですか?
0014名前は開発中のものです。2014/11/01(土) 18:48:53.35ID:GKB20KAI
>>13
そういえばノード型のスクリプト作成支援の奴があったね。
コマンドがノードになっててプリファレンス設定して繋ぐとスクリプトに書き直してくれるだけだからプログラミング出来ないと使えないけど
0015名前は開発中のものです。2014/11/01(土) 19:46:28.47ID:pWEu//hb
プログラミングをなに一つ知らない馬鹿を追っ払うためにアセットおじさんは必要悪として存在しているのです
0016名前は開発中のものです。2014/11/01(土) 20:19:32.09ID:zMJJeMaT
アセット自体は盛り上がってほしいから、やぶさかではないが
アセットおじさん自体はうっとおしいってのはあるよね

結局、unity起動したときにtips紹介みたいな形でシステム側が
もう少し宣伝しても、いいんじゃないかなーとは思う

もちろんフラグで機能オンオフ有で
紹介してほしいジャンル指定できるといいかなーと
0017名前は開発中のものです。2014/11/01(土) 20:27:15.14ID:b/7PJHRH
アセットおじさんはここに書き込むことで自我を保ってる。
俺達がいるからアセットおじさんも存在出来るんだ、皆でこの事を誇りに思おう。
0018名前は開発中のものです。2014/11/01(土) 20:36:55.95ID:LUlarh0f
思わねぇよアホかw
0019名前は開発中のものです。2014/11/01(土) 20:43:26.84ID:b/7PJHRH
>>18
ま、まじかーっ!!
0020名前は開発中のものです。2014/11/01(土) 20:45:56.79ID:HDdIf6TW
そろそろアセおじを完全に消すアセットが20$ぐらいでストアに並ぶよ
0021名前は開発中のものです。2014/11/01(土) 20:51:53.91ID:bN8v4VBm
ここを覗いてる奴は誰だってアセットおじさんに変貌を遂げる可能性がある事を理解するんだ。
特にゲームが好きな人間ほどああなってしまう。彼らはその成れの果てだ。

でも彼らがいるおかげで「プログラム頑張って覚えないと、あの怨念に飲み込まれてしまう!」って気にはなれるよ。
まぁ結局、アセットおんじさんはホームレスみたいなものだから、汚物を見るような心情にはなるよ。
プログラムとゲーム制作と言う社会の理からはみ出した者達。皆あぁはなりたくないと心から願っているんだ。
0022名前は開発中のものです。2014/11/01(土) 22:26:37.14ID:zMJJeMaT
つーかアセットストアに何かしら出品したら買ってもらいたいだろ
単純にそれだけでさ。unity自体は宣伝してくれないじゃん
0023名前は開発中のものです。2014/11/01(土) 22:34:04.36ID:b/7PJHRH
>>22
ア…アセットおじさんなの?
アセットおじさんなのか?
0024名前は開発中のものです。2014/11/01(土) 23:39:55.32ID:zMJJeMaT
>>23

別に彼らのやってる事があまりにも、つまらんし予想して代弁しただけ

マジうっとおしいのは同感だが、ここでアセット、アセット壊れたレコードみたいに言うのも
結局、宣伝する場がないからだろうな、と

そういう意味でアセット作れるような人はアセットおじさんになる素養を持ってる
だからアセットおじさんは無くならん

根本的に広告する場がないってのはシステム側の問題とも言えるけど
unityの制作側にとってアセットが「おまけ」だとしたら永遠に無くならんよ。これ
0025名前は開発中のものです。2014/11/01(土) 23:44:44.05ID:yWIDgfUo
荒らすことでしか人に相手にされない残留思念の成れの果て
みたいなもんじゃないの?
0026名前は開発中のものです。2014/11/01(土) 23:46:16.56ID:yWIDgfUo
単刀直入に申し上げて唯のカマッテちゃんでしょ。
どうみても。
0027名前は開発中のものです。2014/11/02(日) 00:28:14.52ID:wbmnWiH7
>>24
ところが彼の真似して本当にアセットを勧めてしまうと怒られるんだ><
0028名前は開発中のものです。2014/11/02(日) 00:33:39.90ID:9MEVbeyV
>>26
分かっていながら反応してるあなたは荒らしか何かですか?
0029名前は開発中のものです。2014/11/02(日) 01:07:09.41ID:XKfyRXqx
どう見ても普通の人間じゃあないよなw
ttp://www.mdd-forum.net/pdd_teigi04.html

>B.以下の少なくとも1つで示されるような、制限された反復的で常同的な、行動、興味および活動のパターン
>1 1つ以上の常同的で制限された、程度や対象において異常な興味のパターンへのとらわれ
>2 特定の機能的でない日課や儀式への明白に柔軟性のない執着
>3 常同的で反復的な運動の習癖
>4 物の一部への持続的なとらわれ

アスペルガー症候群/ADAH/発達障害のどれかだねw
0030名前は開発中のものです。2014/11/02(日) 01:55:11.70ID:FlpQ9GXe
僕はアセットおじさん好きよ
たまに来る中学生がアセットおじさんに顔真っ赤で黙れ!とかいうの好きよ
0031名前は開発中のものです。2014/11/02(日) 02:00:10.08ID:eRMGeO30
ふと疑問に思ったので質問させてください。
Invoke()についてですが、


public class TestInvoke : MonoBehaviour {

void Start ()
{
Invoke("Trans",3.0f);
}

void Trans ()
{
gameObject.transform.position = new Vector3(0,0,0);
}
}


普通はこのようにして同じクラス内にメソッドにアクセスしますよね。

質問はInvoke()の第一引数に他クラスのメソッドを指定することはできるのか。ということです。
どなたかご存知の方いらっしゃいましたらご教授願いたい。
0032名前は開発中のものです。2014/11/02(日) 02:05:06.56ID:iEp3VQQf
早速中学生がw
0033名前は開発中のものです。2014/11/02(日) 02:09:51.37ID:g8b/2Mgz
>>31
Invoke()の第一引数に他クラスのメソッドを指定することはできるのかということですが、
あまり複雑に考えずに、アセットをかうのが早道だと思いますよ
0034名前は開発中のものです。2014/11/02(日) 02:32:04.26ID:FPxMCyAg
【Unity入門・学習書籍】

----------------<汎用>---------------------------------
・Unityライブラリ辞典 ランタイム編←英語が読めない奴は必須な。
http://www.amazon.co.jp/gp/product/4877832858/
・プログラミングC# 第6版←やさしいC#の方がいいかも。
http://www.amazon.co.jp/gp/product/4873115175/

----------------<Unity4向け>--------------------------------------------
・Unity4入門 最新開発環境による簡単3Dゲーム製作<-ひよこ本。Mecanim対応
http://www.amazon.co.jp/dp/479737490X
・Unity4ゲームコーディング <-ひよこ本の続き。
http://www.amazon.co.jp/dp/4797376473
http://www.sbcr.jp/support/11791.html <-書籍の誤植情報
・Unityで作るスマートフォン3Dゲーム開発講座 <- Mecanim対応。
http://www.amazon.co.jp/gp/product/4798126195/
・Unity 4マスターブック <-Mecanim対応、コルーチンをしっかり扱っている
http://www.amazon.co.jp/dp/4877832742
・ゲームの作り方 Unityで覚える遊びのアルゴリズム
http://www.amazon.co.jp/dp/4797370084
・ゲーム作りのはじめかた <- Mecanim非対応。レベルデザインとかの話多い。
http://www.amazon.co.jp/dp/4797377364/

----------------<Unity 3向け>---------------------------------
・Unity入門 <- 黄色本。 少し古いがわかりやすい。
http://www.amazon.co.jp/gp/product/4797365331/
・Unityではじめるゲームづくり
http://www.amazon.co.jp/gp/product/4797367725/

----------------<2D向け>----------------------------------------------
2D向けは良い本がまだないので、とりあえず公式チュートリアルで
http://japan.unity3d.com/developer/document/tutorial/2d-shooting-game/
0035名前は開発中のものです。2014/11/02(日) 07:38:34.70ID:3uy5elTC
>>30
ア…アセットおじいさん…なのか?
0036名前は開発中のものです。2014/11/02(日) 12:21:32.37ID:7lOQcL4p
>>31
メソッドシグネチャ見ればできない事は明らか
void Invoke(string methodName, float time);

もちろん次の様にすることで別のクラスのメソッドは起動できる

void Update()
{
if(SomeTrigger == true) {
Invoke("InvokeSomeClassMethod",1.0f);
SomeTrigger = false;
}
}

void InvokeSomeClassMethod()
{
SomeClassInstance.WeNeedSomething();
}
0037名前は開発中のものです。2014/11/02(日) 15:43:18.90ID:+9zTIi/j
Unity で作っているシーンに対して
マウスやキーボードを自動操縦させて
繰り返しテストを自動で行いたいのですが
何か方法はありますか?

あるいはどのアセットを買えばそれができるようになりますか?ww
0038名前は開発中のものです。2014/11/02(日) 16:56:44.58ID:G99rBQNq
>>37
マウスやキーボードの自動操作って同じ動作繰り返すだけだけどそれでいいの?
0039名前は開発中のものです。2014/11/02(日) 17:01:16.35ID:v7eITH0C
>>37
マウスやキーボードを自動操縦させて繰り返しテストを自動で行うアセットをかえばいいと思いますよ。アセットストで検索してみましょう
0040名前は開発中のものです。2014/11/02(日) 19:09:14.85ID:g1Ts87kr
>>37
普通に、スクリプトを組む時点で入力値保持用の変数作って、それにInputスクリプトを使って、変数操作で、代入する形じゃ無理なの?
0041名前は開発中のものです。2014/11/02(日) 19:33:46.71ID:+9zTIi/j
>>40
なるほど。やっぱり自前で用意するのがいいのかな。
Unity なら皆が共通で使っているフレームワークか何かあって
そのほうがバグが少なくてすむかなと思ってたので
0042名前は開発中のものです。2014/11/02(日) 23:19:53.11ID:1Ps4gB9/
transformのpositionって
C#だと一回Vector3を外出ししなきゃいけないけど、
なんでjavascriptはそのまま代入できるん?
0043名前は開発中のものです。2014/11/02(日) 23:39:31.55ID:mlaf+QE6
中でイキそう・・・
0044名前は開発中のものです。2014/11/03(月) 00:11:47.59ID:tPZ5ypcx
>>42
C#のVector3が構造体だから
0045名前は開発中のものです。2014/11/03(月) 06:59:57.26ID:2KK3eMPf
>>42
コンパイル時にUnityが書き換えてくれてるだけらしい
0046名前は開発中のものです。2014/11/03(月) 10:01:45.82ID:zMJrGGpt
お前らが見ている2chは無料版なんだよ
アセットおじさんを消すには100$払わないとダメなんだよ
タダで使ってる癖にガタガタ言うじゃねーよ
まったくこれだから乞食は…
0047名前は開発中のものです。2014/11/03(月) 10:53:13.82ID:TN4x4IA3
>>46
Unity使ってる時点で乞食なんだよ。
金ある普通の人は皆UnrealEngine4使ってる
0048名前は開発中のものです。2014/11/03(月) 13:13:10.05ID:+ySVdbDf
UEでFPS以外作れる=c/c++フルスクラッチ出来る=
UEすら使う必要ないんだが?

流石エターナル厨は貫禄が違うな。
0049名前は開発中のものです。2014/11/03(月) 14:30:44.24ID:TN4x4IA3
>>48
UEを知らないおじさんは黙ってろ
0050名前は開発中のものです。2014/11/03(月) 14:52:26.25ID:N2EcJFKv
blenderで作ったアニメーションがうまくインポートできません。
blender側では2つアニメーションを作ったのですがUnity側ではDefaultTakeという名前になって
しかもアニメーションは1つしかインポートできていませんでした。
BlenderのActionEditorではFボタンは2つとも押してあります。
アニメーションはオブジェクトのLocRotのみです。
バージョンは
blender v2.72
Unity v4.5.5f1
0051名前は開発中のものです。2014/11/03(月) 15:30:24.68ID:swhGcf29
>>50
blenderで作ったアニメーションのインポートは、アセットをかうと簡単にできますよ
0052名前は開発中のものです。2014/11/03(月) 17:58:28.98ID:IBevrPQw
どなたか窓ガラス等にリアルタイムで向こう側を映す方法をご存知ありませんか?
リアルタイムに移す方法が何処にも乗っていないのです・・・
0053名前は開発中のものです。2014/11/03(月) 18:29:09.12ID:swhGcf29
>>52
窓ガラス等にリアルタイムで向こう側を映すには、アセットをかったら簡単にできると思います
0054名前は開発中のものです。2014/11/03(月) 18:51:43.52ID:hwEgDjnq
>>52
これはググれば出てくる
俺が以前調べて見つけたことがある
というか水面の反射とかでも応用できるやん
0055名前は開発中のものです。2014/11/03(月) 20:21:14.13ID:FEuOXM5V
>>52
描画は詳しくないから後学のために逆に教えて欲しいんだけど、リアルタイムじゃないって事はテクスチャの描き変えが…っていう話?

サブカメラとアルファでどうこうはできないのかな。
0056名前は開発中のものです。2014/11/03(月) 22:02:59.11ID:IBevrPQw
>>55
調べたところに乗ってたのはシェーダーに背景のテクスチャを乗せて屈折・・・みたいなやり方でしたね
0057名前は開発中のものです。2014/11/03(月) 22:07:39.80ID:pO4lDJ5k
Unityのシーンビューで角度を変えずに画面内を移動するってどうやるんですか
Blenderなどの3Dソフトなんかでは、スペース押しながらとかシフト押しながら画面をドラッグとかで出来るんですが…
0058名前は開発中のものです。2014/11/03(月) 22:11:23.87ID:n/BnavLy
>>52
鏡の位置にもう一つカメラをつけてそのカメラの映像を投影する
普通にやったら激重なので反射映像のピクセルを1/4位にしたりとかね
もちろん鏡に映った絵は荒れてる。反射はレンダリングコスト高いんだよ
0059名前は開発中のものです。2014/11/03(月) 22:19:43.96ID:UrTkR7jj
>>57
ただ平行にカメラを移動させたいのなら、カメラのtransform.localpositionで適当に移動。
並行投影の話だったらカメラのProjectionをorthograpticに。
0060名前は開発中のものです。2014/11/03(月) 22:26:14.87ID:swhGcf29
>>57
Unityのシーンビューで角度を変えずに画面内を移動するには、アセットをかいましょう。お勧めです
0061名前は開発中のものです。2014/11/03(月) 22:32:01.21ID:Zquztyc2
>>57
Alt、Ctrlで色々。

>>59
真性アスペ…じゃないよな、ギャグだよな。
0062名前は開発中のものです。2014/11/03(月) 22:33:26.01ID:JxU/Tgpv
>>57
Windowsだとセンタードラッグかな
0063名前は開発中のものです。2014/11/03(月) 22:40:07.60ID:pO4lDJ5k
>>59
え、ゲームのプレイ中の話ではなくて、
開発中の画面の話ですよね?
ゲームビューではなく、シーンビューのことですが合ってますか?
プレイ中のメインカメラの話ではないです

というかシーンビュー内右上に出てるXYZの十字マークのの真ん中を押して並行モードにすれば、
視点を平行に移動出来るからこれで代用するっぽいですね

やりたかったことは現在の視点をそのままで平行移動、ってことだったのですが

ありがとうございます
0064名前は開発中のものです。2014/11/03(月) 22:40:38.97ID:+ySVdbDf
>>52
@Realtime Cube Reflection(Pro only)
AScreen Space Reflection(SSRR $60)
B仕事する床(Dx8的古典手法+Zバッファ)

好きなの選んでいいのよ?
0065名前は開発中のものです。2014/11/03(月) 22:41:21.87ID:pO4lDJ5k
>>62
確かにwindowsですが、センタードラッグというのは一般的な言葉じゃないようで検索しても引っかかりませんでした
0066名前は開発中のものです。2014/11/03(月) 22:45:35.74ID:Zquztyc2
色々応用の効かない残念な中学生だったか…
0067名前は開発中のものです。2014/11/03(月) 22:50:26.44ID:pO4lDJ5k
>>66
あ、自分のことですか?すいません、>>61読み飛ばしてました
Alt、Ctrlでも出来なかったので、両方押したりシフトと同時押ししたりしたんですができませんでした
0068名前は開発中のものです。2014/11/03(月) 22:59:33.70ID:pO4lDJ5k
>>62
センタードラッグというのがマウスホイールドラッグのことなら、
それでは平行移動出来ません

平行移動というか表現が難しいのですが、
Blenderで言うとシフトを押しながらマウスホイールドラッグのことです
0069名前は開発中のものです。2014/11/03(月) 23:07:25.08ID:swhGcf29
>>67
アセットをかうとできると思いますよ
0070名前は開発中のものです。2014/11/03(月) 23:12:13.99ID:Zquztyc2
>>68
パン表示とオービット表示じゃないの?
0071名前は開発中のものです。2014/11/03(月) 23:17:25.59ID:WKfpui6o
>>68
マウスホイールドラッグが平行移動だよ。
それは違うんだと主張したいならどうしようもないが。
一般的にそういうカメラ操作は
タンブル(回転)、ズーム(前後)、ドラッグ(上下左右)と呼ぶ。
Unityのそれは基本Alt+3ボタンの各ドラッグに設定されていて
これはMayaと同じになるように作られている。
Blederでも基本的に同じことだが違うように見えるといわれると
キミの目が節穴なだけだ以外には答えようがない。

マウスホイールドラッグが平行移動だということは
XYZのギズモの下のPersp/IsoをIsoにしてみればわかる。
この二つはカメラでの投影の仕方を変えているだけで
仮想的に作られているシーンビュー用のカメラの動かし方は同じだ。
■ このスレッドは過去ログ倉庫に格納されています