14/07/03 22:32:56.13 FdjThcxv.net
>>203
お客さん、踊り子に触れたらダメよ
もう3年ぐらい回り続けてる人だから
211:名前は開発中のものです。
14/07/04 00:06:34.41 c2MTBNH7.net
>>205
そんなに長く居座ってたっけ?
treeboaの別アプローチなら納得するかもしらんが、アセットちゃんはここ半年くらいに沸いたんじゃ?
(そういえばその半年前はもっと酷いのが居たなwww)
212:名前は開発中のものです。
14/07/04 00:52:10.48 VBk62LKo.net
>>198
チュートリアルみたら分かるけど、3dには無い要素も結構含まれてるからなぁ
唐突に2dを作れるようにはならないね
213:名前は開発中のものです。
14/07/04 01:01:00.52 q9drZTxa.net
>>202
パーツをバラバラにして動かす奴のほうがメインじゃね?公式チュートリアルがそのタイプだし
214:名前は開発中のものです。
14/07/04 01:56:45.63 MtaEHS9A.net
cubeオブジェクトを長方形にしてlocalscaleのX軸を1F単位で
増減させる事で格ゲーのライフバーのような、内部数値によって
伸縮するゲージを作ったんですが、起点が中心にあるせいで
伸縮させると片側が伸び縮みするのではなく、左右両側から
中心に向かって伸縮していまいます。
これを解決する方法はありますか?(起点をオブジェクト左端に置くとか)
215:名前は開発中のものです。
14/07/04 02:16:17.53 wR5yBZ5m.net
>>209
座標の中心がどちらかの端面にある立方体モデルを作るといい
216:名前は開発中のものです。
14/07/04 02:35:35.75 MtaEHS9A.net
>>210
それをしたいのですが、それってHierarchy→Create→Cubeなどではなく
完全自作っていう事ですよね?
217:名前は開発中のものです。
14/07/04 02:43:37.29 wR5yBZ5m.net
>>211
うむ、Unityの標準プリミティブって融通が効かないから(球とかポリゴン数やばい)
なんらかのモデリングソフトでそれぐらいは作れるようになっとくといいかと
スクリプトでモデルを出力する手もあるけど
218:名前は開発中のものです。
14/07/04 03:47:34.42 MtaEHS9A.net
>>212
なるほど・・・
ありがとうございました
219:名前は開発中のものです。
14/07/04 07:22:33.68 hc2kb0Fa.net
NGUIのUILabelで縦書きをしたいのですが
何か方法はありますか?
調べても出てこなくて。
220:名前は開発中のものです。
14/07/04 07:29:08.51 WsivLMs6.net
>>214
アセットを購入するという方法がありますよ。
221:名前は開発中のものです。
14/07/04 07:51:51.54 cjLco/W6.net
lookatがiPhone実機だと適用されないのですが
pro版のみの仕様だったりしますか?
4.5.1を使っています
222:名前は開発中のものです。
14/07/04 08:05:46.38 hc2kb0Fa.net
>>214
ありがとうございます!
縦書きする為に有名なアセットがあれば
お勧めしてください。
223:名前は開発中のものです。
14/07/04 12:14:25.34 NPAj8i2R.net
>>217
アセットストアで検索したらいいと思うよ
224:名前は開発中のものです。
14/07/04 12:20:27.58 58i9wtLO.net
>>217
アセットでは解決しないよ
225:名前は開発中のものです。
14/07/04 12:43:12.82 X8NyIDls.net
>>213ちょっとしたモデリングができた方が良いのは確かだけれど、
1.空のゲームオブジェクトを作る
2.↑の子としてキューブを作る
4.キューブのローカルX座標をキューブのスケールXの半分にする(大きさが1,1,1なら、座標を0.5,0,0にする)
5.ゲームオブジェクトのスケールXをいじる
っていう方法でもできるよ 回転や拡大の中心点変えたい時は空のゲームオブジェクトを親にするのが楽ちん
>>205そうだねごめん。今度はちゃんと客席から眺めるだけにするよ
226:名前は開発中のものです。
14/07/04 12:45:49.24 WsivLMs6.net
>>219
アセットを「購入」しなければ解決はしませんよ?
227:名前は開発中のものです。
14/07/04 12:51:21.07 X8NyIDls.net
>>216
ルックアットはモバイル端末でもフリー版でも使えるはず。
予想できるのは…
ルックアットを呼ぶ前の処理でエラーが起きてて向きを変える処理まで辿り着いていないとか…
(実機でエラーが起きてもアプリは停止しない)
それならApplication.RegisterLogCallbackとか使って例外を画面に表示すると捗るよ。
タッチの判定をInput.GetMouseButtonとかInput.mousePositionみたいなマウス系の命令でやってるとか…
(マウス系の命令でモバイル端末のタッチは取得できない)
それならInput.touchCountとかInput.GetTouchのタッチ系の命令を使うと良い。
ただタッチ系の命令はエディタで反応しないから、エディタ用のマウス命令と実機用のタッチ命令両方書いとく必要があるよ 知ってたらごめんね
228:名前は開発中のものです。
14/07/04 12:55:51.90 WsivLMs6.net
>>222
アセットを買うことで謝らなくて済むようになりますが
どうでしょう?
229:名前は開発中のものです。
14/07/04 13:38:39.76 MtaEHS9A.net
>>220
出来ました!
これで単純なゲージ類はすぐ作れそうです
ありがとうございました
230:名前は開発中のものです。
14/07/04 18:58:10.31 9Bc+cY7U.net
ラグドールを設定してみて、パーツの対応関係を間違えたのでやり直したいんですが
どうやって再設定すればいいんでしょうか
各パーツのキャラクタージョイントを一つずつ選択していって削除するしかないですか?
231:名前は開発中のものです。
14/07/04 19:35:39.47 NPAj8i2R.net
>>225
アセットを買えばいいと思いますけど
232:名前は開発中のものです。
14/07/04 20:11:20.22 58i9wtLO.net
アセットでは解決しないよ
233:名前は開発中のものです。
14/07/04 21:33:21.35 wR5yBZ5m.net
>>220
それは盲点だったわ・・・スクリプトや外部ツール使わなくても工夫次第で意外となんでもできるもんなんだな
234:名前は開発中のものです。
14/07/04 21:38:35.28 WsivLMs6.net
>>228
アセットを購入すればもう少し賢くなれるでしょうね
235:名前は開発中のものです。
14/07/04 22:51:43.24 8iwJAlvh.net
>>222
アセットを買え、って言う人は、スレに粘着している基地害なので、気にしちゃいけない
236:名前は開発中のものです。
14/07/05 00:35:34.45 fwhKGKE3.net
>>230
アセットを買うのは間違いなんですか?
237:名前は開発中のものです。
14/07/05 00:36:14.68 ZH3A8ic4.net
アセットはアシェットというほうがかっこいい!!
238:名前は開発中のものです。
14/07/05 07:00:17.73 adPva+FU.net
>>222
処理をすっきりさせたらLookatが効きました。
ありがとうございます
239:名前は開発中のものです。
14/07/05 08:30:15.26 Tl1GrWSu.net
アセットでは不可能だ
240:名前は開発中のものです。
14/07/05 09:28:48.81 P/6a1HI3S
Unityで実装されたブラウザアプリの実行時速度を外部からコントロールできるような
手法やツールはあるのでしょうか。
241:名前は開発中のものです。
14/07/05 11:31:47.10 4hned8nP.net
xx
242:名前は開発中のものです。
14/07/05 14:40:33.98 uavTcDyB.net
public int hp { get; set; }
これを
public int hp {
get {
return this.hp;
}
set {
this.hp = value;
}
}
って書き換えると下記のエラーがでる。なんでさ。。。
StackOverflowException: The requested operation caused a stack overflow.
PlayerInfo.set_hp (Int32 value) (at Assets/Scripts/Player/PlayerInfo.cs:13)
PlayerInfo.set_hp (Int32 value) (at Assets/Scripts/Player/PlayerInfo.cs:13)
PlayerInfo.set_hp (Int32 value) (at Assets/Scripts/Player/PlayerInfo.cs:13)
PlayerInfo.set_hp (Int32 value) (at Assets/Scripts/Player/PlayerInfo.cs:13)
PlayerInfo.set_hp (Int32 value) (at Assets/Scripts/Player/PlayerInfo.cs:13)
PlayerInfo.set_hp (Int32 value) (at Assets/Scripts/Player/PlayerInfo.cs:13)
243:名前は開発中のものです。
14/07/05 15:10:24.46 yKo8Fb0P.net
>>237
getter, setterの名前とインスタンス変数に付けた名前が一緒だから
this.hpを左辺値で解釈するとsetterが、右辺値でthis.hpとしてもgetterが呼ばれる。
222のsetterとgetterは永遠に自分を呼び出す
244:222
14/07/05 15:20:48.23 uavTcDyB.net
>>238
あ~、なるほどー。
理解しました!ありがとうございました。
245:名前は開発中のものです。
14/07/05 18:51:37.42 DdQVwyxA.net
そういやダークおじさんってこのスレだったけ?
グラボのスレ見てたら出没してて戦慄を覚えたw
246:名前は開発中のものです。
14/07/05 19:01:05.79 yKo8Fb0P.net
>>240
またそういう「いあ、いあ、くとぅるふ」みたいなこと言うと来るかもしれないぢゃないか!!
247:名前は開発中のものです。
14/07/05 19:53:00.68 LqlDa1fK.net
>>241
Assetを購入することで
来るのを阻止できると思いますよ。
248:名前は開発中のものです。
14/07/05 19:58:22.49 oSqj5Eii.net
一匹いるだけで十分うざいのに昔もう一匹いたの?それとも同一人物?
249:名前は開発中のものです。
14/07/05 20:30:09.68 fwhKGKE3.net
>>243が一匹目
250:名前は開発中のものです。
14/07/05 20:48:21.60 SilqY6PO.net
すみません、一昨日透明な方法について質問した>>186です。
今起きた現象の意味が分からなかったのでまた質問させて頂きます。
スタンダードパッケージのFX water(Pro Only)シェーダー(頂点/フラグシェーダー)の最初のサブシェーダーの中に
Blend SrcAlpha OneMinusSrcAlpha
と透明になってもらうためにブレンディングを付け足して透明度を自由に変えることができるようになったのですが
その水の中(カメラから見て水より向こう側)に置いたオブジェクトがまったく見えません…
シェーダーのいらない部分を確かめながら消していき
カリングやデプス、ブレンディングをいくつか追加したり消したり
と試行錯誤してみたのですが結局うまくいきませんでした。
しかしその後アルファ値を少しいじって
適当にオブジェクトを水に出し入れしたら
さきほどやりたいことどおりに水の中で映ってくれました…
驚いてその時のコードをもう一度見返しましたが結局自分が最初に付け足した
Blend SrcAlpha OneMinusSrcAlpha とオールドカードの部分を消していた
ぐらいしかやってることはありませんでした。
一応チャンスと思い保存しといたのですが、Unityを再起動すると
元の向こう側のオブジェが見えない状態になっていました。
ブレンディングを変えればいいのか
カリングやデプスなどが必要なのか
一時的にGPUの質が落ちてIF文で別の方向に行ったのか
それともUnity Pro限定とかのせいなのか
一体なにが原因だったのか意味が分かりません。
どなたか原因はわからなくてもいいので水の向こう側をちゃんと映す方法を教えてもらえないでしょうか…?
無知な長文本当に申し訳ない。
251:名前は開発中のものです。
14/07/05 21:07:22.01 BMnfLCcxE
質問です。Unity初心者です。
NGUIでiOS/Android向けのアプリを作ろうと勉強中です。
複数のスプライトを利用してパラパラ漫画のようなアニメーションを作りたいのですが、
やり方として下のように大きく2つに分かれるかなと思ってます。
1. 標準のAnimation(Animator?)を使う
2. NGUIのAtlas内のSpriteを入れ替えまくる
こちら、どちらの方がパフォーマンスに優れていますかね?
スマートフォンなので、あまり負担のかからない処理にしたいのです。
1. の方かなと個人的に思ってますが・・・。
ちなみに、アニメーションは自由に止めたり再生したいです。
お詳しいかたいらっしゃいましたら、ぜひご教授いただきたいです。
252:名前は開発中のものです。
14/07/05 21:02:02.66 LqlDa1fK.net
>>245
Assetを購入しなければ
一生オツムが弱いまま終わってしまいますよ。
本当にそれでいいのですか?
253:名前は開発中のものです。
14/07/05 21:11:58.63 5RDMk77l.net
>>245
シェーダを下記のように変更したらどうでしょうか
SubShader {
Tags { "RenderType"="Transparent" "Queue"="Transparent+1"}
Blend SrcAlpha OneMinusSrcAlpha
ZWrite Off
~略~
}
254:名前は開発中のものです。
14/07/05 21:24:05.24 yKo8Fb0P.net
>>245
水とか透明表現の関係は描画順序とかにも依存するので一概にコレが原因って言うのは非常に難しいよ
255:名前は開発中のものです。
14/07/05 21:48:11.50 6/5YeGIR.net
>>245
反対側からみてみ?
描画順の問題だったら見え方が違うかもしれないよ
モニターの裏から見ろって事じゃなくて、おぶじぇくとのむこうからみるってことだからな
256:名前は開発中のものです。
14/07/05 21:53:25.70 SilqY6PO.net
>>248,233,234さん
非常に助かりました!
透明にする時はTagでの描画順序的なものを考慮するべきだったんですね。
これでやっとモーション作りに移れそうです。
迅速な返答、ありがとうございます。
257:名前は開発中のものです。
14/07/06 00:00:05.93 N5QQMiFF.net
>>251
最近のunityスレは殺伐としてるのでとっても心あたたまったよ
頑張れ
258:名前は開発中のものです。
14/07/06 01:27:30.34 +x1vY1xa.net
>>232
幼女っぽい
259:名前は開発中のものです。
14/07/06 02:18:14.83 1ai0I56Z.net
Shuriken(ParticleSystem)のrotationの回転軸は変えられないのでしょうか
波動エフェクトを様々な角度にして生成したいのですが
260:名前は開発中のものです。
14/07/06 02:45:22.90 jnVGzpVR.net
>>254
アセットを買えばいいと思うよ
261:名前は開発中のものです。
14/07/06 06:22:10.29 hlWRxZH9e
Unity2Dで
モンスターを次々と左右から出して中心に向かって歩かせたいのですが、
scaleをx=-1にして反転画像を使うとドローコールがどんどん増えます。
始めから反転画像を用意する以外にドローコールを増やさない方法はありますか?
262:名前は開発中のものです。
14/07/06 09:57:14.52 b+O76MgTq
ちょっと疑問に思ったんだけど
質問スレのアドレスってググると2つあって
レスは同じものがあるのだけれど、
微妙にレスの番号とか、レスのあるなしがあるけどなんで?
スレリンク(gamedev板:980番)
スレリンク(gamedev板)
263:名前は開発中のものです。
14/07/06 08:34:29.99 +M1clTAW.net
javascriptでゲーム制作を勉強中です。
"!"の使い方について教えてください。
ちょっと詳細を省きますが、
下記のような式がありまして(色々省いています)
var open_switch : boolean ;
var temp_open_switch : boolean ;
if (temp_open_switch != open_switch)
→これは比較演算式で左右の値が等しくない場合は”ture”ですよね
if (!open_switch)
→このように、先頭に来る場合はどのような意味になるのでしょうか?
ググったけれ見つけられず、
申し訳ございませんが、宜しくお願いいたします。
264:名前は開発中のものです。
14/07/06 08:41:02.52 1ai0I56Z.net
>>258
if (!open_switch)
は
if (open_switch==false)
と同義
265:名前は開発中のものです。
14/07/06 08:50:31.77 +M1clTAW.net
>>259
なるほど、ありがとうございます!
そうすると下記のような場合だと
var open_switch:GameObject;
if(!open_switch)
→
”open_switch”が"GameObject"とイコールではないとなるのでしょうか…
すみません、宜しくお願いします。
266:名前は開発中のものです。
14/07/06 08:51:42.60 FBnZyoZb.net
Unityで実装されたブラウザアプリの実行時速度を
外部からコントロールできるような手法やツールはあるのでしょうか。
Unityアプリのスピードを、速くしたり、遅くしたりということをツール等を
使ってできるのかがわかりません。
タスクマネージャからブラウザのプロセスの優先度を下げたり、上げたりして
みましたがアプリのスピードを変える事ができませんでした。
どなたかご存知でしたらご教授ください。
267:名前は開発中のものです。
14/07/06 09:04:00.69 1ai0I56Z.net
>>260
その場合はopen_switchがnullのときだけ
つまりopen_switchに何のGameObjectも代入されてない場合にifの先が実行される
・・・と思う
自分もまだ勉強中ゆえ本当にそうかはちょっと自信がない
268:名前は開発中のものです。
14/07/06 09:11:45.22 +M1clTAW.net
>>262
ありがとうございます。
参考にしてみます。
”!”の記入の仕方が色々あり、読み解くのが
難しいです。。。
269:名前は開発中のものです。
14/07/06 10:31:59.86 N5QQMiFF.net
>>263
! variable は数値、真偽値、オブジェクトに対して
variable == 0
variable == false
variable == null
として使う
明示的じゃないので嫌いな人も居るから読みやすいように書けば良いと思うよ。
270:名前は開発中のものです。
14/07/06 10:34:02.81 9dRES+AK.net
∩___∩
|ノ⌒ ⌒ ヽ
/ ●) ●) |
オツカレチャ━━━| ( _●_) ミ━━━ン♪
彡、 |∪| 、`
/ ヽノ ヽ
/ 人 \\ 彡
⊂´_/ ) ヽ__`⊃
/ 人 (
(_ノ (_)
271:名前は開発中のものです。
14/07/06 10:45:03.89 +M1clTAW.net
>>264
ありがとうございます。
勉強になります!
272:名前は開発中のものです。
14/07/06 11:08:05.44 +M1clTAW.net
サウンドの組み込みについて質問です。
下記のような形で、
指定のゲームオブジェクトに当てはめられている「goalScript」
が「cleared==false」なら「voice」を再生しています。
現状の指定で流れはするのですが、
unity上でのゲーム再生ボタンを押したときに、
頭何フレームかだけ再生されたり、
他のアクションを起こしたときも、動揺に
数フレームだけ再生されたりと
不自然な挙動をします。
色々調べはしたのですが原因がわかりせん。
すみませんが、アドバイスをいただけませんでしょうか。
宜しくお願いします!
var goalObj:GameObject;
var goalScript:GoalScript;
var voice: AudioClip;
function Start () {
goalScript=goalObj.GetComponent("GoalScript");
}
function Update () {
if(goalScript.cleared==false){
audio.Play();
audio.clip = voice;
}
}
273:名前は開発中のものです。
14/07/06 11:13:39.06 9dRES+AK.net
∩___∩
|ノ⌒ ⌒ ヽ
/ ●) ●) |
オツカレチャ━━━| ( _●_) ミ━━━ン♪
彡、 |∪| 、`
/ ヽノ ヽ
/ 人 \\ 彡
⊂´_/ ) ヽ__`⊃
/ 人 (
(_ノ (_)
274:名前は開発中のものです。
14/07/06 11:36:08.98 W+VtYmCA.net
audio.Play();
audio.clip = voice;
これ逆じゃね?
あと毎回Play呼ばれてね?
275:名前は開発中のものです。
14/07/06 11:42:45.52 +M1clTAW.net
>>269
ありがとうございます。
逆というと、こういうことでしょうか。。。
audio.clip = voice;
audio.Play();
また、毎回プレイで呼ばれている、確かに
何かアクションを起こす度に音がなります。
それは、「audio.Play();」の再生方法が間違っているのでしょうか。
276:名前は開発中のものです。
14/07/06 12:07:34.19 /ZhdI6Tk.net
Updateメソッドは毎F呼ばれる
falseにずっとなってても1度しか鳴らしたくないのであれば
フラグでも立てればいいのでは?
var flag : int = 0;
function Update () {
if(goalScript.cleared==false && flag == 0){
audio.Play();
audio.clip = voice;
flag = 1; //再プレイ抑止
}
277:名前は開発中のものです。
14/07/06 12:07:36.22 A7UAPEqP.net
audio.Play()のつかいかた自体と言うよりも、
毎回、音がなってるからそれ制御してやって。
278:名前は開発中のものです。
14/07/06 12:24:22.63 www09xjy.net
>>270
アセットを購入しましょう
279:名前は開発中のものです。
14/07/06 12:24:31.86 +M1clTAW.net
>>271
Updateの考え方が分かりました。
PG初心者なもので、ありがとうございます。
毎F呼ばれるので、スタート時や何かアクションを
起こしたときに再生されるのですね。。。
また、ご連絡いただきましたスクリプトですと、
「cleared==false」になったと同時に「flag = 1」に
なってしまいます。
「audio.Play()」再生後に「flag = 1」にするには、
どのように対応すれば宜しいでしょうか。
すみませんが、宜しくお願いします。
280:名前は開発中のものです。
14/07/06 12:46:49.69 g+013jS2.net
どういう用途でサウンドを再生したいの?
「スタート!」とかBGMとか効果音とかでやり方変わるよ
初心者ならフローチャートみたいのを書いた方が楽にできるだろうし、
論理的な考え方も身につくんじゃないかな?
281:名前は開発中のものです。
14/07/06 12:52:35.12 /ZhdI6Tk.net
>>274
audio.Play();
audio.clip = voice;
ここ2ステップの正当性については検証していませんが
処理順的にvoiceが鳴ったあとにフラグONされるはずですが・・・
デバッガでステップインしたらちゃんとそこを通っていますか?
voiceにはちゃんと中身が入っていますか?
282:名前は開発中のものです。
14/07/06 12:57:30.13 +M1clTAW.net
>>275
256です。
度々すみません
"キャラを3Dフィールドで動かして、「goalObj」というアーチオブジェクトを
通過したら、「voice」を再生。
また再度通過しても、同様に「voice」を再生する。"
という使用でサウンドを鳴らしたいと考えています。
宜しくお願いします。
283:名前は開発中のものです。
14/07/06 13:10:34.33 +M1clTAW.net
>>276
256です。
いただきましたスクリプトで下記のように記述しています。
現状このような状態です。
・再生すると「flag」が常に1の状態です。
・「flag = 1」の部分をコメントアウトすると音声が流れます。
・「cleared==false」になったときに「flag = 0」になり
「voice」の再生が終わったら「flag = 1」になるイメージでしょうか。
(書き方がちょっと分かりませんが…)
宜しくお願いします。
var goalObj:GameObject;
var goalScript:GoalScript;
var voice: AudioClip;
var flag : int = 0;
function Start () {
goalScript=goalObj.GetComponent("GoalScript");
}
function Update () {
if(goalScript.cleared==false && flag == 0){
audio.Play();
audio.clip = voice;
flag = 1;
}
}
284:名前は開発中のものです。
14/07/06 13:27:50.82 N5QQMiFF.net
goalScript.clearedって通過した瞬間だけ1になるようにできないの?
あるいは goalScriptのclearedをクリアチェックして更新してる箇所で
if(audio.isPlaying == false) {
audio.clip = voice;
audio.Play();
}
ぢゃないの?
も一つおまけにゴール通過した時とゴール地点に居座った時の区別とか付く?
285:名前は開発中のものです。
14/07/06 13:33:54.41 yBLHkZ9t.net
まず、Updateの仕様を理解するところからはじめようぜ。
そのスクリプトをつけたゲームオブジェクトがシーンに存在している間は、1秒間に60回とか永遠にUpdateは実行される。
なにかのボタンを押した時だけ再生したいとかなら、そのボタンを押したという情報をUpdate内で判断してplayを実行しなきゃならん。
それが、flagだ。
だから、ボタンを押した時にこのflagを1にしてやる処理を書かないと動かん。
286:名前は開発中のものです。
14/07/06 13:46:21.21 /ZhdI6Tk.net
>>278
アーチっていうのが何か分からないのですが100m走のゴールのようなK点ですか?
そのK点に透明のIsTriggerオブジェクト置いてキャラとK点に置いた
IsTriggerオブジェクトが接触したら(通過したら)
var audioclip : AudioClip; // ボイスフィールド
void OnTriggerEnter (Collider coll){
if(coll.gameObject.tag == "IsTriggerオブジェクト")
{
audio.PlayOneShot(audioclip); //ボイス再生
}
}
とかすればいい気がします
Enterなら接触した瞬間なので一度しか鳴りません
var audioclip : AudioClipはインスペクタから鳴らしたいボイスファイルをアタッチします
287:名前は開発中のものです。
14/07/06 13:47:48.80 yBLHkZ9t.net
まちがった。修正。
> だから、ボタンを押した時にこのflagを1にしてやる処理を書かないと動かん。
正)flagを0に
288:名前は開発中のものです。
14/07/06 13:47:52.35 +M1clTAW.net
>>279
256です。
”goalScript.clearedって通過した瞬間だけ1”そうなのですが、
書き方がわからず悩んでいるところです。。。
>>280
言われている通りで、
Updateが毎フレーム実行していることがようやく理解出来たところです。
”flagを1にしてやる処理”ここが261さんの返答でも書きましたが、悩んでいるところです。
宜しくお願いします。
289:名前は開発中のものです。
14/07/06 13:53:14.81 9dRES+AK.net
∩―-、
/ (゚) 、_ `ヽ
/ ( ● (゚) |つ
.オツカレチャ━━━| /(入__ノ ミ━━━ン♪
、 (_/ ノ
\___ ノ゙
/ ヽ
/ 人 \\ 彡
⊂´_/ ) ヽ__`⊃
/ 人 (
(_ノ (_)
290:名前は開発中のものです。
14/07/06 14:19:05.13 +M1clTAW.net
256です
サウンドの件ですが、
var goalObj:GameObject;
var goalScript:GoalScript;
var voice: AudioClip;
var flag : int = 1;
function Start () {
goalScript=goalObj.GetComponent("GoalScript");
}
function Update () {
ーーここの部分に「cleared==false」なら「flag」を
0にする指定を書くいめーじでしょうかーー
if(goalScript.cleared==false && flag == 0){
audio.Play();
audio.clip = voice;
flag = 1;
}
}
宜しくお願いします。
291:名前は開発中のものです。
14/07/06 14:57:57.08 Ml1Wif2C.net
>"キャラを3Dフィールドで動かして、「goalObj」というアーチオブジェクトを
>通過したら、「voice」を再生。
>また再度通過しても、同様に「voice」を再生する。"
>という使用でサウンドを鳴らしたいと考えています。
キャラを動かしてgoalObjとの衝突判定取れるとこまでは出来てるんだよな・・・?
本でも買って一から勉強したほうがいいレベルのような気がするが
黄色い本がオススメだぞ
292:名前は開発中のものです。
14/07/06 15:00:44.87 N5QQMiFF.net
まず何が解っていないのかすら解っていないと思うので>>286が述べているように書籍なりなんなりで一通りの事を覚える方が良いと思う。
ツクールとかと異なって細かい事までできる分Unityは言われているほど簡単じゃないから。
293:名前は開発中のものです。
14/07/06 15:21:00.72 +M1clTAW.net
>>286
動きの方は問題ないのですが、
サウンドの制御が上手くいきません。
なるのだけれど、&qu
294:ot;Updateが毎フレーム実行"というところで 引っかかり、余計なところで再生してしまう。 モーションもサウンドと似たようなスクリプトだけれど、 サウンドは上手くいきませんね。。。 unity入門は一通り目を通したのですが、 中々応用が厳しい状態です。
295:名前は開発中のものです。
14/07/06 15:25:03.44 N5QQMiFF.net
>>288
本読んでいるってことはGoalオブジェクトとの衝突判定にはCollision使ってるんだよね?
ならCollisionチェック(上でだれかが書いていたけど)のあるScript側でゴール音ならすだけじゃないの?
296:名前は開発中のものです。
14/07/06 15:44:08.47 +M1clTAW.net
>>289
すみません、ちょっと話がループしてしまうのですが、
現状のスクリプト(下記のもの)
でも音がなるのですが、
unity上で再生ボタンを押したときなど、
余計な時にも成ってしまう。
→"Updateが毎フレーム実行"の為に起こってします。
そこで、その部分の制御方法が知りたいです。。。申し訳ないです。
その他UIなどのからみもあり、出来れば現状のスクリプトで
解決したく思っております。
また、現状のものに過失修正するのでは、不可能の対応なのでしょうか。
度々お聞きして申し訳ございませんが、宜しくお願いします。
var goalObj:GameObject;
var goalScript:GoalScript;
var voice: AudioClip;
function Start () {
goalScript=goalObj.GetComponent("GoalScript");
}
function Update () {
if(goalScript.cleared==false){
audio.Play();
audio.clip = voice;
}
}
297:名前は開発中のものです。
14/07/06 15:47:52.33 BQWLChCY.net
goalScript.clearedをゴールの判定したところでfalseにする
そしてUpdateで
if(goalScript.cleared==false){
goalScript.cleared=true●●●ここを追加
audio.Play();
audio.clip = voice;
}
かね
298:名前は開発中のものです。
14/07/06 15:48:31.46 BQWLChCY.net
あーでもゴール判定するところをこれ以降呼ばないようにしないと何度も出るな
299:名前は開発中のものです。
14/07/06 15:49:11.00 BQWLChCY.net
あ、上にあることと同じこと書いてあるかもしれないごめn
300:名前は開発中のものです。
14/07/06 16:18:25.09 kNYy9+kR.net
書き込めるかテスト
301:名前は開発中のものです。
14/07/06 16:21:41.06 kNYy9+kR.net
あー失礼
OnCollisionExitで
cleared=falseしてやればいんじゃね
曲の途中でexitされるのがイヤならそれが終了するまで待つ必要があるけど
302:名前は開発中のものです。
14/07/06 16:25:51.67 www09xjy.net
アセットを購入したらそんな面倒なことしなくてもいいよ
303:名前は開発中のものです。
14/07/06 16:52:22.66 +M1clTAW.net
>>295
ありがとうございます。
「OnCollisionExit」調べさせていただきます。
しかしながら、申し訳ないのですが、
「audio.Play(); 」を一回だけ実行する方法が知りたいです。
現状のスクリプトですと、
unity上で再生ボタンを押したときなど、
余計な時にも鳴ってしまう状態です。。。
宜しくお願いします。
304:名前は開発中のものです。
14/07/06 17:03:51.29 kNYy9+kR.net
>unity上で再生ボタンを押したときなど、
cleared==false
で鳴るんでしょー
初期値がfalseなら最初にUpdateが来たときに鳴るのは正常な動作だよ
cleared=trueに初期化して
何者かがCollisionEnterしたときにcleared=falseにしてあげれば
一回だけ鳴るよ
trueとfalse逆のほうが意味が混乱しないかもしれないけど
305:名前は開発中のものです。
14/07/06 17:34:11.18 www09xjy.net
>>297
アセット買えばいいと思うよ
306:名前は開発中のものです。
14/07/06 17:44:36.50 h+L1nGu/.net
>>297
自分だったらプレイヤーに
function Goal {
audio.clip = voice;
audio.Play();
}
というメソッドを用意して、ゴールオブジェクトのOnTriggerEnter(Collider other)で
other.gameObject.SendMessage("Goal")
とメッセージを送ります。Updateは使いません
307:名前は開発中のものです。
14/07/06 17:45:49.89 FOrSI5nd.net
>>262
たしか、if(x)が実行されないのは、x=0の時だけで、x=10とか、でも実行されるよな?不安になってきた
308:名前は開発中のものです。
14/07/06 19:53:39.89 1ai0I56Z.net
>>301
その辺は>>264が完璧だと思う
x=10でも実行される
309:名前は開発中のものです。
14/07/06 20:08:00.79 8bCjoDHE.net
まさか音源のコンポーネントの起動時に再生するチェックボックスにチェックが入ってるんではあるまいな?
310:名前は開発中のものです。
14/07/06 20:12:44.73 FOrSI5nd.net
>>302
サンクス
311:名前は開発中のものです。
14/07/06 22:09:08.54 1ai0I56Z.net
なぜだ・・・
再生するたびにカメラの追従がガタガタになったり直ったりする
312:名前は開発中のものです。
14/07/06 22:12:20.98 +M1clTAW.net
256です
どうやら上手くいきました。。。
>>271さんのものをベースに再生指定方法を「PlayOneShot」に変更しましたら、
予定した再生方法に出来ました。
"function Update"だと"audio.Play()"は機能しないのですかね。
"function Start"だと再生されるのですが。。。
ひとまず、
色々アドバイスいただき、ありがとうございました!!!
313:名前は開発中のものです。
14/07/06 22:38:43.47 qYY8rbjF.net
Unityでゲーム作れる男の人ってステキ!
みたいな感じでハーレム築けませんかね?
314:名前は開発中のものです。
14/07/06 23:25:21.79 6HL28AkK.net
>>305
オブジェクトを物理で動かしてカメラをUpdate()でうごかしたり
オブジェクトとカメラをUpdate()で動かしたりするとそうなる、
かもしれない。
315:名前は開発中のものです。
14/07/06 23:43:29.23 1ai0I56Z.net
自己解決しました
Inspectorにカメラそのものかカメラが追従するもの(プレイヤー)が表示されたまま
ゲームを再生するとカメラがガタガタになるらしい
316:名前は開発中のものです。
14/07/06 23:48:26.75 W+VtYmCA.net
Startは初回に1回しか実行されないんだからそりゃ上手く鳴るだろ・・・
全然分かってないと思うんだが大丈夫かよ
317:名前は開発中のものです。
14/07/06 23:59:03.64 qYY8rbjF.net
StartやUpdateの仕様もそうだが、プログラムの基礎が怪しすぎて教えてあげたいが、教えられない。
318:名前は開発中のものです。
14/07/07 06:22:04.29 1a4GRbbJ.net
アセットを買えばプログラムもいらないと思�
319:「ます
320:名前は開発中のものです。
14/07/07 11:59:01.03 NmVEc3Ia.net
Windows の Editer上で、WebViewみたく、Web表示できるアセットってないですかね?
WebViewは、Android,いPhone,Macは、対応してるけど、windowsだけ対応してなくて。
現在開発がWindows中心なのでどうにかそこもカバーしたい。。
321:名前は開発中のものです。
14/07/07 14:05:19.09 HFPJwFqU.net
クラス内のpublicフィールドを全部一括でインスペクタに表示しない方法ってありますか?
フィールドが2~3個なら[System.NonSerialized]でいいんですが
50個くらいのフィールドを全てインスペクタに表示しないようにしたいんですが、
一つ一つに[System.NonSerialized]付けていくしかないですか?
一括でできる方法があれば教えて下さい
322:名前は開発中のものです。
14/07/07 14:28:44.66 xmI8T3g4.net
>>314
方法はいくつかある。
その前にSystem.NonSerialized属性はフィールドをインスペクタに表示しない属性じゃなくて、
フィールドをシリアライズしない属性。非表示だけならHideInInspector属性を使うと良いよ。
んで一括で表示させない方法だけど、まずはそのフィールドが本当にフィールドである必要があるかを考える。
プロパティはシリアライズされないから、{get;set;}とかをつけてプロパティにしてしまう手もある。他クラスから取得できるけど設定できない値とかも作れるよ。
他にはカスタムエディタを定義しておく方法がある。
Editorってフォルダ内に適当に「(クラスの名前)Editor」みたいなスクリプト作る。
UnityEditor名前空間を参照して、Editorクラスを継承する。
CustomEditor属性を付けてフィールドを非表示にしたいクラスを渡す。
OnInspectorGUIメソッドをオーバーライドしてインスペクタの表示処理を書く。
323:名前は開発中のものです。
14/07/07 14:29:13.89 xmI8T3g4.net
>>315の例
<例>
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
[CustomEditor(typeof(インスペクタをカスタマイズしたいクラス))]
public class ExampleEditor : Editor
{
public override void OnInspectorGUI()
{
var selectedObject = target as インスペクタをカスタマイズしたいクラス; // ←これが選択中のコンポーネントのインスタンス
// GUI,GUILayout,EditorGUI,EditorGUILayoutなんかを使ってインスペクタの表示を好きにいじれる。
EditorGUILayout.LabelField( "このクラスのフィールドは表示しないよっ!" );
// base.OnInspectorGUI(); ←このコメントを外すと普通にインスペクタが表示される。
}
}
324:名前は開発中のものです。
14/07/07 14:44:25.67 HFPJwFqU.net
ありがとうございます。参照にします。
ちなみに、System.NonSerialized属性にするとセーブ機能なんかでバイナリ保存したい場合とか
保存できないですよね?
あと、どっかのサイトにHideInInspectorよりSystem.NonSerializedの属性使う方が
トラブルが少ないと書かれていたのでSystem.NonSerializedがいいのかなと思っていました
325:名前は開発中のものです。
14/07/07 14:45:00.13 HFPJwFqU.net
>ありがとうございます。参考にします。
すみません、誤字でした
326:名前は開発中のものです。
14/07/07 15:15:53.35 HFPJwFqU.net
すみません、あと一つお聞きしたいんですが
デバッガ(デフォルトのMonoDepeloperです)で、
メソッド名やクラス名から、そのメソッドやクラスの定義場所に
飛ぶ事ってできますか?
メソッド名にカーソル合わせてファンクションキーで
MSのVisualStudioは確か、F5か何かでそういう事が出来ました
327:名前は開発中のものです。
14/07/07 15:30:25.22 eJFMJ6UC.net
人物のアニメーションをレガシーで制御したいと思い、
適当なFBXファイルをhumanoidからレガシーに設定し直しました
しかし何故か右下のアニメーション確認窓で動きが確認できないので、クリップを切り分けることもできずで困っています
人物型のアバターをドラッグ&ドロップなどしても窓に
328:反映されない感じです 今さらレガシーもなんだとは思うんですが、どなたかわかる方いらっしゃいますか?
329:名前は開発中のものです。
14/07/07 16:19:20.74 N3XLjMKC.net
>>320
アセットを買えばいいと思います
330:名前は開発中のものです。
14/07/07 17:03:34.34 6DBZchmd.net
>>305
これ、アクションゲーム作るときに凄く悩まされたんだけど、
毎フレーム更新してるから、レンダリング云々でガクガクになるから
カメラ追従の位置をslerp使って中間を取るといいんだよね?
331:名前は開発中のものです。
14/07/07 18:27:13.35 XCqy4kdt.net
>>322
自分はカメラのpositionをターゲットに追従させながらrotationを向けている
positionはSmoothDamp、rotationはSlerpを使っているけど
Inspectorに何か表示されてるとガクガクなる(特に>>309の条件で確実に発生する)
Inspectorに表示されてることでどういった影響が出てるのかはよくわからない
332:名前は開発中のものです。
14/07/07 18:42:29.10 zFT18/Wd.net
バグっぽいのは公式に報告しましょう
333:名前は開発中のものです。
14/07/07 19:24:12.84 xmI8T3g4.net
>>317
>HideInInspectorよりSystem.NonSerializedの属性使う方が
>トラブルが少ないと書かれていたのでSystem.NonSerializedがいいのかなと思っていました
もちろんどっちが良いということはない。
ただし用途によって使い分ける必要はある。
その機能がなんのために提供さてれいて、どんなときに使うものなのか常に考えていこう。
>>319
ソースを右クリックしたらGo to declaration(宣言に移動)ってのがあるからそれ。自分の環境だとショートカットはF12になってたよ。
ちにみにその下のFind reference(参照を探す)ってのが選択したクラスやらメソッドやらが使われてる場所の一覧出すやつ。
334:名前は開発中のものです。
14/07/07 19:46:31.46 HFPJwFqU.net
>>325
ありがとうございます。
F12でいけました!
335:名前は開発中のものです。
14/07/07 20:10:33.03 AkErnja1.net
衝突判定についてご教示ください。
立方体をマウスクリックした際に、どの面がクリックされたかを取得したいのですが
Ray ray = Camera.main.ScreenPointToRay( Input.mousePosition );
if( Physics.Raycast( ray, out hit ){
// 立方体のどの面がrayと交わった?.
}
hitにオブジェクトのワールド座標等が格納されていることは理解したのですが
どの面がクリックされたのか判別の方法がわかりません。
立方体の頂点座標が算出できれば面もわかるのかも知れませんが、知識不足ですみません。
ご存知の方いましたらご教示をお願いいたします。
336:名前は開発中のものです。
14/07/07 20:13:26.02 Ljm9tBgH.net
失礼、自己解決です。
337:名前は開発中のものです。
14/07/07 20:15:20.63 hxC6zxXd.net
>>320の質問誰かお願いします
FBXファイルがレガシーでのインポートに対応してないのかと思ったらそんなことないし
よくわかりません
使ってるファイルは有名なフリーのアニメーションアセットです、たしかunity公式だったかな
338:名前は開発中のものです。
14/07/07 20:43:00.20 62bXAYEJ.net
スクリプトのエラーについて質問です。
先程まで普通に再生できていたのに突然NullReferenceExceptionという
エラーが出るようになり再生できなくなってしまいました。
どうしたら元に戻るでしょうか?
どなたかご教授宜しくお願いします。
339:名前は開発中のものです。
14/07/07 20:54:38.50 b1e9ZXbN.net
>>330
それがいわゆる有名な「ぬるぽ」というやつです。
340:名前は開発中のものです。
14/07/07 21:46:09.56 9cyM0yix.net
>>327
hit.pointで判定できると思うんだけど何か問題ある?
341:名前は開発中のものです。
14/07/07 22:03:54.63 T/C3A20J.net
>>330
そのエラーメッセージのとおりヌルを参照するとそうなる。
とりあえずそのエラーメッセージをダブルクリックすれば
MonoDevelopが起動してスクリプトのどこでエラーが起きてるのか
342:教えてくれる。 今まで何故動いてたのか、とかどうすれば動くようになるのかは みてみないことにはわからん。 >>329 とりあえずFBXで必ず起きるという現象ではない、とは言える。 手元にあるものはLegasyにしても表示されている。 ただ確かに表示されないという現象が起きたことがあるな~、 という記憶はあるな。
343:名前は開発中のものです。
14/07/07 22:32:23.90 YdReXL8o.net
該当のスクリプトをいじってないのに急にNullエラーを吐き出した時はUnityを再起動すると直ったりする
直らない時もあったりするからバックアップは必須
344:名前は開発中のものです。
14/07/07 22:54:39.38 WzLbsFo2.net
>>329
他のCGソフトに読み込んでアニメ確認が早い気もするがのー
345:名前は開発中のものです。
14/07/07 23:58:14.69 xmI8T3g4.net
( ・∀・) | | ガッ
と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←>>331
(_フ彡 /
346:名前は開発中のものです。
14/07/08 01:10:11.26 6jeNO0ogg
大量のスプライトをそれぞれ個別にプレハブ化したいのですが
一括でできる方法はないでしょうか?
■環境 : Unity4.51 f3です。
■目的 : 2Dゲームのマップチップ用の画像(スプライト)を
テキストデータに記述したマップ作成用データを元にして
チップごとにInstantiateで作成・配置したいのですが
プレハブ化するために複数のスプライトをまとめて
hierarchyビューなどにドラッグ&ドロップしてしまうと
「Create New Animation」と表示されてアニメーション
作成になってしまいます。
ご存知の方がおられればアドバイスいただけませんか。
よろしくお願いします。
347:名前は開発中のものです。
14/07/08 09:25:06.86 NX4W3vdm.net
アセットを買えばいいんじゃね
348:名前は開発中のものです。
14/07/08 09:29:06.74 Qd6T63my.net
>>338
ダメに決まってんだろこのアスペが。
349:309
14/07/08 09:51:12.27 4qnhUGqB.net
>>332
ありがとうございます。
hit.pointは衝突した座標が取得できると思うのですが
そこから立方体の各頂点、面はどうすれば判別できるでしょうか?
見当違いなこと聞いてたらすみません。
350:名前は開発中のものです。
14/07/08 10:02:05.26 ZJvtMt/G.net
>>333-316
返信ありがとうございます。
今度からはちゃんとバックアップ取っておくように気をつけようと思います‥‥
エラーが出てる箇所は
if(transform.position.y < fallLimit || transform.position.x < cam.transform.position.x -8){
Application.LoadLevel("menu");
}
Destroy(gameObject);
}
↑の
if(transform.position.y < fallLimit || transform.position.x < cam.transform.position.x -8){
この部分なんですが、どこがおかしいのかよろしければ教えて頂けないでしょうか?
351:名前は開発中のものです。
14/07/08 10:28:29.63 ytRwZWLO.net
>>313
URLリンク(uwebkit.com)
これがWindowsで使えるWebViewを提供してる、ただしプラットフォームがWin,Mac,iOSのみ
Win側の実装は別プロセスでWebKitブラウザサーバが動いていてそいつにレンダリングさせた画像を取得する方式
俺はコレとGreeのWebViewのAndroidとをラッパーと#ifでAPIそろえてから使ってる。
uWebKit単体はテクスチャレンダリングとかも含んでるのでAndroidを捨てるなら3Dゲームのシーン内で看板にしたりとかもできる
352:名前は開発中のものです。
14/07/08 10:28:45.55 t1kUpUtT.net
>>340
恐らくだが、
コンタクトポイントは物理エンジンが
衝突検知したときに生成してよこしてくる。
URLリンク(docs.unity)
353:3d.com/ScriptReference/Collision-contacts.html The contact points generated by the physics engine. コリダー自体はメッシュコリダーだけではなくスフィアやカプセル、 キューブなんかもあるのでコンタクトポイント生成の仕組みに 頂点や面は常に関係している訳ではない。 ということはメッシュコリダーを使った時に頂点や面の情報を提供するには 特別にその為の機能が実装されていてその情報をストアするデータ構造が 用意されていなければならないはずだがそういうものはない。 てあたりから考えるにコンタクトポイント配列から一番近い面、頂点なりを 割り出す機能を自分で実装するしかない、のではないかな。
354:名前は開発中のものです。
14/07/08 10:33:31.76 t1kUpUtT.net
>>341
その中身だと多分cam、が割り当てられていないとか
実行時に消滅しちゃってるとかそんな話じゃない?
355:名前は開発中のものです。
14/07/08 11:08:22.80 ZJvtMt/G.net
>>344
ご指摘通りcamが割り当てられていなかったみたいでした‥‥。
助かりました。ありがとうございます!
356:名前は開発中のものです。
14/07/08 12:18:46.50 QX88T4yM.net
>>333
>>335
ありがとございます
Raw Mocap Dataってアセットを使ってたんですが、
どうやらここのFBXデータは軒並みレガシー化が出来ないようです
理由はよくわかりませんがメカニム専用に作られてるんでしょうね
他のアセットでは出来ました
使いたいモーションはここのやつだったので残念です
357:309
14/07/08 12:42:36.02 4qnhUGqB.net
>>343
ありがとうございます。
そうですよね……
そもそも衝突したオブジェクトが立方体かどうかなんて
エンジン側には関係ないわけで、自分で計算するしかありませんよね。
その計算方法がいまいちピンとこないのですが……数学がんばっとけばよかったな。
また質問させていただくかもしれません。
回答くださった方、ありがとうございました。
358:名前は開発中のものです。
14/07/08 12:43:59.96 Qd6T63my.net
>>338
ダメに決まってんだろこのアスペが。
359:名前は開発中のものです。
14/07/08 12:48:54.92 t1kUpUtT.net
>>346
ちょっと開いてみたがこのデータはモデル(メッシュ)が入ってないんだわ。
なのでレガシーにしてプレビューしたいならまずRawMocapDataの
一番上の階層のDefaultAvatarのリグをレガシーに設定した上で
Animationsの中のクリップをレガシーにしてプレビューの右下にある
人マークをクリックしてotherを選べばFBXやPrefabの一覧が出てくるので
そこでさっきレガシーに設定したDefaultAvatorを選べばプレビューできる。
少なくとも俺のところではできた。
360:名前は開発中のものです。
14/07/08 13:23:17.22 xirEgGux.net
>>349
アセットをかったほうがいいよ
361:名前は開発中のものです。
14/07/08 13:57:39.34 ddu7OeuU.net
RPG、SRPG系ゲームのセーブ・ロード機能を作りたいです。
ググってみるといくつかサイトが見つかったのでバイナリでデータを
保存するという処理を見つけました。
URLリンク(github.com)
これってRPG、SRPG系ゲームのセーブ・ロード機能として使えますか?
あと実際ちょっとこの処理を使ってセーブをやってみたのですが、この処理の使い方に
「セーブしたい時はコードから"SaveLoad.Save();"とするだけです」と書いてありました。
なので、SaveLoad.Save();と書いてコールしてみましたが、以下のエラーが出ました。
IOException: Sharing violation on path C:\Users\user\Documents\RPG test\Save\SaveData.dat
デバッガで追ってみると上記コードの137行目bf.Serialize(fs, data);でdataの中身がnullでした。
おそらくこれが問題だと思うのですが、dataの格納処理はCrateSaveFileメソッドでのみやっています。
しかし、SaveLoad.Save();と記述してコールするとCrateSaveFileメソッドはコールされないようです。
これではどうやってもdataに値は格納されないと思うのですが、これは上記の元コードが
間違っているのでしょうか?それとも私の解釈が間違っているのでしょうか?
362:名前は開発中のものです。
14/07/08 14:07:46.08 baCtLp31.net
>>348
回転していない原点中心の立方体だったら点がどの面上か判定するのは簡単でしょ
逆に言えば逆行列を掛けてその状態までもっていけばいいんじゃないのかな
力技でいいなら立方体のコリジョンを面ごとに分割してもいけそうな気がする
試してないからうまくいくかは知らん
363:名前は開発中のものです。
14/07/08 16:59:41.35 XshOldtu.net
>>351
見る限りは初回のみCreate、以降はSaveで呼び出すみたい。
364:名前は開発中のものです。
14/07/08 18:29:48.19 ddu7OeuU.net
>>353
確かにその分岐で起動するとエラーメッセージは出なくなりました
この処理ってどう見てもsettingsクラスとconfigクラス内のものだけを
バイナリファイルにセーブする、っていう意味ですよね?
つまり主人公のパラメータだのセーブ時の主人公の位置だの
シーン名だの敵の位置だのイベントフラグだの、それら全部を
settingsかconfigクラスに列挙してdataの対象にする必要がある、という事ですよね?
365:名前は開発中のものです。
14/07/08 18:43:34.20 t1kUpUtT.net
そりゃそうだ。俺が何をセーブしたいか自動で判別してくれる
セーブロードクラスとか怖すぎるだろw
まぁゲームコントローラーで作った独自クラスの中身を
セーブするように改造してもそれほど面倒ではなさろうだけど
366:309
14/07/08 18:45:16.78 4qnhUGqB.net
>>352
私へのレスかな?(違ったらスミマセン)
実はその立方体は絶えず向きを変えながら動きまわってまして。。。
衝突点(RaycastHit.hit)と立方体の原点(RaycastHit.transform.position?)は取れると思うので
どうにか導きたい。
考えてみます。ありがとうございます。
367:名前は開発中のものです。
14/07/08 19:02:51.92 F4NuZqsK.net
>>354
俺もその投稿みたとき「何をセーブするの?」って思ったよw
そのアセットは触ったこと無いけど、
C#はクラスデータをserialize化する機能があるから、それでパックしてるんだろうね
となるとポインタ的な何かが必要で、それが無くてNULLなんじゃね?
368:名前は開発中のものです。
14/07/08 19:33:47.74 ddu7OeuU.net
>>357
単純にdataインスタンスにシリアライズしたsettingsクラスとconfigクラスを
入れるメソッドを経由してなかったからみたいです
これって例えばパラメータとかフラグ管理してるコンテナクラスとか
色んなマネージャークラスや敵クラスとか、ロード時読み出したいクラス全部に
System.Serializable ()]属性付けないといけないって事ですよね?
369:名前は開発中のものです。
14/07/08 19:42:19.15 GK/wakWz.net
>>349
ありがとうございます!
確かにおっしゃる通りで、DefaultAvatarをコピってDefaultAvatarLegacyってのを作って
それをLegacyに設定すると表示されるようになりました、感激です!
ただ
Raw Mocap Dataのうち例えば
Idle/Idle_Neutral_1
Idle/Idle_Neutral_2
など、表示はされるもののTポーズのまま動かない、みたいな状態になるものが多いですね
Idle/IdleR_To_IdleL_1
Idle/IdleR_To_IdleL_2
とかはピボットの位置と大きくずれてたり
でもだいぶ核心に近づいてきました!
370:333
14/07/08 21:23:19.99 baCtLp31.net
>>356
レス番号間違えたけどさっきのは329へのレスね
立方体が動き回っていても位置(position)と回転行列(rotation)が分かれば問題ないはず
衝突点と立方体中心の差分を取って回転行列の逆行列を掛ければ333に書いた状態になる(多分)
371:314
14/07/08 22:38:42.03 A3tN0KUo.net
>>356
難しく考えすぎだと思う
hit.pointはワールド座標ですが
372:transform.InverseTransformPoint(Vector3)でキューブオブジェクトのローカル座標に変換できます 後は(1,0,0),(-1,0,0),(0,1,0),(0,-1,0),(0,0,1),(0,0,-1)との内積を計算して1に最も近いのがヒットした面の法線方向です 立方体なら簡単に分かる問題 void Update () { if(Input.GetMouseButton (0)) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; if(Physics.Raycast(ray,out hit)) { var hitPointLocal = transform.InverseTransformPoint(hit.point); var faces = new Vector3[] { Vector3.right, -Vector3.right, Vector3.up, -Vector3.up, Vector3.forward, -Vector3.forward, }; var face = faces.OrderBy((c) => Mathf.Abs((1.0f - Vector3.Dot(c,hitPointLocal)))).First(); Debug.Log (face); } } } こんな感じでどうでしょうか?(Linq使ってるのでusing System.Linq;を頭に追加してください)
373:名前は開発中のものです。
14/07/08 22:43:57.76 A3tN0KUo.net
あ、すまん。hitPointLocalは正規化したほうがいいかも
374:名前は開発中のものです。
14/07/08 23:47:44.77 GNYY4mLA.net
>>358
自前でやるのが筋。
とか思っちゃうおれはオールドタイプなのか?
ゲームシーンをごっそりセーブするなら、
Save Game-JSON+Binary
っていうアセットはどう?
375:名前は開発中のものです。
14/07/09 00:59:16.29 w8x3TA41.net
>>363
ありがとうございます。
そのアセット知らないので、ちょっと調べてみます
376:名前は開発中のものです。
14/07/09 06:19:09.35 qEp+Q++O.net
Unity2Dでsin cosを使ってオブジェクトを滑らかにカーブ移動させるのに、
参考になるようなサイトはないでしょうか?
377:名前は開発中のものです。
14/07/09 10:09:57.48 kwPBdcPP.net
>>365
普通に使えばええやん
ゲームで滑らかにカーブ移動させたいならスプラインとかエルミート曲線の方が良くないか?と思わないでも無いけど
どんな移動させたいのか具体的に書いてくれれば幾らでも参考サイトや有用Assetやらコードやら示してやれるがこの質問だけだとどもならんよ
378:名前は開発中のものです。
14/07/09 11:28:06.03 CEnQGpTX.net
>>366
アセットを買えばどもなるよ。
379:名前は開発中のものです。
14/07/09 11:32:48.63 kwPBdcPP.net
>>367
今回の質問には私の知っているAssetがあるが、使っても居ない君には示すこともできないだろうwwww
380:名前は開発中のものです。
14/07/09 12:10:31.54 CEnQGpTX.net
>>368
アセットを買わないと知っているから持っているに変わらないよ。
381:名前は開発中のものです。
14/07/09 12:23:24.35 pJQ0Abwo.net
今日のアセット担当は日本語レベルが低いな
382:名前は開発中のものです。
14/07/09 12:29:16.04 UnwO4uOl.net
だいぶあせっとるんだろう
383:名前は開発中のものです。
14/07/09 12:30:02.63 CEnQGpTX.net
>>370
アセットを買えば理解できるようになるよ。
384:名前は開発中のものです。
14/07/09 12:58:05.82 waqeFJ7J.net
必死にレスしてるw
385:名前は開発中のものです。
14/07/09 15:23:38.35 H9+HAVhV.net
天安門事件
386:309
14/07/09 15:44:09.25 bOZmpXlN.net
レス遅くなり申し訳ありません。
>>360
>>361
あ、ローカル座標に変換できるのですか。
確かにそうであれば動き回ろうと関係無い……
お二人はそれ前提で話されてたんですね、難しく考えすぎていました。
コードまで載せてくださってありがとうございます。
実装の参考にさせていただきます。
Linqは知りませんでした。SQLをそのまま書けるイメージでしょうか。
面白そうです。
ありがとうございました!
387:名前は開発中のものです。
14/07/09 16:44:41.03 CEnQGpTX.net
>>375
アセットを買えばもう少し人生の余裕が出来るよ。
388:名前は開発中のものです。
14/07/09 17:05:38.35 69aPN37H.net
>>376
アセットおじさん。
彼女ができるアセットを教えてください。
389:名前は開発中のものです。
14/07/09 17:16:02.29 c/2zjphJ.net
アセットおじさん
オレが寝てても妖精さんが勝手にコードを書いてくれるようになるには
具体的にどのアセットを買えばいいのか教えてください。
390:名前は開発中のものです。
14/07/09 17:20:08.47 kwPBdcPP.net
おじさんの弱いところは358の返しに
URLリンク(www.assetstore.unity3d.com)
これを貼らないところかww
391:名前は開発中のものです。
14/07/09 18:00:23.83 K5w5Fazd.net
うにてぃちゃん、えらくすさんだトコ住んでるんやな
誰か可愛い部屋つくったれや
392:名前は開発中のものです。
14/07/09 18:09:35.30 g5+qSqKX.net
>>379
3枚目のSSで、もうほとんど
M字開脚&アヘ顔ダブルピースを喚起
393:名前は開発中のものです。
14/07/09 18:27:00.09 yYdGlLLJ.net
ちょっと待って、>>371がなんか言ってる
394:名前は開発中のものです。
14/07/09 18:41:53.55 69aPN37H.net
>>380
とりあえず、これ置こか?
URLリンク(www.assetstore.unity3d.com)
395:名前は開発中のものです。
14/07/09 19:55:30.85 ly6OeI7iU
マルチレンダしたいのですが、カメラ1つ増やさないと絶対にできないんでしょうか。
カメラのSetTargetBuffersやグラフィックのSetRenderTargetを使ってマルチレンダ自体は
しているのですが、マルチレンダをしたカメラの出力先がレンダテクスチャになってしまうので
仕方なくもう1つのカメラを使って画面に出力結果を出している感じです。
ドローコールが2倍になるのは避けたいです。
あとカメラとグラフィックの2つの関数の違いがわかりません。
396:名前は開発中のものです。
14/07/09 19:33:46.82 CEnQGpTX.net
>>380
アセットを買えば部屋もつくってもらえると思いますよ。
397:名前は開発中のものです。
14/07/09 19:44:59.75 He9lO1nK.net
珍しくアセットおじさんがまともなこと言った
398:名前は開発中のものです。
14/07/09 19:50:35.88 4BHyJEoT.net
作成した飛行系キャラクターに歩くモーションを適用したら
地面に降りて歩くようになってしまったんですけど
これは足のIKとかが関係してるのでしょうか?
どうやったら浮くようになりますか?
399:名前は開発中のものです。
14/07/09 19:56:04.45 X3K0xNpT.net
animatorコンポーネントの
ApplyRootMotionの項目のチェックをはずす。
400:名前は開発中のものです。
14/07/10 03:37:17.91 xx5UL/cu.net
AというオブジェクトのTransform(ポジションとローテーション)を
BというオブジェクトのTransformに近づけていくのに簡潔な書き方ってないでしょうか
下記のように書いたんですが
float x = Mathf.Lerp(A.transform.position.x, B.transform.position.x, t);.
float y = Mathf.Lerp(A.transform.position.y, B.transform.position.y, t);.
float z = Mathf.Lerp(A.transform.position.z, B.transform.position.z, t);.
float rotationX = Mathf.Lerp(A.transform.rotarion.x, B.transform.rotarion.x, t);.
float rotationY = Mathf.Lerp(A.transform.rotarion.y, B.transform.rotarion.y, t);.
float rotationZ = Mathf.Lerp(A.transform.rotarion.z, B.transform.rotarion.z, t);.
A.transform.position=new Vector3(x,y,z);
B.transform.rotation=new Vector3(rotationX,rotationY,rotationZ);
これだとちょっと冗長すぎて、もっと簡潔な書き方があると思えてなりません
どなたかアドバイス願えますでしょうか
401:名前は開発中のものです。
14/07/10 03:40:59.03 xx5UL/cu.net
あ、コードの最終行は
× B.transform.rotation=new Vector3(rotationX,rotationY,rotationZ);
○ A.transform.rotation=new Vector3(rotationX,rotationY,rotationZ);
でした
というか欲を言うと
A.transform += (A.transform-B.transform)*0.1f
みたいに一行で全て済むのが理想ですが、さすがにこれはないですよね…
402:346
14/07/10 05:46:31.66 xAErvCZm.net
>347
レスありがとうございます
2D横シューティングでよくあるような雑魚敵が画面真ん中くらいまで直進した後、
画面内側へ向かってカーブしていく動きを作ろうと思っています
403:名前は開発中のものです。
14/07/10 05:52:23.17 2vomgG9s.net
iTweenを覚えたらいいのに
404:名前は開発中のものです。
14/07/10 07:29:03.59 bIU8XwO6.net
移動中に攻撃したり撃破されたりする処理を書くことを考えたら
自分で移動処理書いたほうがいい気もする
405:名前は開発中のものです。
14/07/10 08:00:45.27 9ExPOmiK.net
>>388
おおっ
そんなに簡単に出来るんですか
ありがとうございました
406:名前は開発中のものです。
14/07/10 09:1
407:4:32.54 ID:eKSeBp7C.net
408:名前は開発中のものです。
14/07/10 09:14:35.97 U1Yt5b0K.net
>>389
positionに対してはVector3.LerpとかVector3.SmoothDampを使えばいい
rotationはQuarternionだからVector3は使えないし、xyzを線形補間してもスムーズに変化しない
Quarternion.SLerpを使おう
409:名前は開発中のものです。
14/07/10 09:17:10.37 /MrudUJp.net
>>391は>>392が答えてくれてるけどiTweenってAsset買うか
URLリンク(www.google.co.jp)
をググると良い
Unity上の実コードだと
URLリンク(wiki.unity3d.com)
ここに実サンプルがある
410:名前は開発中のものです。
14/07/10 12:19:31.02 zK1oDZ7N.net
iTweenってタダだろ
411:名前は開発中のものです。
14/07/10 14:31:24.08 YqQyc3Kt.net
>>392,375,376,367
ありがとうございます!
全部参考にさせて頂きます!
412:名前は開発中のものです。
14/07/10 17:44:54.12 1NZl2Q51O
四次元のQuaternionと三次元のVector3が何故掛け算出来るのか理解出来ません
例えばtransform.rotation * Vector3.forwardをすれば
ローカル座標のz軸をワールド座標に変換して出力する。
結果がこうなるもんだと覚えるしかないと思ってます
413:名前は開発中のものです。
14/07/10 20:19:25.24 Ntyozi8+.net
レースゲームを作りたくて移動のキー入力まではしたんですが
キーを離した瞬間物体がビタッと止ります。
車のような制動距離や遠心力を付けるにはここからどうすればいいでしょうか。
void Update () {
if (Input.GetKey (KeyCode.UpArrow)) {
transform.Translate(transform.forward* 1f);
}
if (Input.GetKey (KeyCode.DownArrow)) {
transform.Translate (transform.forward * -1f);
}
if (Input.GetKey (KeyCode.RightArrow)) {
transform.Translate (transform.right * 1f);
}
if (Input.GetKey (KeyCode.LeftArrow)) {
transform.Translate (transform.right * -1f);
}
414:名前は開発中のものです。
14/07/10 20:27:57.36 2vomgG9s.net
Rigidbodyでしょうね
415:名前は開発中のものです。
14/07/10 20:32:16.10 mOHUqZSy.net
>>401
ホイールコライダー使うのもいいかも
416:名前は開発中のものです。
14/07/10 20:41:35.99 KpRwf/VL.net
>>401
アセットを買って使えばいいかも
417:名前は開発中のものです。
14/07/10 21:02:10.49 eKSeBp7C.net
>>401
とりあえずColliderとRigidbodyつけて
if (Input.GetKey (KeyCode.UpArrow)) {
rigidbody.AddForce(transform.forward*0.1f)
}
とかやっていけば多少それっぽくなる。
勿論このままだと無限加速してとんでもないことにはなるし
横滑りも収まらないのでアレだが。
無料のアセット配ってるのでみてみれば?
URLリンク(www.assetstore.unity3d.com)
418:名前は開発中のものです。
14/07/10 21:26:22.26 Ntyozi8+.net
>>402
>>403
>>404
さっそくの返答ありがとうございます。
wheel colliderとRigidbodyをつけてみますスクリプトを書き換えてみます。
419:名前は開発中のものです。
14/07/10 23:24:40.19 ZuKA9b6a.net
>>401のレースゲームみたいなので制動距離つけるには3DにしてFrictionつければいいと思うのだけど、
もしそれをRigitbody2Dで実現するとしたらどうしたらいいと思います?
updateで速度と反対方向にaddForceをかけ続ける感じになるでしょうか。
それならそもそもUnity使うより他の2Dエンジン使ったほうがいい、ってのはあるかもしれませんが…
420:名前は開発中のものです。
14/07/10 23:58:50.73 Z7LGASn7.net
ご存知の方がいたら教えていただきたいです。
Facebook SDK for Unityについて。
FB.AppRequestで送ったリクエストは、
スマホ用Facebookアプリのお知らせエリアに
表示できないんでしょうか?また、何か表示させる方法はありますか?
Webブラウザ版のFacebookでは問題なく確認できました。
421:名前は開発中のものです。
14/07/11 00:33:28.98 numCCkDS.net
>>407
それじゃダメなん?w
そもそも自動車の場合進行方向と横方向では
挙動自体が違う訳で本当にそれっぽくしようと思ったら
そんな単純にはいかんと思う。
422:名前は開発中のものです。
14/07/11 02:22:02.11 z/FG1Lf53
2Dゲーム作っているんですが
SpriteEditorでアトラスの切り出し&中心設定が面倒なんで
テキストデータかなんかから一気にスプライト作れませんか?
423:名前は開発中のものです。
14/07/11 01:45:42.27 RH+BKqCS.net
物理演算が必要なMMOを作ろうとした場合、敵の座標計算や物理演算などをサーバー側でやってもらいたいのですが、unity の物理演算をこなしてくれるサーバーシステムってあるのでしょうか?
可能であれば、Unityでプログラミングしたものをサーバー側(Linux)で画面ナシで動かせるど有り難いのです。
424:名前は開発中のものです。
14/07/11 02:13:53.43 numCCkDS.net
>>411
この辺?
URLリンク(docs-jp.unity3d.com)
425:名前は開発中のものです。
14/07/11 02:18:08.01 numCCkDS.net
特別なサーバーシステムといったものはないと思う。
サーバー的に動くプレイヤーをNoGraphicsで動かすとか?
426:名前は開発中のものです。
14/07/11 02:28:50.92 LjXj+et2.net
>>407
お答えありがとうございます。現在3Dで製作しています。
>>402 、>>403 、>>404
までのを参考にSphereColliderとRigidbodyを付けてスクリプトを書き換え
その後、Frictionをいじったらビタ止りはなくなりました。(ブレーキ付けないといけないですね汗)
現在
void Update () {
if (Input.GetKey (KeyCode.UpArrow)) {
rigidbody.AddForce(transform.forward*=10f);
}
if (Input.GetKey (KeyCode.DownArrow)) {
rigidbody.AddForce (transform.forward*=-10f);
}
if (Input.GetKey (KeyCode.RightArrow)) {
rigidbody.AddForce (transform.right *=10f);
}
if (Input.GetKey (KeyCode.LeftArrow)) {
rigidbody.AddForce (transform.right *=-10f);
}
教えてもらったやつそのままですが(´;ω;`)
>>409
言われてみれば横方向と進行方向ではだいぶ違いましたw
もう少し調べて進行方向どブレーキを追加できるようがんばってみます。
427:371
14/07/11 02:29:14.38 Ndb5x14T.net
>>392 373 377
ありがとうございます
428:名前は開発中のものです。
14/07/11 02:57:51.08 /uldMMue.net
あらら
名前残ってるじゃんw
かっこわりぃorz
特に意味は無いんでお気になさらないでくださいまし。
429:名前は開発中のものです。
14/07/11 06:13:13.30 gotoO2+E.net
物凄く初歩的な質問で申し訳無いんだけど、
playmakerで『扉を1度クリックすると90度だけ開けて、もう一度クリックすると90度閉まる』
みたいな動きって、アクションブラウザのどの機能をどう設定したら出来るのかな
TransformのRotateを使うと90度で止まらずにいつまでもぐるぐる回転し続けてしまって上手くいかない……
430:名前は開発中のものです。
14/07/11 07:46:59.09 h0v6u8eB.net
>>417
そういうときはQuaternion.Lerpを使うといい
使用例はググればすぐに出る
もしくはiTweenを使うか
431:名前は開発中のものです。
14/07/11 10:02:08.17 4wDtwqZb.net
>>417
普通はアセット買って使うと思います
432:名前は開発中のものです。
14/07/11 11:41:34.25 3PaAgeVz.net
unityでゲームアプリ作ってます。
ios版だとロード時間が18秒なのに、
android版だとロードに82秒もかかります。
android版は何か特別な設定がいるのでしょうか?
ちなみに、テスト機種はiphone4sとnexus7(2012)です。
433:名前は開発中のものです。
14/07/11 12:35:10.29 IsWzNpN0.net
多分Texture周りじゃないかなぁ
減らしてみるといいかも
434:名前は開発中のものです。
14/07/11 12:53:38.30 3PaAgeVz.net
>>421
テクスチャ周りが原因だとすると
ios版もロード時間がかかるのではないでしょうか?
あるいはandroidはテクスチャの数や大きさに極端に弱いのでしょうか?
元々はios版でもロード時間が50秒ほどかかってましたので、
ドローコール対策も含め、テクスチャの
435:圧縮、サイズ減少、 数そのものを減らすなどの対策はして、現在のロード時間に 持っていきました。 この状態でandroid版も作れば問題ないだろうと思ってましたが、 まさかのロード時間4倍強に驚き、今回質問させて頂きました。
436:名前は開発中のものです。
14/07/11 13:16:41.05 IsWzNpN0.net
apk内にandroid非対応な画像形式でもってると、
起動するときに再圧縮したような記憶があるよ
調べもしないでてきとーなこといってっけどなw
これが原因かどうかはETC圧縮を始めから持ってるとかでやるといいと思う。
437:名前は開発中のものです。
14/07/11 14:02:32.00 peacAnX5.net
>>422
アセット買って使うと早いと思いますよ
438:名前は開発中のものです。
14/07/11 14:32:43.51 3PaAgeVz.net
>>423
起動時に再圧縮していれば
android版だけロード時間遅いのも納得できますね。
ちなみに自作のテクスチャは全てPNG形式で、
Unity上で各画像に対して「Override for Android」に
チェックを入れ、アルファ無し画像に関しては
「RGB Compressed ETC 4 bits」を、アルファ有り画像は
「Compressed」を選択するようにしています。
ただ、アセットストアで購入したものも多数あり、
それらの圧縮が漏れてる可能性もあるので、
もう少し調べてみます。
>>423
ロード時間を短くするようなアセットがあるのでしょうか?
少し調べてみましたが、それらしいのが見つけられませんでした。
よろしければ、お勧めのアセットを教えて頂けますでしょうか。
439:名前は開発中のものです。
14/07/11 17:22:11.52 /EkrBbsZO
>>417
iTweenで行けた!ありがとう!
440:名前は開発中のものです。
14/07/11 17:47:16.34 gotoO2+E.net
>>418
iTweenで行けた!ありがとう!
441:名前は開発中のものです。
14/07/11 19:08:07.87 F1C1ztkp.net
質問良いですか?
c#でVector3の配列を作ってインスペクタで入力したいのですがどう宣言したらいいですかね?
public Vector3[] hairetu=○○○○;
ググり方が悪いのかこの○○○○の部分をどう宣言したらいいのかわかりません
442:名前は開発中のものです。
14/07/11 19:17:46.48 F1C1ztkp.net
今は一個一個Vector3を作ってStart()関数内でVector3[]の配列に移動させるという
やり方でちゃんと動いているのですがどうみてもこれは違うだろと思い質問しました
443:名前は開発中のものです。
14/07/11 19:24:58.03 vZ0nnfC1.net
単純に
public Vector3[] hairetu;
ではあかんの?
444:名前は開発中のものです。
14/07/11 19:29:01.28 F1C1ztkp.net
>>430
おおおぉ
出来たようです!
サイズの指定なしでは配列の宣言なんて無理だと思い込んでました
インスペクタでサイズの指定も出来ます
どうもありがとうございます
こんなシンプルで良かったんですね~
445:名前は開発中のものです。
14/07/11 19:36:54.95 DF7rDM9S.net
最初からサイズまで指定したければ
public Vector3[] test = new Vector3[10];
とか書く方法もある。
446:名前は開発中のものです。
14/07/11 19:55:37.74 rjhmR5tU.net
なぜVector系はnewでインスタンス化する必要があるのか
その理屈が分かりません。なぜですか?
447:名前は開発中のものです。
14/07/11 20:10:53.00 rq/v5QCI.net
>>433
ポールがそう作ってしまったから
448:名前は開発中のものです。
14/07/11 20:18:50.89 DF7rDM9S.net
むしろその質問の意味がわからんw
Classである以上コンストラクターを呼び出して
インスタンスを生成するってのはそういうるーるなんじゃねぇのかw
449:名前は開発中のものです。
14/07/11 20:50:32.36 Bika1xz9.net
Unityからプログラミング始めた人はクラスとかわからないし、
UpdateとかStartがどのプログラミング言語にもあると思い込んでると思うんだ。
ちなみに揚げ足取るわけじゃないけどVector3はクラスではなく構造体なんだ。
450:名前は開発中のものです。
14/07/11 20:59:52.23 DF7rDM9S.net
メソッドもったり演算子オーバーロードしてるのに構造体なわけねぇだろw
451:名前は開発中のものです。
14/07/11 21:32:16.05 GhL2obWA.net
>>436
C#の構造体って値固定じゃ無かったっけ?
452:名前は開発中のものです。
14/07/11 21:57:41.37 DF7rDM9S.net
って宣言見てみたら構造体やった…。すまんかった。
てかC#の構造体って殆どクラスと同じなんや…。
今までC系の構造体と同じものとしてしか使ってなかったわ…。
453:名前は開発中のものです。
14/07/11 22:03:51.64 /zzya8j3.net
>>439
C#の構造体はローカルに宣言されているとnewで生成してもヒープじゃなくスタックに生成してくれる優れものと思っておくとちょっと得するかもしれない。
454:名前は開発中のものです。
14/07/11 22:12:31.53 3PaAgeVz.net
js使ってるけどVector3の宣言にnew付けたことない・・・付けるべきなんだろうか
455:名前は開発中のものです。
14/07/11 22:24:56.15 4wDtwqZb.net
>>441
アセットを買ったら付けなくてもいいと思いますよ
456:名前は開発中のものです。
14/07/11 22:30:56.72 hZitemvU.net
逆に付けても構文エラーになるんじゃないのかJSだと
457:名前は開発中のものです。
14/07/11 22:43:28.10 rjhmR5tU.net
>>435
クラスだったんですね、なら当然ですよね・・・
すみませんクラスという事を知りませんでした
458:名前は開発中のものです。
14/07/12 00:02:19.44 NpK5hahF6
SKETCHUP使ってモデル作ってるんだけど
サイコロとかプレステ1のゲームみたいな建物なら普通にインポート出来るんだけど、
ちょっとポリゴン数増やすと(と言っても、1100エッジ、490ポリゴン程度)
テクスチャが表示されなかったり表示されてもむちゃくちゃナナメってたりするんだよね。
同様のトラブル事例があるなら、解決方とか教えて貰えると嬉しいので、よろしくお願いします。
ちなみに手順としては「SKETCHUPでモデリング+テクスチャ貼り付け」→「daeでエクスポート」→
「AutodeskのFBXConverterでfbxに変換」→「Assets→Import New Assetで取り込み」
って感じにやってる。
Assetの中のMaterialフォルダにも、テクスチャはちゃんと入ってるし、
テクスチャ張ったオブジェクトのInspector見ても正しく指定されてる感じなんだけど。
SKETCHUPはVer8。Unityは最新バージョンです。
459:389
14/07/12 01:01:23.55 dGHiydMC.net
>>412-391
なるほど、というわけでCentOS6.5 64bit上で
「-batchmode -nographics」オプションで実行してみました。
-----------------------------
"-batchmode" command line argument is only available when publishing using Unity Pro.
-----------------------------
オーマイガッ!!Proじゃないとダメなのかよ!!
と、絶望に暮れたものの、
Pro版の30日間試用アクティベートを実行していなかったことを思い出しガッツポーズ。
今週末にPro試用版で試してみます。
460:名前は開発中のものです。
14/07/12 09:41:02.80 MznMnlQW.net
>>436の補足
//【C#構造体の挙動】
var vec1 = new Vector3( 1, 2, 3 );
var vec2 = vec1;
vec2.x = 10;
vec2.y = 20;
vec2.z = 30;
Debug.Log( vec1 );
Debug.Log( vec2 );
//////////////////
//上のvec1とvec2は違う値になる。
//vec2 = vec1で行われたのはコピー(値渡し)なので、
//Vector3が構造体なのがわかる。
//////////////////
461:名前は開発中のものです。
14/07/12 09:42:35.91 MznMnlQW.net
>>436の補足2
//【C#クラスの挙動】
var transform1 = gameObject.transform;
transform1.position = new Vector3( 1, 2, 3 );
var transform2 = transform1;
transform2.position = new Vector3( 10, 20, 30 );
Debug.Log( transform1.position );
Debug.Log( transform2.position );
//////////////////
//上のtransform1とtransform2は同じ値になる。
//transform2 = transform1で行われたのは共有(参照渡し)なので、
//Transformがクラスなのがわかる。
//////////////////
462:名前は開発中のものです。
14/07/12 11:50:59.39 tHzLBeeu.net
c#講座ワロタ
言語の質問するレベルで
unityさわってどーすんだ
463:名前は開発中のものです。
14/07/12 11:53:24.90 MznMnlQW.net
プログラム書けなくてもゲームが作れるのがUnityのウリでもあると思うの。
Unityからプログラム始めると変な癖がめちゃくちゃ付いちゃう気もするけど、それはもう副作用だと思うの。
あ、アセット買えばプログラミングしなくて良いかも(おじさんに便乗)
464:名前は開発中のものです。
14/07/12 13:01:53.29 VhoejcNi.net
>c#講座ワロタ
>言語の質問するレベルで
>unityさわってどーすんだ
むしろ、完全にゲーム制作素人でこれからunity始めようという人なら
そういう人って多いと思うけどなー
visualStudio環境と違ってunityは構文チェックがリアルタイムでインスペクタで値が視認できるから
むしろunityでC#勉強する方が良いと思う時がある
便利なものはガンガン使って先人の技術者に追いつくのが若者の義務だろ
465:名前は開発中のものです。
14/07/12 13:05:21.70 VhoejcNi.net
>プログラム書けなくてもゲームが作れるのがUnityのウリでもあると思うの。
ちなみにそれ幻想だから
無理っすよ
466:名前は開発中のものです。
14/07/12 13:19:07.16 E2/tpFdC.net
新しい開発環境に移行する時には
持ち越せるものなんて一部なんだから
考えるだけ無駄
プログラムを仕事にして
モリモリ飯を食いたいならC++覚えときなさいよとしかいえない
467:名前は開発中のものです。
14/07/12 13:34:11.84 WzHyMOXs.net
>>450
COBOLじゃだめなん?(´・ω・`)
468:名前は開発中のものです。
14/07/12 13:35:34.80 CD50KUS/.net
>>448
C#スレだとvar使うなカスって言われるけど
unity的には使っていいの?
469:名前は開発中のものです。
14/07/12 13:43:21.82 ICQ1CTK2.net
ちょっとど忘れしたんだけどいいですか
FBXをインポートしたところにあるanimationのタブのことなんですけど
前までそこにwrap modeを選択する項目があったと思うんですけど無くなったんでしょうか?
バージョンは4.5です
一体どこでwrap modeの設定をしたらいいんですかね?
470:名前は開発中のものです。
14/07/12 14:00:26.19 VhoejcNi.net
>>455
void Start ()
{
var unity的には使っていいの = false;
if (unity的には使っていいの) {
print ("知るかボケ");
} else {
print ("使えるものは親でも使え");
}
}
471:名前は開発中のものです。
14/07/12 14:29:15.37 UPU10c7n.net
言語の問題か unity の問題か 切り分けできるようになってからじゃないと
余計な面倒でつまずきまくって挫折しそうな気もする。
デカルト先生も困難は分割しようぜって言ってたぜ
varは慣れの問題じゃないのか
個人なら好きに使えばいいと思う。
472:名前は開発中のものです。
14/07/12 14:32:20.52 E2/tpFdC.net
var を使うと、
PCと開発者が
この変数の型はなんじゃろなと判断するのに、
余計な処理時間がかかるというだけの話
473:名前は開発中のものです。
14/07/12 14:42:45.67 HbltqQ2e.net
>>455
var xxx = new XXX();
みたいにインスタンスの型が一目瞭然なら使って問題ない。長い型名なら使った方がいい
var ccc = aaa.GetBBB().GetCCC();
みたいなのだとvarじゃなくて型を書いた方が可読性はいい
474:名前は開発中のものです。
14/07/12 14:58:28.61 MznMnlQW.net
>>460その例わかりやすい
そうやってわかってる上で使い分けるのは問題ないよね。
475:名前は開発中のものです。
14/07/12 15:26:02.77 ICQ1CTK2.net
>>456の質問ですけどどうやら解決法がみつかったようです
どうもwrap modeというのはレガシーアニメーションのみで使える項目でmecanimでは
ないようです
アニメーションの一回だけ再生というのをやりたかったのですがmecanimのanimator controllerで
そういう風に作ろうと思います
476:名前は開発中のものです。
14/07/12 16:26:59.61 /cMX2NQ8.net
3Dはやってないけど..animファイルのインスペクタで設定できるLoop timeってやつじゃないの
477:名前は開発中のものです。
14/07/12 19:05:15.45 GgpyiUPf.net
ステンシルバッファってAndroidとiPhoneで環境問わず使えます?
478:名前は開発中のものです。
14/07/12 19:08:06.42 /X2ZqE8P.net
多分、影が使えてれば使えると思うよ
479:名前は開発中のものです。
14/07/12 21:31:49.87 SPaxiS5O.net
>>464
アセットを買ったら簡単ですよ
480:名前は開発中のものです。
14/07/12 23:44:32.48 WVEKrOy4.net
んなわけねーだろクズ
481:名前は開発中のものです。
14/07/13 00:03:22.18 yybQhyfv.net
>>466
どのアセットです?
482:名前は開発中のものです。
14/07/13 01:42:55.59
誰か助けてください!!
3日前からずっとPhysics2D.OverlapCircleAllの使い方を調べているのですが、
どうしてもエラーをなくすことが出来ません。
Googleで検索してすべてのページを検索してもエラーが出てしまう記述しか
見つかりません。
以下の文で何が足りないのでしょうか?
#pragma strict
var Collider2D = new Array();
function Update () {
Collider2D[] colliders = Physics2D.OverlapCircleAll (transform.position,10);
}
エラー文は
(6,19):UCE0001: ';' expected. Insert a semicolon at the end.
と出て、どこに問題があるのかわかりません。
初心者な質問で受け身な姿勢で申し訳ないのですが、
ご教授のほどお願いいたします。
483:名前は開発中のものです。
14/07/13 04:44:03.60 O+nKtuFE.net
背面カリングって自前のシェーダー以外にUnityで設定できますか?
484:名前は開発中のものです。
14/07/13 06:38:32.41 zdkzLhGH.net
メッシュフィルターやレンダラーには
カリングの設定はないんでないんじゃないかなぁ。
485:名前は開発中のものです。
14/07/13 07:40:39.46 O+nKtuFE.net
>>471
そうですか
モデルの法線を調整する方が早そうですね
ありがとうございます
486:名前は開発中のものです。
14/07/13 12:09:34.81 Qr6w5KgR.net
>>472
アセット買ったほうが早いですよ
487:名前は開発中のものです。
14/07/13 14:02:54.78 hOTnF1V9.net
昨日の>>456で質問したものですがwrap modeの場所はわかりました
URLリンク(i.imgur.com)
アニメーションクリップをデバッグビューで表示すると出てきます
でもこのように表示された項目が灰色の半透明になってて編集できません
アニメーションクリップのインスペクタの項目を編集するにはどうしたらいいでしょうか?
488:名前は開発中のものです。
14/07/13 15:14:35.00 YPuktG6+.net
#pragma strict
public var door : GameObject;
function OnTriggerEnter(col:Collider){
Debug.Log("アタリマシタ");
if(col.tag =="Player"){
door.transform.position = Vector3(door.transform.position.x,
door.transform.position.y+2.5,
door.transform.position.z);
}
Destroy(gameObject);
}
これでドアがしまるのですが「じょyじょにしまっていくようにするにはどうすべきでしょうか」
489:名前は開発中のものです。
14/07/13 15:16:00.39 9oSv9nSA.net
>>474
RigタブでAnimationTypeをLegacyにしてないとか
490:名前は開発中のものです。
14/07/13 15:22:21.15 luR7wExU.net
>>475
door.transform.position.y+1,
491:名前は開発中のものです。
14/07/13 15:39:53.45 hOTnF1V9.net
>>476
やっぱりレガシーが必須なんでしょうか
一日目の結論と同じですね
二日間悪戦苦闘しましたがレガシーが必須ならもう諦めたいと思います
492:名前は開発中のものです。
14/07/13 15:56:58.50 Qr6w5KgR.net
>>478
アセットを購入したら解決しますよ
諦めるのは早いでしょう
493:名前は開発中のものです。
14/07/13 16:05:57.21 OyPqFWy5.net
アセットアセットアセットアセットアセットアセットアセットアセットアセットアセットアセットアセットアセット
494:名前は開発中のものです。
14/07/13 21:20:45.27 34qkE2Ni.net
Animatorでwrapmodeは無理かなあ
でも使えなくなるのはPing-Phongだけだし
どうしてもやりたいならアニメーションクリップの先頭と末尾にイベントを仕込んで
再生スピードを先頭では1に、末尾では-1に変更するようにすればなんとかならんか
試してないのでわからんけど
495:名前は開発中のものです。
14/07/13 22:25:38.17 hOTnF1V9.net
>>481
そうですそうです
そのpingpongってのが引っかかってwrap modeに固執してたんですが
pingpong以外のモードに代替方法があるなら別に良いですよね
496:名前は開発中のものです。
14/07/14 01:34:30.26 dIdsie32d
rigidBodyとtransform、のrotationの違いが分かりません。全く一緒ですか?
497:名前は開発中のものです。
14/07/14 01:49:10.75 dIdsie32d
unityのスクリプトリファレンスを読んでも意味変わらん。
そのサンプルプログラムを実際に動かしてみないと理解出来ないからウェブプレイヤーで実行出来たら便利。
どうか調べたらすぐに理解出来るようにページを改変して欲しい。
498:名前は開発中のものです。
14/07/14 01:49:57.31 vwXVr9J1.net
オブジェクトに対して、今のrotationからy軸だけ180度回転させたいと思ったので下記のように書きました
transform.rotation = Quaternion.Euler(transform.rotation.eulerAngles.x, transform.rotation.eulerAngles.y+180, transform.rotation.eulerAngles.z);
しかしこれだと180度回転できる時もあれば、全然回ってくれない時もあるしで、何が悪いのかよくわかりませんでした。
どなたか良い方法ありましたらご教授いただきたく、よろしくおねがいします
499:名前は開発中のものです。
14/07/14 02:20:40.26 2bX0nnrh.net
>>485
アセットを購入すればできると思います
500:名前は開発中のものです。
14/07/14 02:23:32.94 ZIoHdMpu.net
>>485
必ず一回呼ばれるのか?
二回以上呼ばれたら180+180で元通りだ
501:名前は開発中のものです。
14/07/14 02:32:06.77 vwXVr9J1.net
>>487
なるほど、それは盲点でしたが確かに
後で検証してみます
502:名前は開発中のものです。
14/07/14 02:47:00.40 vwXVr9J1.net
>>487
確認してみたところ確かに場合によっては二回以上呼ばれてましたのでそれを直すと解決しました
回転系はややこしいので角度の求め方・文法に問題があると思い込んでました、
ナイスフォローありがとうございます
503:名前は開発中のものです。
14/07/14 02:49:08.66 729LSe1l.net
ほんとうにそこかよw
504:名前は開発中のものです。
14/07/14 02:50:28.15 ZIoHdMpu.net
マジかww
当たったw
505:名前は開発中のものです。
14/07/14 03:11:45.86 6OPlBEFh.net
エスパーがいると聞いて飛んできました
506:名前は開発中のものです。
14/07/14 03:28:36.82 2FgZyXyP.net
てす
507:名前は開発中のものです。
14/07/14 03:29:06.93 2FgZyXyP.net
iTweenを落としてみたので取り合えずオブジェクトにアタッチして、
iTweenTest.csで
public class iTweenTest : MonoBehaviour {
/*
* ローカル座標系で指定座標へ移動・回転
* 第1引数:ターゲットGameObject, 第2引数:移動に関する各種パラメータのハッシュ
* iTween.Hashでキーバリュー形式のハッシュ作成
*/
508:名前は開発中のものです。
14/07/14 03:29:42.63 2FgZyXyP.net
public GameObject gameobject;
void Start() {
iTween.MoveTo(this.gameObject, iTween.Hash(
"position", Vector3.zero,
"time", 5.0,
"oncomplete", "complete",
"oncompletetarget", this.gameObject,
"easeType", "easeInQuad",
"loopType", "loop"
//"space", Space.worldでグローバル座標系で移動
));
/* iTween.RotateTo(this.gameObject, iTween.Hash(
"y",180,
"time", 5.0
));
*/
}
509:名前は開発中のものです。
14/07/14 03:30:07.01 2FgZyXyP.net
//終了時実行メソッド
//iTween.Stop(gameobject, アニメーションタイプ(オプション);
//ターゲットのTweenを終了する
public void complete() {
iTween.Stop(this.gameobject, "move");
}
}
と設定して実行したら
NullReferenceException: Object reference not set to an instance of an object
iTween.RetrieveArgs () (at Assets/Assets2/Plugins/Pixelplacement/iTween/iTween.cs:6811)
iTween.Awake () (at Assets/Assets2/Plugins/Pixelplacement/iTween/iTween.cs:6559)
ってエラー出たんですが何か設定が足りなかったのでしょうか?
510:名前は開発中のものです。
14/07/14 05:40:42.39 1o9oiTSA.net
>>496
あまり役に立つかわかりませんが
インスペクタからオブジェクトを指定するときアセットのオブジェを指定していないでしょうか?
もしそうでしたらシーンのオブジェクトを選択すれば解決するかと…。
iTweenについてあまり詳しくないのですが…
iTween.Stop(this.gameobject, "move");
のgameobjectの小文字のoが大文字のOである可能性が…?
これが原因とは思えないですがtimeの数値にf(浮動小数点)が足りないということはないでしょうか。
"position",0を簡単なレベルの"x",0にしてみるなど…。
"loop"はiTween.LoopType.loop
"easeInQuad"はiTween.EaseType.easeInQuadと略さないで書いてみたり…なんて(笑)
話がそれますが、利便性を重視(?)したオブジェクトの取得方法を書いときます
private GameObject obj;
public string objname = "";
void Awake (){
obj = GameObject.Find(objname);
}
インスペクタで任意のオブジェ名を指定する方法にし
this.gameObjectの部分をこの場合だとobjに書き換えれば
名前だけでオブジェクトを指定できるのでちょっと便利です。
コードも少し節約?
あと生成されたオブジェクトにも対応できる利点があります。
あれ、ちょっと適当なこと言ってるかも…直接取得でもできるかな…この話はスルーしてください…。
511:名前は開発中のものです。
14/07/14 05:58:33.97 1o9oiTSA.net
先週あたりに質問したばかりなのですがエアコンが壊れて限界なのでついでに質問させてもらいます…。すみませんorz
長いですが質問までの経緯も載せておきます…
質問の内容は文字数オーバーだったので次スレを読んでもらえればと…
【出来事】
先日Blender(3Dモデリングソフト)を使ってキャラのアクション(モーション)までを作ってUnityでうまい具合に意図した動きをしてくれたのですが
Unityで3Dのキャラが扱う剣の軌跡エフェクトについて試行錯誤しています。
標準コンポーネントのTrail Rendererではタイプがビルボード(なのかな…?)なのでうすっぺらさを感じます。
数種類組み合わせれば少しはいいのですがチャージなどや振った時のみ軌跡を適用するといったスクリプトでの制御もやりにくいと思い
このさいBlenderのアクション制作時に追加でエフェクトを入れようかと思ったのですが
ブレンダーの「エフェクトを作る」参考サイトには軌跡の様なエフェクトはなく
そもそもレンダリングを前提としている話でパーティクル(Blender特有機能?)などを多用した物が多く
FBXで書き出して付いてくるような品物ではないので悩んでいました。(一度ダメ元で作ったのですがパーティクルで作ったのでUnity上ではなにもおこらず…)
そんな時にあるサイトでMayaという3Dソフトでモーションにエフェクトを追加しているブログを見かけ
Mayaをインストールして半日かけて基本操作などを覚えてきたのですが
Blenderから作ったキャラをFBX形式で読み取らせるとオブジェはメチャクチャ巨大、個別にした武器とキャラは離れているわ
ボーンの設定がところどころ(ハンドル用ボーン)消えているわ、さらにはボーンの操作は回転しかできないのっ!?IKを付ければどうにかウウゥゥゥンモウイヤン
資源の共有は難点が多いと知りやる気も薄れそもそも初心者が3Dソフトを2つも扱おうとすること事態おかしかったんだ(´・ω;`)でもMayaに魅力を感じたんです。
っと、結局マヌケなことにまたBlenderに戻っていい方法はないか探している次第です。
これ以上無駄な労力を使い変な方向に進むのも危ないと思い(熱さ的にも)
質問をすることにしました。
512:名前は開発中のものです。
14/07/14 05:59:09.34 1o9oiTSA.net
【質問】
そもそも剣に対して軌跡を付けるいい方法はどのようなものがあるのでしょうか?
やはり3Dソフトでエフェクトを加えておくべきなのでしょうか?
みなさんはいったいどのように軌跡を実装しているのかを教えていただければ嬉しいのですが
このひと手間をどうかよろしくお願いします…
513:名前は開発中のものです。
14/07/14 06:35:33.12 KntiLZet.net
武器の持ち買えとかないなら最初から作っといちゃってもいいけどな。
アセットちゃんじゃないがアセット使えば?
フリーのが二つほどある。
まぁどれくらい使えるかは知らんが
URLリンク(www.assetstore.unity3d.com)
URLリンク(www.assetstore.unity3d.com)
プロシージャルにメッシュ生成するという方法もある。
上のアセットも似たようなことはしてるかもしれん
URLリンク(forum.unity3d.com)