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

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

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/03/10(月) 20:41:34.44ID:xK0J6QXw
3Dゲームエンジン「Unity」の質問に優しく答えるスレです。

Windows/Mac用。JavaScript/C#/Booといった汎用言語を使用できるのが特徴です。
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3他

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

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

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

■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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0502名前は開発中のものです。2014/04/07(月) 12:01:58.59ID:qZrw5QEU
>>501
新規にクラスを作って
void OnClick() {
Application.LoadLevel("シーン名");
}
というメソッドだけ追加してボタンオブジェクトにアタッチすればいい
0503名前は開発中のものです。2014/04/07(月) 12:13:52.14ID:0uq424SJ
>>501
すみません本当に初歩的でクラスという概念がよくわかりません、
新規にクラスをというのはUIbutton messageのスクリプトとは別にjavascriptなどをつくってそちらに書いて、それをアタッチするということでしょうか?

UIbutton messageのスクリプトの13行目に
public class UIButtonMessage : MonoBehaviour
というのがあったのですがこれと同じようにしてもできませんでした、
0504名前は開発中のものです。2014/04/07(月) 12:33:31.61ID:EukDeObr
ここで、わざわざ他人の時間と手間を使って基礎勉強するなよ、。
0505名前は開発中のものです。2014/04/07(月) 12:34:34.15ID:qZrw5QEU
>>503
その辺は基礎的な事だけどスレで説明しきれる範疇じゃないので書籍を買って勉強しよう
0506名前は開発中のものです。2014/04/07(月) 13:03:35.23ID:GMKnoWGK
「慰安婦」強制に新証拠日本軍、200人をバリ島に連行 関東学院大・林教授ら
http://www.jcp.or.jp/akahata/aik14/2014-04-07/2014040714_01_1.html

 旧日本軍「慰安婦」問題で日本軍の関与と強制性を認めた「河野談話」を裏付ける新資料が、
関東学院大学の林博史教授(日本近現代史)らによってこのほど発見されました。
新資料は、旧日本軍が軍の資金を使って慰安所事件を隠蔽(いんぺい)していた事実も浮き彫りにしました。

資料は、戦後のオランダによるBC級戦犯裁判(バタビア臨時軍法会議)で裁かれた二つの事件にかかわるもの。
林教授の研究室が国立公文書館保管の資料から見つけました。

 同裁判(25号事件)で裁かれたバリ島駐屯の海軍第三警備隊特別警察隊長(海軍兵曹長)の男性が戦後、
法務省の調査(1962年8月)に対し、「戦中の前後約4カ年間に二百人位(くらい)の婦女を慰安婦として奥山部隊の命により、
バリ島に連れ込んだ」と強制的に女性を連行した事実を証言しています。

 さらに、「終戦後、軍需部、施設部に強硬談判して、約70万円を本件の工作費として貰(もら)い受け各村長を介して
住民の懐柔工作に使った。これが完全に功を奏したと見え、
一番心配した慰安所の件は一件も訴え出なかった」と、隠蔽工作についても赤裸々に語っています。

 同時に発見された同裁判の尋問調査には、警察隊長の男性が連れてきた女性を「慰安婦」
として働かせる慰安所を開いていた商人の証言や、男性によって慰安所に入れられそうになった女性の証言が存在しています。
調書には、「彼女たちが強制されていたということは、彼女たちが車から降りて
慰安所に入るときに泣いていたという事実から明らかでした」「彼女たちは(被告)によって
一人ずつ車から引きずりだされたので、服は引き裂かれていたほどでした」などの商人の証言が記載されています
また、バタビア裁判での別の裁判(88号事件)の資料も発見され、同裁判での被害者の尋問調書では、
「親米容疑で憲兵隊に捕まり、ボソドオソの慰安所に連れて行かれ、ここにずっといるか、
一人の決めた日本人と同棲(どうせい)するか、選べといわれる」「逮捕され、ボソドオソの慰安所だったホテルに連行。
憲兵隊将校の愛人にされた」などの証言が記載されています
0507名前は開発中のものです。2014/04/07(月) 13:26:40.44ID:XoNxfDTp
>>503
空のC#スクリプト作って
その中に
void OnClick(){
Application.LoadLevel("シーン名");
}
と書けばそれでいい。
まぁ勉強はしておくべき。
0508名前は開発中のものです。2014/04/07(月) 13:45:56.48ID:XoNxfDTp
なんかググってたら
using UnityEngine;
using System.Collections;

public class Goal : MonoBehaviour {
public string NextScene = "";

void OnClick() {
if (!string.IsNullOrEmpty(NextScene)) {
Application.LoadLevel(NextScene);
}
}
}
とか書いてインスペクタでシーンファイルをD&Dするみたいなのもあった。
直にシーン名とか書いちゃうとそれぞれのスクリプトを書かなきゃならなくなるから
まぁこんな風に書いた方が楽だね。スクリプト一つで済むので。
0509名前は開発中のものです。2014/04/07(月) 14:12:33.13ID:kZvsr7uN
シーンが一つでないなら直書きなんかする奴おらんやろ。
0510名前は開発中のものです。2014/04/07(月) 14:26:04.93ID:4cKGjTTi
>>503
NGUIはバージョンで全然違うので君が使ってるNGUIのバージョンから明記しないと混乱が広がるだけだぞ。
0511名前は開発中のものです。2014/04/07(月) 17:31:35.12ID:2pTLx8NW
今日、Shader Forge がセールなんだけども、
これってUnity5が出たらいらなくなるかな?
機能的にはカブらないかな?
0512名前は開発中のものです。2014/04/07(月) 18:33:34.42ID:XoNxfDTp
総合スレ向きの話だとは思うが
Unity5に新しいシェーダーエディターが付く
という話はなかったような気がする。
問題があるとすれば5でシェーダシステムに
変更・拡張があった場合それに迅速に
対応してくれるのかとかそんな感じではなかろうか
0513名前は開発中のものです。2014/04/07(月) 19:10:43.14ID:2pTLx8NW
ありがとうございます。
まったくの無駄でなさそうなので勢いで買ってみます。

なんか総合スレは聞きづらい空気で、。
0514名前は開発中のものです。2014/04/07(月) 23:06:42.26ID:0uq424SJ
>>503です

勉強不足で申し訳ないです、教本読み直してきます
NGUIのバージョンは2.7.0です

UnityよりC#の基礎からやりなおさないと駄目ですね
どうしてもソースコードが出てくるとうっとなってしまって、
スクリプトまで書いていただいてありがとうございました!
0515名前は開発中のものです。2014/04/08(火) 01:07:22.90ID:XhwW/S9Y
「You are currently offline」
と表示されてアセットストアからダウンロードできなくなったんですが、何が原因なんですか?
Failure when receiving data from the peer url: https://kharma.unity3d.com/
とも表示されます。公式ブログに書いてある対処法も試したのですが。
0516名前は開発中のものです。2014/04/08(火) 01:42:31.04ID:aBgt5Z51
>>515
http://forum.unity3d.com/threads/209158-Unable-to-Access-Asset-Store?p=1408867&;viewfull=1#post1408867

「汝の守護神、疑わしき全てを罰さんと欲し候

守護神は汝を守りし時、聖なる足跡を証とせん。

いざ汝守護られざらんと欲すれば
神の証を集めその耳目を封印すべし。」

ってばっちゃが言ってた。
0517名前は開発中のものです。2014/04/08(火) 07:45:09.05ID:ZOF66w1T
unityでのゲーム制作に向けて、これからプログラムの勉強を始めたいんだけども、JavaScript とC#、どちらを学ぶのが今後の為に良いかな?
0518名前は開発中のものです。2014/04/08(火) 07:56:59.50ID:xgSg1n62
これ見て考えてみ
ttp://www.slideshare.net/nobukazuhanada/unity3dus-c-boo
俺はC#
0519名前は開発中のものです。2014/04/08(火) 08:09:51.63ID:okmHo5vO
Booってそんなに最強だったのか…
もうC#で慣れちゃったからあれだけど
0520名前は開発中のものです。2014/04/08(火) 09:27:50.20ID:Nsc11Wqn
Assetにドラッグドロップして登録した画像が、ヒエラルキーにドロップできません(´・ω・`)
Webサイト見ながら画像をスプライトに設定しているのに何故なんでしょう。
640 * 960の画像をヒエラルキーにドロップしたら、背景画像になるかと思っていたのですが
それもできません(Build & SettingでiPhoneに設定をしています)

サンプルで持ってきたUnityの2DゲームAssetでやると、ドラッグするだけで
背景画像としてSceneに登録されるのですが、自分でプロジェクトを作るとダメで。。
根本的な何かを間違えていると思うのですが、ヒントを頂けないでしょうか?
0521名前は開発中のものです。2014/04/08(火) 11:13:51.90ID:4HKCswhv
>>517
俺も最近勉強し始めたけどC♯でやってる
JavaScriptは微妙にJavaScriptじゃないらしいし
Booは使ってる人少ないっぽいから勉強に使える資料が少なそう
0522名前は開発中のものです。2014/04/08(火) 11:57:55.88ID:F6SQMGjR
>>520
GameObjectメニュー -> Create Other -> GUITextureをクリック
ヒエラルキーに作られたUnitywatermark-smallをクリック
インスペクターの GUITexture : textureに >>520 がプロジェクトに突っ込んだ物をドラッグ
0523名前は開発中のものです。2014/04/08(火) 12:52:15.63ID:c6gCqAFg
Boo こそ至高
0524名前は開発中のものです。2014/04/08(火) 13:18:12.67ID:sdKjTBL0
Mr.Boo!
0525名前は開発中のものです。2014/04/08(火) 13:54:30.43ID:Nsc11Wqn
>>522
丁寧にありがとうございます(つω;`)
0526名前は開発中のものです。2014/04/08(火) 14:20:14.39ID:8wAj/XZJ
俺、Unityでゲーム作ったら彼女に告白するんだ・・・
0527名前は開発中のものです。2014/04/08(火) 14:46:53.81ID:5kwFitDq
ゲームの中の?
0528名前は開発中のものです。2014/04/08(火) 16:21:44.07ID:6pHi/JlU
Booが最強ってネタじゃなかったのか
0529名前は開発中のものです。2014/04/08(火) 16:52:34.05ID:aS/6RxSj
pythonが好きな人には使いやすいんじゃないかね
0530名前は開発中のものです。2014/04/08(火) 21:31:49.95ID:qX+zFtuJ
質問です
mecanimでモーションを動かしてるんですけどそのモーションには移動も含まれてます
このモーションの移動以外のポーズ部分だけを使って移動は自前のスクリプトで
やりたいと思うのですがモーションの移動をオフにする設定とかあるでしょうか?
0531名前は開発中のものです。2014/04/08(火) 22:04:24.48ID:okmHo5vO
AnimatorのApplyRootMotionを切る。
もしくはOnAnimatorMove()を書けば
HandledbyScriptになる、のかな?w
0532名前は開発中のものです。2014/04/08(火) 22:35:07.80ID:qX+zFtuJ
>>531
ApplyRootMotion切ったら出来ました
ありがとー
0533名前は開発中のものです。2014/04/08(火) 23:45:34.22ID:jf1a0QKa
 Animationウィンドウについての質問です

http://docs-jp.unity3d.com/Documentation/Components/animeditor-MultipleParts.html

 ドキュメントの「複数の動作パーツがあるオブジェクト」のページでは、AnimationView内のリストに複数のオブジェクトが表示されていますが
実際にAnimationウィンドウを開いてみると、選択中のオブジェクトが(アニメーションコンポーネントをもつオブジェクトを複数選択したとしても)
一つだけしか表示されません。

 実際に複数のオブジェクトを表示させるにはどうしたら良いのでしょうか?
05345332014/04/09(水) 00:01:39.51ID:HfHmEghJ
すみません自己解決しました

 複数編集したいオブジェクトを階層化して、親オブジェクトでAdd curveするとそこから子オブジェクト群の要素(position、rotation等)が追加でき、
追加した要素が、リストに表示されるようです。
リストを整理するために、追加した要素だけを表示するように変更されたのかもしれません。
0535名前は開発中のものです。2014/04/09(水) 00:08:00.57ID:NkM/CncB
>>531
うわ、こんな便利なのあったんですね…

横から申し訳ないのですがお聞きしたいことが。
結構基本なことなのでしょうか?
もしそうなら、ネット見てかいつまんでなんとなく勉強するのはやめて本を買いたいと思います。
0536名前は開発中のものです。2014/04/09(水) 00:08:32.08ID:uf6S7lJX
Unityが最近大流行中みたいですけどUnityで作られた面白いゲームをおしえてくだちい
0537名前は開発中のものです。2014/04/09(水) 01:49:55.41ID:pMmMuCgW
>>535
Unityに関する限り公式のリファレンスで十分だと思う。
プログラム自体はちゃんと勉強した方がいい。
0538名前は開発中のものです。2014/04/09(水) 04:47:24.27ID:AypaeFDX
すいません、敵キャラが常にプレイヤーの方を向くようなスクリプトを書いて敵キャラに付けたんですが、
うまくいきません。
敵キャラの正面とプレイヤーとの間の角度を出して、差分を埋めてゼロにするようなスクリプトなんですが、
敵キャラとプレイヤーが近づけば近づくほど角度がカクカクと高速で変わってしまいます。
angleの値を見るとマイナスとプラスが交互に切り替わってたりするみたいです。(-6 → +6 → -6 → +6みたいな)

Vector3 targetDir = target.position - transform.position;
Vector3 forward = transform.forward;
float angle = Vector3.Angle (targetDir, forward);
Vector3 cross = Vector3.Cross (targetDir, forward);
if (cross.y < 0)
angle = -angle;
float targetAngle = transform.eulerAngles.y - angle;
transform.eulerAngles = new Vector3 (0, targetAngle, 0);


後々角度範囲で条件を切り替えたりスムースに動かしたりしたいのでLookAt関数は使わない方向で考えてます
どなたかよろしくおねがいします
0539名前は開発中のものです。2014/04/09(水) 04:51:39.46ID:AypaeFDX
あ、Vector3 cross は右回りか左回りかを近い方で回るように使ってます。
これがないと、全部右回り?で回って最悪ほぼ360度回転してしまうんで。
0540名前は開発中のものです。2014/04/09(水) 05:29:15.62ID:pMmMuCgW
明確にはわからんが
Vector3 targetDir = target.position - transform.position;
Vector3 forward = transform.forward;
targetDir.y=forward.y=0;
float angle = Vector3.Angle (targetDir, forward);
Vector3 cross = Vector3.Cross (targetDir, forward);
if (cross.y < 0)
angle = -angle;
float targetAngle = transform.eulerAngles.y - angle;
transform.eulerAngles = new Vector3 (0, targetAngle, 0);
とでもしてみたら?
0541名前は開発中のものです。2014/04/09(水) 05:51:58.39ID:AypaeFDX
>>540
うお、できました!すごい、聞いてよかったです。
プレイヤーと敵の高さ(身長)の差が悪影響を与えてたみたいな感じでしょうか。
自分じゃ気づけなかったと思います、ありがとうございます
0542名前は開発中のものです。2014/04/09(水) 05:57:34.41ID:rjro2ciT
そんな事せんでもVector3には回転補完のヘルパー関数豊富にあるのにw
0543名前は開発中のものです。2014/04/09(水) 06:07:41.92ID:AypaeFDX
>>542
な、なめらかに回転させるにはMathf.LerpAngleを使うつもりですが、そういうことでしょうか…
0544名前は開発中のものです。2014/04/09(水) 06:14:32.94ID:pMmMuCgW
わかるのを使えばいいのさw
敵を1000体出す時には最適化も
考えるべきだろうけど。
0545名前は開発中のものです。2014/04/09(水) 06:18:08.56ID:rjro2ciT
Mathfとごっちゃで考えてたな、Vector3には2つしかないわ、2つで十分だけど
まぁ、速度面でアレだから自前で長々と実装したかったらすればいいけど、Angle()使ってる
時点で殆ど変わらんか逆に遅いと思う
0546名前は開発中のものです。2014/04/09(水) 12:36:07.31ID:BbXIM9W9
本当に初心者な質問ですみません
今チュートリアルのシューティングゲームを作ってるんですけどsliceした画像をドラッグ&ドロップ出来ません。禁止マークが付いてしまいます。
どうすればドラッグ&ドロップ出来るようになるんでしょう?
0547名前は開発中のものです。2014/04/09(水) 12:40:13.84ID:80LCqOyD
Hierarchyの?を展開してみ
0548名前は開発中のものです。2014/04/09(水) 12:40:53.43ID:80LCqOyD
ごめん
▲の横向きのマーク
0549名前は開発中のものです。2014/04/09(水) 12:58:24.15ID:BbXIM9W9
今ヒエラルキーにはメインカメラしか入ってません・・・

再起動しましたが変わりありませんでした
0550名前は開発中のものです。2014/04/09(水) 13:11:21.08ID:80LCqOyD
ごめんProjectの方だった
画像の横にマークあるだろ
0551名前は開発中のものです。2014/04/09(水) 15:19:33.82ID:BbXIM9W9
よく分からないのでスクショとりました

http://i.imgur.com/DZ1KmYL.png
0552名前は開発中のものです。2014/04/09(水) 15:40:39.65ID:pMmMuCgW
ちょっとやってみたが別にチュートリアルの
ままD&Dできるなぁ。
それほど手順が進んでる状態でもないし
スプライトのデータの状態がどうであれ問題なさそう。
とりあえずそのゲームタブの中に放り込むのではなく
ヒエラルキー、もしくはシーンに放り込むべき、
と言えるのはその程度か。
0553名前は開発中のものです。2014/04/09(水) 19:14:09.50ID:Q//SSKEv
ドーム型のオブジェクト作りたいんだけどどうすればいい?
0554名前は開発中のものです。2014/04/09(水) 19:21:23.45ID:waP/+/4b
>>553
モデラーで普通に作ればいいじゃないか
0555名前は開発中のものです。2014/04/09(水) 19:22:11.08ID:pMmMuCgW
そういうのは自分でモデリングするしかない
0556名前は開発中のものです。2014/04/09(水) 19:22:26.70ID:LqbxGKZq
>>551
Spriteはゲームオブジェクトではない
まずは画像を扱えるGameObjectを作るのだ
さすがに基礎すぎるので次の質問をする前に公式なり検索なりしてね
0557名前は開発中のものです。2014/04/09(水) 19:26:16.47ID:pMmMuCgW
いや、551のは公式のチュートリアルを
やってての話っぽいんだよ。
ttp://japan.unity3d.com/developer/document/tutorial/2d-shooting-game/01.html
なので多分なんか勘違いしてるだけだと思う
0558名前は開発中のものです。2014/04/09(水) 20:50:25.30ID:LqbxGKZq
>>557
撮ってある画像にメインカメラしかないのでとりあえず指摘したw
0559名前は開発中のものです。2014/04/10(木) 04:23:11.80ID:E3I/Y4sy
すいません、AssetBundle化したswfを
uniSWFで再生できた方はいらっしゃいますか?

公式に記載されているaddAssetBundleへのセットと
new MovieClipだけでは、取得できなくて。。
0560名前は開発中のものです。2014/04/10(木) 07:54:08.30ID:CNj3F1jN
>>559
uniSWFのFAQにまんま "How do I load a SWF from an asset bundle?"
とか言うのがあるよ
0561名前は開発中のものです。2014/04/10(木) 21:20:12.95ID:a0xSm23B
質問です

UnityでSTAP細胞は作れますか?
ASSETでもいいです
0562名前は開発中のものです。2014/04/11(金) 09:05:36.06ID:52b8dthd
しかしあんたも暇だね。
0563名前は開発中のものです。2014/04/11(金) 13:04:15.04ID:+Afxf3IO
UnityでSTAP細胞は作れるんですか?
作れないんですか?
レシピはないんですか?
200回以上作った人はいないんですか?
いないのでしたら小保方さんはアセットストアで売っていますか?
0564名前は開発中のものです。2014/04/11(金) 13:11:41.19ID:K59Kcu4P
何この必死な人
0565名前は開発中のものです。2014/04/11(金) 13:42:53.46ID:j3flvUAG
>>563
バーカ
0566名前は開発中のものです。2014/04/11(金) 13:50:09.06ID:fWPSi3nx
面白いと思ってるんだろうと思うと面白いね
0567名前は開発中のものです。2014/04/11(金) 14:02:13.97ID:DTJXNaS+
そんなんで面白いとか思っちゃう君もそれはそれで…
0568名前は開発中のものです。2014/04/11(金) 14:15:37.03ID:fWL5CfLS
>>567
俺も面白いと思うけどな
「俺は笑わないぜ? 知性の高い者は笑いの基準も高いのさ」
みたいなスノッブを気取った君の発言も面白い
0569名前は開発中のものです。2014/04/11(金) 14:33:24.45ID:52b8dthd
テレビの報道バラエティーが好きなのは別にかまわないけどさ、
そんな下品なゴシップとか全く興味ない人が多そうなこんなスレでわざわざやらなくても。
0570名前は開発中のものです。2014/04/11(金) 14:50:15.36ID:id95k5a7
どんな初心者のどんな質問より下らない流れだな
ToString国士様がいるみたいだから仕方ないか
0571名前は開発中のものです。2014/04/11(金) 17:46:53.71ID:+Afxf3IO
何ですか、このスレの人たちは!
質問スレなのに質問にも答えずに揶揄するばかり
クズしかいないんですね、Unity関連の人というのは
ところでToString国士様ってなんです?
0572名前は開発中のものです。2014/04/11(金) 20:30:37.73ID:nL28ANAk
座標変換を行う場合には平行移動→回転か回転→平行移動の順番かで結果が変わってくるけど
unityではこの順序はどうやって設定するのでしょうか
DirectXやOpenGLでは単にMatrixの掛け算の順番変えるだけだったので勝手が分からず困っています
0573名前は開発中のものです。2014/04/11(金) 20:42:16.94ID:Kf/brypJ
>>572
transformのpositionとrotationを設定するだけ
Vector3とQuarternionは使うけどMatrixは使いません
0574名前は開発中のものです。2014/04/11(金) 20:48:28.35ID:nL28ANAk
それはやっているけど、平行移動(position)→回転(rotation)の順番で座標変換が行われているようです
やりたいことは回転(rotation)→平行移動(position)という順番の座標変換です
もしかしてunityでは順番は固定?
0575名前は開発中のものです。2014/04/11(金) 21:02:58.09ID:9uxMHVf1
そんなに行列計算したきゃMatrix4x4使えばいいんじゃね
0576名前は開発中のものです。2014/04/11(金) 21:05:40.93ID:nL28ANAk
行列が必要なのではなく、平行移動と回転は順番によって結果が変わるという話です
どうもunityでは明示的には変えられなくてユーザに対しても順序があること自体を考えさせないようにしてるみたいですね

順番を変更する方法が見つからなかったので
代替手段として親オブジェクトに対するlocalRotationを指定してひとまず目的の動作は出来ました
しかしネイティブ開発に慣れているとこんな基本的なことも自分でいじれないとは・・・
とちょっと驚きますね
0577名前は開発中のものです。2014/04/11(金) 21:16:49.48ID:Kf/brypJ
>>576
いや最終的な座標と向きを計算してpositionとrotationに入れるだけです
間違ってるのはあなたのコーディングではないかと
0578名前は開発中のものです。2014/04/11(金) 21:19:27.55ID:pje5xyzA
そんないっぺんに変換してくれる機能ってあんの?
むしろそれを教えてくれ〜w
何かイチイチTranslate、Rotateとかやるのメンドクサイw
0579名前は開発中のものです。2014/04/11(金) 21:53:35.07ID:9uxMHVf1
だから掛ける順番で結果が変わるってのは行列特有の話なんでどうしてもその考え方で
やりたいんなら行列使うしかないだろ、アホかと
0580名前は開発中のものです。2014/04/12(土) 10:48:48.93ID:u5FusNce
プログラミング初心者です
Unity 2Dで脱出ゲームを作っています

視点毎の画像をシーン毎に作り
void OnMouseDown() {
Application.LoadLevel ("シーン名");
}
で画面遷移をしているのですが、シーン上にあるアイテムを取得するにはどうしたらいいでしょうか?

シーンAは、背景画像と、その上にアイテム画像を置いたレイヤーにしており
アイテムをタップするとDestroy(gameObject)で消すようにしている状態です
これだとシーンBからシーンAに遷移するとアイテムを取得していてもまたアイテムがある状態に戻ってしまいます、
0581名前は開発中のものです。2014/04/12(土) 11:29:37.39ID:TsNyzcCQ
>>576
もちっとScript Class Referenceよもうや。
Matrix使いたければ普通に使えるし、回転移動の制御もlocalとworld向けに個別に用意されてる。
自分のしってるやりかたと異なるから間違ってるみたいな思い込みは捨てないとだめだぞ。
0582名前は開発中のものです。2014/04/12(土) 11:33:55.70ID:C7GpygEa
管理するゲームオブジェクトを作っておいて
>>580
dontDestroyOnLoadを使う。
この辺
ttp://docs.unity3d.com/Documentation/ScriptReference/Object.DontDestroyOnLoad.html
この辺からonloadを検索
ttp://docs-jp.unity3d.com/Documentation/printable.html
あとこの辺とか
ttp://terasur.blog.fc2.com/blog-entry-87.html
ttp://gamesonytablet.blogspot.jp/2013/01/unitystatic.html
0583名前は開発中のものです。2014/04/12(土) 12:29:42.28ID:C7GpygEa
576の話は子供付けした時に適用される
変換の話ではなかろうか?
UnityはDCCツール、要するに
デザイナーが使うツールを元にしてるんで
まぁ無理もない。
一般的にDCCツールでのマトリクスの掛け合わせは
変更できない、と思う。子供付け、という概念が
複数できるようになって混乱するから。
その辺自分でライブラリとか組んでると
なんだよ子供にしたときのマトリクス指定できねぇの?
とかなる人もいるかもなぁw
0584名前は開発中のものです。2014/04/12(土) 23:22:11.76ID:iFAsmdAQ
>>580
シーンわけないほうが楽じゃないか?
同じシーンでカメラを移動させるなり、切り替えるなりする
どうしても切り替えたいならシーン切換しても残り続けるオブジェクトにデータ管理させるとか
0585名前は開発中のものです。2014/04/13(日) 00:10:05.23ID:yq8VwimK
こんな感じのやつなw

□ □ □ 背景
↑ ↑ ↑ カメラ

□ □ □ 背景
↑ ↑ ↑ カメラ
0586名前は開発中のものです。2014/04/13(日) 03:10:11.21ID:AK7n41Lm
シーン切り替えは

スタート画面→オプション
        →移動画面→戦闘画面
                →アイテム画面
って
感じで使うもの
0587名前は開発中のものです。2014/04/13(日) 12:54:39.04ID:K73MnDUX
>>584
Unity 脱出ゲームとかで調べてたらシーン切り替えていく方法にたどり着きまして
同じシーン内に画面を沢山置いてカメラを切り替えていくほうが簡単ですかね?
dontDestroyのやつにするとオブジェクトが残り続けてしまって上手くできませんでした、

シーン内でカメラを切り替えるとしたら
画面Aから始まり画面Bのカメラに移動する場合なんですが
最初に全部のカメラを変数として定義するんでしょうか?

var cameraA : camera;
var cameraB : camera;
var cameraC : camera;
.
.
.

void start () {
cameraA.enabled = true
cameraB.enabled = false
 cameraC.enabled = false
以下カメラfalse


画面Aから画面Bに画面遷移するボタンにカメラの切り替えをするときは
OnMouseDown(){
cameraA.enabled = false
cameraB.enabled = true
cameraC.enabled = false
とするんしょうか、

それとも単に画面を横に作っていってカメラのX座標を変えるだけの方がいいでしょうか?
0588名前は開発中のものです。2014/04/13(日) 13:02:18.24ID:FBEyKD1m
>>587
>dontDestroyのやつにするとオブジェクトが残り続けてしまって上手くできませんでした、
そういうのは空のゲームオブジェクト(GameObject->Create Empty)に専用のデータ保持スクリプト書いてヒエラルキーのトップに置いておく。
名前も分かりやすくMyGameDataとかにしておく
そうするとGameObject.Find("/MyGameData")見たいな検索呼び出しでレベル切り替えの最初に取り出せる。
0589名前は開発中のものです。2014/04/13(日) 13:02:20.70ID:XgfyP78c
シーン移動するとイチイチ初期化処理入るからな
1つのシーンで作った方が初心者はラクダと思う
0590名前は開発中のものです。2014/04/13(日) 13:12:01.68ID:K73MnDUX
>>588
ボタンにそれやってました!
オブジェクトでデータ管理するっていう概念が慣れないです、
残る空のオブジェクトでデータを管理してシーン切り替えで最初に呼び出せば
例えばRPGでHPやMPが減った状態で次のマップいっても初期化されないってことですかね?
今の状態だとそれこそシーン移動で初期化?最初の状態で読み込んでしまって

1つのシーンで作ってみます
0591名前は開発中のものです。2014/04/13(日) 13:12:26.48ID:eB0U3huu
>>587
自由度を考えたらカメラごと切り替えた方がいい
横に並べる形式だとあとからサイズ変えたりしたい時とかめんどくさい

あと、各画面のオブジェクトはカメラの子供にしとくと切替時にSetActiveでまとめて切り替えられるから便利
0592名前は開発中のものです。2014/04/13(日) 14:29:21.27ID:4oC/XA6G
BlenderからUnityにモデルをインポートしようとしています
インポートしたいのは2Dゲームに使おうと思っている、テクスチャを貼ったPlaneです
Blender側でfbxファイルにエクスポートして、出力されたファイルをUnity側の適当なアセットフォルダに入れているのですが
メッシュ・マテリアルが共に真っ黒になってしまいます
fbxにエクスポートする際に全選択もしていますし、テクスチャに日本語も使っていないので、ググったら直ぐ出てくる原因ではないようです
この現象はどうしたら回避できるでしょうか
0593名前は開発中のものです。2014/04/13(日) 14:43:09.59ID:V3hvkaXQ
モデルのインポートを諦めて大人しくAssetを買う
0594名前は開発中のものです。2014/04/13(日) 15:13:33.13ID:ibO2MvdT
回避も糞もMeshRendererのMaterialを自分で設定すりゃいいだけだろ
自動でやりたきゃマニュアルをしっかり読むんだな
0595名前は開発中のものです。2014/04/13(日) 15:49:52.76ID:/lEw+9x2
テクスチャを一緒にインポートしてないだけじゃない?
0596名前は開発中のものです。2014/04/13(日) 16:18:15.16ID:sU50br37
>>592
今のところマテリアル、というかテクスチャは
現状自分で設定するしかなかったんじゃなかったかな。
ttp://docs-jp.unity3d.com/Documentation/Manual/HOWTO-ImportObjectBlender.html
0597名前は開発中のものです。2014/04/13(日) 16:44:11.93ID:V7K5DU+A
すみません Unity初心者です。
所謂ネットゲームの様に 沢山の情報ウィンドウを作るのですが、
Unityを使っていなかった頃は
1ウィンドウ1テクスチャでテクスチャのピクセルを直接描き変えて作っていました。
Unityでもこうした事は可能なのでしょうか?
それともパーツ毎(画像素材毎)に何十何百のGUITextureを用意し組み合わせて
作った方が無難なのでしょうか?
0598名前は開発中のものです。2014/04/13(日) 17:41:13.58ID:FBEyKD1m
>>597
>1ウィンドウ1テクスチャでテクスチャのピクセルを直接描き変えて作っていました。
ここまでアホな実装マジでやったん?
BitBltで描画領域操作の意味で言ってるならわからんでもないけど、Unityで同じ事するとピクセル単位アクセスしかできないよ?
RenderTextureに書き込んでって話になるかもしれないが、そんなことするくらいなら普通にUI系のアセット(NGUIとか)で処理した方が遙かに楽だよ。
0599名前は開発中のものです。2014/04/13(日) 18:06:17.32ID:V7K5DU+A
>>598
アホな実装だったんですね。重かったのはそれでなんでしょうか。
NGUIの無料版も商用作品に使っても大丈夫なのかよくわからないので
とりあえず自力でパーツ分けてどうにかしてみようと思います。 教えてくれてありがとうー
0600名前は開発中のものです。2014/04/13(日) 18:13:06.29ID:2rVinYcD
>>599
条件付きで商用利用OKだったと思う
ググればすぐ出てくるんじゃない?
0601名前は開発中のものです。2014/04/13(日) 18:21:05.15ID:FBEyKD1m
>>599
割とマジレスで言うけど
お金で時間買える状況で自分のパフォーマンスが改善するのは投資なのでAsset買って済むならその方が遙かに良いんだ。
自分の時間当たりの収入を把握して、買って解決するなら買っちまえ>>NGUI

逆に自分の時間かけて作った物が売れると思ったらAssetにして売れってのがUnityの世界。
■ このスレッドは過去ログ倉庫に格納されています