【3Dゲームエンジン】Unity質問スレッド10
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2014/06/26(木) 23:02:03.72ID:t35CWy1RWindows/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質問スレッド9
http://peace.2ch.net/test/read.cgi/gamedev/1399506271/
■本スレ
【3Dゲームエンジン】Unity総合スレッド22
http://toro.2ch.net/test/read.cgi/gamedev/1395140574/
■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←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
0231名前は開発中のものです。
2014/07/05(土) 21:02:02.66ID:LqlDa1fKAssetを購入しなければ
一生オツムが弱いまま終わってしまいますよ。
本当にそれでいいのですか?
0232名前は開発中のものです。
2014/07/05(土) 21:11:58.63ID:5RDMk77lシェーダを下記のように変更したらどうでしょうか
SubShader {
Tags { "RenderType"="Transparent" "Queue"="Transparent+1"}
Blend SrcAlpha OneMinusSrcAlpha
ZWrite Off
〜略〜
}
0233名前は開発中のものです。
2014/07/05(土) 21:24:05.24ID:yKo8Fb0P水とか透明表現の関係は描画順序とかにも依存するので一概にコレが原因って言うのは非常に難しいよ
0234名前は開発中のものです。
2014/07/05(土) 21:48:11.50ID:6/5YeGIR反対側からみてみ?
描画順の問題だったら見え方が違うかもしれないよ
モニターの裏から見ろって事じゃなくて、おぶじぇくとのむこうからみるってことだからな
0235名前は開発中のものです。
2014/07/05(土) 21:53:25.70ID:SilqY6PO非常に助かりました!
透明にする時はTagでの描画順序的なものを考慮するべきだったんですね。
これでやっとモーション作りに移れそうです。
迅速な返答、ありがとうございます。
0236名前は開発中のものです。
2014/07/06(日) 00:00:05.93ID:N5QQMiFF最近のunityスレは殺伐としてるのでとっても心あたたまったよ
頑張れ
0237名前は開発中のものです。
2014/07/06(日) 01:27:30.34ID:+x1vY1xa幼女っぽい
0238名前は開発中のものです。
2014/07/06(日) 02:18:14.83ID:1ai0I56Z波動エフェクトを様々な角度にして生成したいのですが
0239名前は開発中のものです。
2014/07/06(日) 02:45:22.90ID:jnVGzpVRアセットを買えばいいと思うよ
0240名前は開発中のものです。
2014/07/06(日) 08:34:29.99ID:+M1clTAW"!"の使い方について教えてください。
ちょっと詳細を省きますが、
下記のような式がありまして(色々省いています)
var open_switch : boolean ;
var temp_open_switch : boolean ;
if (temp_open_switch != open_switch)
→これは比較演算式で左右の値が等しくない場合は”ture”ですよね
if (!open_switch)
→このように、先頭に来る場合はどのような意味になるのでしょうか?
ググったけれ見つけられず、
申し訳ございませんが、宜しくお願いいたします。
0241名前は開発中のものです。
2014/07/06(日) 08:41:02.52ID:1ai0I56Zif (!open_switch)
は
if (open_switch==false)
と同義
0242名前は開発中のものです。
2014/07/06(日) 08:50:31.77ID:+M1clTAWなるほど、ありがとうございます!
そうすると下記のような場合だと
var open_switch:GameObject;
if(!open_switch)
→
”open_switch”が"GameObject"とイコールではないとなるのでしょうか…
すみません、宜しくお願いします。
0243名前は開発中のものです。
2014/07/06(日) 08:51:42.60ID:FBnZyoZb外部からコントロールできるような手法やツールはあるのでしょうか。
Unityアプリのスピードを、速くしたり、遅くしたりということをツール等を
使ってできるのかがわかりません。
タスクマネージャからブラウザのプロセスの優先度を下げたり、上げたりして
みましたがアプリのスピードを変える事ができませんでした。
どなたかご存知でしたらご教授ください。
0244名前は開発中のものです。
2014/07/06(日) 09:04:00.69ID:1ai0I56Zその場合はopen_switchがnullのときだけ
つまりopen_switchに何のGameObjectも代入されてない場合にifの先が実行される
・・・と思う
自分もまだ勉強中ゆえ本当にそうかはちょっと自信がない
0245名前は開発中のものです。
2014/07/06(日) 09:11:45.22ID:+M1clTAWありがとうございます。
参考にしてみます。
”!”の記入の仕方が色々あり、読み解くのが
難しいです。。。
0246名前は開発中のものです。
2014/07/06(日) 10:31:59.86ID:N5QQMiFF! variable は数値、真偽値、オブジェクトに対して
variable == 0
variable == false
variable == null
として使う
明示的じゃないので嫌いな人も居るから読みやすいように書けば良いと思うよ。
0247名前は開発中のものです。
2014/07/06(日) 10:34:02.81ID:9dRES+AK|ノ⌒ ⌒ ヽ
/ ●) ●) |
オツカレチャ━━━━━| ( _●_) ミ━━━━━ン♪
彡、 |∪| 、`
/ ヽノ ヽ
/ 人 \\ 彡
⊂´_/ ) ヽ__`⊃
/ 人 (
(_ノ (_)
0248名前は開発中のものです。
2014/07/06(日) 10:45:03.89ID:+M1clTAWありがとうございます。
勉強になります!
0249名前は開発中のものです。
2014/07/06(日) 11:08:05.44ID:+M1clTAW下記のような形で、
指定のゲームオブジェクトに当てはめられている「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;
}
}
0250名前は開発中のものです。
2014/07/06(日) 11:13:39.06ID:9dRES+AK|ノ⌒ ⌒ ヽ
/ ●) ●) |
オツカレチャ━━━━━| ( _●_) ミ━━━━━ン♪
彡、 |∪| 、`
/ ヽノ ヽ
/ 人 \\ 彡
⊂´_/ ) ヽ__`⊃
/ 人 (
(_ノ (_)
0251名前は開発中のものです。
2014/07/06(日) 11:36:08.98ID:W+VtYmCAaudio.clip = voice;
これ逆じゃね?
あと毎回Play呼ばれてね?
0252名前は開発中のものです。
2014/07/06(日) 11:42:45.52ID:+M1clTAWありがとうございます。
逆というと、こういうことでしょうか。。。
audio.clip = voice;
audio.Play();
また、毎回プレイで呼ばれている、確かに
何かアクションを起こす度に音がなります。
それは、「audio.Play();」の再生方法が間違っているのでしょうか。
0253名前は開発中のものです。
2014/07/06(日) 12:07:34.19ID:/ZhdI6Tkfalseにずっとなってても1度しか鳴らしたくないのであれば
フラグでも立てればいいのでは?
var flag : int = 0;
function Update () {
if(goalScript.cleared==false && flag == 0){
audio.Play();
audio.clip = voice;
flag = 1; //再プレイ抑止
}
0254名前は開発中のものです。
2014/07/06(日) 12:07:36.22ID:A7UAPEqP毎回、音がなってるからそれ制御してやって。
0255名前は開発中のものです。
2014/07/06(日) 12:24:22.63ID:www09xjyアセットを購入しましょう
0256名前は開発中のものです。
2014/07/06(日) 12:24:31.86ID:+M1clTAWUpdateの考え方が分かりました。
PG初心者なもので、ありがとうございます。
毎F呼ばれるので、スタート時や何かアクションを
起こしたときに再生されるのですね。。。
また、ご連絡いただきましたスクリプトですと、
「cleared==false」になったと同時に「flag = 1」に
なってしまいます。
「audio.Play()」再生後に「flag = 1」にするには、
どのように対応すれば宜しいでしょうか。
すみませんが、宜しくお願いします。
0257名前は開発中のものです。
2014/07/06(日) 12:46:49.69ID:g+013jS2「スタート!」とかBGMとか効果音とかでやり方変わるよ
初心者ならフローチャートみたいのを書いた方が楽にできるだろうし、
論理的な考え方も身につくんじゃないかな?
0258名前は開発中のものです。
2014/07/06(日) 12:52:35.12ID:/ZhdI6Tkaudio.Play();
audio.clip = voice;
ここ2ステップの正当性については検証していませんが
処理順的にvoiceが鳴ったあとにフラグONされるはずですが・・・
デバッガでステップインしたらちゃんとそこを通っていますか?
voiceにはちゃんと中身が入っていますか?
0259名前は開発中のものです。
2014/07/06(日) 12:57:30.13ID:+M1clTAW256です。
度々すみません
"キャラを3Dフィールドで動かして、「goalObj」というアーチオブジェクトを
通過したら、「voice」を再生。
また再度通過しても、同様に「voice」を再生する。"
という使用でサウンドを鳴らしたいと考えています。
宜しくお願いします。
0260名前は開発中のものです。
2014/07/06(日) 13:10:34.33ID:+M1clTAW256です。
いただきましたスクリプトで下記のように記述しています。
現状このような状態です。
・再生すると「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;
}
}
0261名前は開発中のものです。
2014/07/06(日) 13:27:50.82ID:N5QQMiFFあるいは goalScriptのclearedをクリアチェックして更新してる箇所で
if(audio.isPlaying == false) {
audio.clip = voice;
audio.Play();
}
ぢゃないの?
も一つおまけにゴール通過した時とゴール地点に居座った時の区別とか付く?
0262名前は開発中のものです。
2014/07/06(日) 13:33:54.41ID:yBLHkZ9tそのスクリプトをつけたゲームオブジェクトがシーンに存在している間は、1秒間に60回とか永遠にUpdateは実行される。
なにかのボタンを押した時だけ再生したいとかなら、そのボタンを押したという情報をUpdate内で判断してplayを実行しなきゃならん。
それが、flagだ。
だから、ボタンを押した時にこのflagを1にしてやる処理を書かないと動かん。
0263名前は開発中のものです。
2014/07/06(日) 13:46:21.21ID:/ZhdI6Tkアーチっていうのが何か分からないのですが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はインスペクタから鳴らしたいボイスファイルをアタッチします
0264名前は開発中のものです。
2014/07/06(日) 13:47:48.80ID:yBLHkZ9t> だから、ボタンを押した時にこのflagを1にしてやる処理を書かないと動かん。
正)flagを0に
0265名前は開発中のものです。
2014/07/06(日) 13:47:52.35ID:+M1clTAW256です。
”goalScript.clearedって通過した瞬間だけ1”そうなのですが、
書き方がわからず悩んでいるところです。。。
>>262
言われている通りで、
Updateが毎フレーム実行していることがようやく理解出来たところです。
”flagを1にしてやる処理”ここが261さんの返答でも書きましたが、悩んでいるところです。
宜しくお願いします。
0266名前は開発中のものです。
2014/07/06(日) 13:53:14.81ID:9dRES+AK/ (゚) 、_ `ヽ
/ ( ● (゚) |つ
.オツカレチャ━━━━━| /(入__ノ ミ━━━━━ン♪
、 (_/ ノ
\___ ノ゙
/ ヽ
/ 人 \\ 彡
⊂´_/ ) ヽ__`⊃
/ 人 (
(_ノ (_)
0267名前は開発中のものです。
2014/07/06(日) 14:19:05.13ID:+M1clTAWサウンドの件ですが、
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;
}
}
宜しくお願いします。
0268名前は開発中のものです。
2014/07/06(日) 14:57:57.08ID:Ml1Wif2C>通過したら、「voice」を再生。
>また再度通過しても、同様に「voice」を再生する。"
>という使用でサウンドを鳴らしたいと考えています。
キャラを動かしてgoalObjとの衝突判定取れるとこまでは出来てるんだよな・・・?
本でも買って一から勉強したほうがいいレベルのような気がするが
黄色い本がオススメだぞ
0269名前は開発中のものです。
2014/07/06(日) 15:00:44.87ID:N5QQMiFFツクールとかと異なって細かい事までできる分Unityは言われているほど簡単じゃないから。
0270名前は開発中のものです。
2014/07/06(日) 15:21:00.72ID:+M1clTAW動きの方は問題ないのですが、
サウンドの制御が上手くいきません。
なるのだけれど、"Updateが毎フレーム実行"というところで
引っかかり、余計なところで再生してしまう。
モーションもサウンドと似たようなスクリプトだけれど、
サウンドは上手くいきませんね。。。
unity入門は一通り目を通したのですが、
中々応用が厳しい状態です。
0271名前は開発中のものです。
2014/07/06(日) 15:25:03.44ID:N5QQMiFF本読んでいるってことはGoalオブジェクトとの衝突判定にはCollision使ってるんだよね?
ならCollisionチェック(上でだれかが書いていたけど)のあるScript側でゴール音ならすだけじゃないの?
0272名前は開発中のものです。
2014/07/06(日) 15:44:08.47ID:+M1clTAWすみません、ちょっと話がループしてしまうのですが、
現状のスクリプト(下記のもの)
でも音がなるのですが、
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;
}
}
0273名前は開発中のものです。
2014/07/06(日) 15:47:52.33ID:BQWLChCYそしてUpdateで
if(goalScript.cleared==false){
goalScript.cleared=true●●●ここを追加
audio.Play();
audio.clip = voice;
}
かね
0274名前は開発中のものです。
2014/07/06(日) 15:48:31.46ID:BQWLChCY0275名前は開発中のものです。
2014/07/06(日) 15:49:11.00ID:BQWLChCY0276名前は開発中のものです。
2014/07/06(日) 16:18:25.09ID:kNYy9+kR0277名前は開発中のものです。
2014/07/06(日) 16:21:41.06ID:kNYy9+kROnCollisionExitで
cleared=falseしてやればいんじゃね
曲の途中でexitされるのがイヤならそれが終了するまで待つ必要があるけど
0278名前は開発中のものです。
2014/07/06(日) 16:25:51.67ID:www09xjy0279名前は開発中のものです。
2014/07/06(日) 16:52:22.66ID:+M1clTAWありがとうございます。
「OnCollisionExit」調べさせていただきます。
しかしながら、申し訳ないのですが、
「audio.Play(); 」を一回だけ実行する方法が知りたいです。
現状のスクリプトですと、
unity上で再生ボタンを押したときなど、
余計な時にも鳴ってしまう状態です。。。
宜しくお願いします。
0280名前は開発中のものです。
2014/07/06(日) 17:03:51.29ID:kNYy9+kRcleared==false
で鳴るんでしょー
初期値がfalseなら最初にUpdateが来たときに鳴るのは正常な動作だよ
cleared=trueに初期化して
何者かがCollisionEnterしたときにcleared=falseにしてあげれば
一回だけ鳴るよ
trueとfalse逆のほうが意味が混乱しないかもしれないけど
0281名前は開発中のものです。
2014/07/06(日) 17:34:11.18ID:www09xjyアセット買えばいいと思うよ
0282名前は開発中のものです。
2014/07/06(日) 17:44:36.50ID:h+L1nGu/自分だったらプレイヤーに
function Goal {
audio.clip = voice;
audio.Play();
}
というメソッドを用意して、ゴールオブジェクトのOnTriggerEnter(Collider other)で
other.gameObject.SendMessage("Goal")
とメッセージを送ります。Updateは使いません
0283名前は開発中のものです。
2014/07/06(日) 17:45:49.89ID:FOrSI5ndたしか、if(x)が実行されないのは、x=0の時だけで、x=10とか、でも実行されるよな?不安になってきた
0284名前は開発中のものです。
2014/07/06(日) 19:53:39.89ID:1ai0I56Zその辺は>>246が完璧だと思う
x=10でも実行される
0285名前は開発中のものです。
2014/07/06(日) 20:08:00.79ID:8bCjoDHE0286名前は開発中のものです。
2014/07/06(日) 20:12:44.73ID:FOrSI5ndサンクス
0287名前は開発中のものです。
2014/07/06(日) 22:09:08.54ID:1ai0I56Z再生するたびにカメラの追従がガタガタになったり直ったりする
0288名前は開発中のものです。
2014/07/06(日) 22:12:20.98ID:+M1clTAWどうやら上手くいきました。。。
>>253さんのものをベースに再生指定方法を「PlayOneShot」に変更しましたら、
予定した再生方法に出来ました。
"function Update"だと"audio.Play()"は機能しないのですかね。
"function Start"だと再生されるのですが。。。
ひとまず、
色々アドバイスいただき、ありがとうございました!!!
0289名前は開発中のものです。
2014/07/06(日) 22:38:43.47ID:qYY8rbjFみたいな感じでハーレム築けませんかね?
0290名前は開発中のものです。
2014/07/06(日) 23:25:21.79ID:6HL28AkKオブジェクトを物理で動かしてカメラをUpdate()でうごかしたり
オブジェクトとカメラをUpdate()で動かしたりするとそうなる、
かもしれない。
0291名前は開発中のものです。
2014/07/06(日) 23:43:29.23ID:1ai0I56ZInspectorにカメラそのものかカメラが追従するもの(プレイヤー)が表示されたまま
ゲームを再生するとカメラがガタガタになるらしい
0292名前は開発中のものです。
2014/07/06(日) 23:48:26.75ID:W+VtYmCA全然分かってないと思うんだが大丈夫かよ
0293名前は開発中のものです。
2014/07/06(日) 23:59:03.64ID:qYY8rbjF0294名前は開発中のものです。
2014/07/07(月) 06:22:04.29ID:1a4GRbbJ0295名前は開発中のものです。
2014/07/07(月) 11:59:01.03ID:NmVEc3IaWebViewは、Android,いPhone,Macは、対応してるけど、windowsだけ対応してなくて。
現在開発がWindows中心なのでどうにかそこもカバーしたい。。
0296名前は開発中のものです。
2014/07/07(月) 14:05:19.09ID:HFPJwFqUフィールドが2〜3個なら[System.NonSerialized]でいいんですが
50個くらいのフィールドを全てインスペクタに表示しないようにしたいんですが、
一つ一つに[System.NonSerialized]付けていくしかないですか?
一括でできる方法があれば教えて下さい
0297名前は開発中のものです。
2014/07/07(月) 14:28:44.66ID:xmI8T3g4方法はいくつかある。
その前にSystem.NonSerialized属性はフィールドをインスペクタに表示しない属性じゃなくて、
フィールドをシリアライズしない属性。非表示だけならHideInInspector属性を使うと良いよ。
んで一括で表示させない方法だけど、まずはそのフィールドが本当にフィールドである必要があるかを考える。
プロパティはシリアライズされないから、{get;set;}とかをつけてプロパティにしてしまう手もある。他クラスから取得できるけど設定できない値とかも作れるよ。
他にはカスタムエディタを定義しておく方法がある。
Editorってフォルダ内に適当に「(クラスの名前)Editor」みたいなスクリプト作る。
UnityEditor名前空間を参照して、Editorクラスを継承する。
CustomEditor属性を付けてフィールドを非表示にしたいクラスを渡す。
OnInspectorGUIメソッドをオーバーライドしてインスペクタの表示処理を書く。
0298名前は開発中のものです。
2014/07/07(月) 14:29:13.89ID:xmI8T3g4<例>
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(); ←このコメントを外すと普通にインスペクタが表示される。
}
}
0299名前は開発中のものです。
2014/07/07(月) 14:44:25.67ID:HFPJwFqUちなみに、System.NonSerialized属性にするとセーブ機能なんかでバイナリ保存したい場合とか
保存できないですよね?
あと、どっかのサイトにHideInInspectorよりSystem.NonSerializedの属性使う方が
トラブルが少ないと書かれていたのでSystem.NonSerializedがいいのかなと思っていました
0300名前は開発中のものです。
2014/07/07(月) 14:45:00.13ID:HFPJwFqUすみません、誤字でした
0301名前は開発中のものです。
2014/07/07(月) 15:15:53.35ID:HFPJwFqUデバッガ(デフォルトのMonoDepeloperです)で、
メソッド名やクラス名から、そのメソッドやクラスの定義場所に
飛ぶ事ってできますか?
メソッド名にカーソル合わせてファンクションキーで
MSのVisualStudioは確か、F5か何かでそういう事が出来ました
0302名前は開発中のものです。
2014/07/07(月) 15:30:25.22ID:eJFMJ6UC適当なFBXファイルをhumanoidからレガシーに設定し直しました
しかし何故か右下のアニメーション確認窓で動きが確認できないので、クリップを切り分けることもできずで困っています
人物型のアバターをドラッグ&ドロップなどしても窓に反映されない感じです
今さらレガシーもなんだとは思うんですが、どなたかわかる方いらっしゃいますか?
0303名前は開発中のものです。
2014/07/07(月) 16:19:20.74ID:N3XLjMKCアセットを買えばいいと思います
0304名前は開発中のものです。
2014/07/07(月) 17:03:34.34ID:6DBZchmdこれ、アクションゲーム作るときに凄く悩まされたんだけど、
毎フレーム更新してるから、レンダリング云々でガクガクになるから
カメラ追従の位置をslerp使って中間を取るといいんだよね?
0305名前は開発中のものです。
2014/07/07(月) 18:27:13.35ID:XCqy4kdt自分はカメラのpositionをターゲットに追従させながらrotationを向けている
positionはSmoothDamp、rotationはSlerpを使っているけど
Inspectorに何か表示されてるとガクガクなる(特に>>291の条件で確実に発生する)
Inspectorに表示されてることでどういった影響が出てるのかはよくわからない
0306名前は開発中のものです。
2014/07/07(月) 18:42:29.10ID:zFT18/Wd0307名前は開発中のものです。
2014/07/07(月) 19:24:12.84ID:xmI8T3g4>HideInInspectorよりSystem.NonSerializedの属性使う方が
>トラブルが少ないと書かれていたのでSystem.NonSerializedがいいのかなと思っていました
もちろんどっちが良いということはない。
ただし用途によって使い分ける必要はある。
その機能がなんのために提供さてれいて、どんなときに使うものなのか常に考えていこう。
>>301
ソースを右クリックしたらGo to declaration(宣言に移動)ってのがあるからそれ。自分の環境だとショートカットはF12になってたよ。
ちにみにその下のFind reference(参照を探す)ってのが選択したクラスやらメソッドやらが使われてる場所の一覧出すやつ。
0308名前は開発中のものです。
2014/07/07(月) 19:46:31.46ID:HFPJwFqUありがとうございます。
F12でいけました!
0309名前は開発中のものです。
2014/07/07(月) 20:10:33.03ID:AkErnja1立方体をマウスクリックした際に、どの面がクリックされたかを取得したいのですが
Ray ray = Camera.main.ScreenPointToRay( Input.mousePosition );
if( Physics.Raycast( ray, out hit ){
// 立方体のどの面がrayと交わった?.
}
hitにオブジェクトのワールド座標等が格納されていることは理解したのですが
どの面がクリックされたのか判別の方法がわかりません。
立方体の頂点座標が算出できれば面もわかるのかも知れませんが、知識不足ですみません。
ご存知の方いましたらご教示をお願いいたします。
0310名前は開発中のものです。
2014/07/07(月) 20:13:26.02ID:Ljm9tBgH0311名前は開発中のものです。
2014/07/07(月) 20:15:20.63ID:hxC6zxXdFBXファイルがレガシーでのインポートに対応してないのかと思ったらそんなことないし
よくわかりません
使ってるファイルは有名なフリーのアニメーションアセットです、たしかunity公式だったかな
0312名前は開発中のものです。
2014/07/07(月) 20:43:00.20ID:62bXAYEJ先程まで普通に再生できていたのに突然NullReferenceExceptionという
エラーが出るようになり再生できなくなってしまいました。
どうしたら元に戻るでしょうか?
どなたかご教授宜しくお願いします。
0313名前は開発中のものです。
2014/07/07(月) 20:54:38.50ID:b1e9ZXbNそれがいわゆる有名な「ぬるぽ」というやつです。
0314名前は開発中のものです。
2014/07/07(月) 21:46:09.56ID:9cyM0yixhit.pointで判定できると思うんだけど何か問題ある?
0315名前は開発中のものです。
2014/07/07(月) 22:03:54.63ID:T/C3A20Jそのエラーメッセージのとおりヌルを参照するとそうなる。
とりあえずそのエラーメッセージをダブルクリックすれば
MonoDevelopが起動してスクリプトのどこでエラーが起きてるのか
教えてくれる。
今まで何故動いてたのか、とかどうすれば動くようになるのかは
みてみないことにはわからん。
>>311
とりあえずFBXで必ず起きるという現象ではない、とは言える。
手元にあるものはLegasyにしても表示されている。
ただ確かに表示されないという現象が起きたことがあるな〜、
という記憶はあるな。
0316名前は開発中のものです。
2014/07/07(月) 22:32:23.90ID:YdReXL8o直らない時もあったりするからバックアップは必須
0317名前は開発中のものです。
2014/07/07(月) 22:54:39.38ID:WzLbsFo2他のCGソフトに読み込んでアニメ確認が早い気もするがのー
0318名前は開発中のものです。
2014/07/07(月) 23:58:14.69ID:xmI8T3g4と ) | |
Y /ノ 人
/ ) < >__Λ∩
_/し' //. V`Д´)/ ←>>313
(_フ彡 /
0319名前は開発中のものです。
2014/07/08(火) 09:25:06.86ID:NX4W3vdm0320名前は開発中のものです。
2014/07/08(火) 09:29:06.74ID:Qd6T63myダメに決まってんだろこのアスペが。
0321309
2014/07/08(火) 09:51:12.27ID:4qnhUGqBありがとうございます。
hit.pointは衝突した座標が取得できると思うのですが
そこから立方体の各頂点、面はどうすれば判別できるでしょうか?
見当違いなこと聞いてたらすみません。
0322名前は開発中のものです。
2014/07/08(火) 10:02:05.26ID:ZJvtMt/G返信ありがとうございます。
今度からはちゃんとバックアップ取っておくように気をつけようと思います‥‥
エラーが出てる箇所は
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){
この部分なんですが、どこがおかしいのかよろしければ教えて頂けないでしょうか?
0323名前は開発中のものです。
2014/07/08(火) 10:28:29.63ID:ytRwZWLOttp://uwebkit.com
これがWindowsで使えるWebViewを提供してる、ただしプラットフォームがWin,Mac,iOSのみ
Win側の実装は別プロセスでWebKitブラウザサーバが動いていてそいつにレンダリングさせた画像を取得する方式
俺はコレとGreeのWebViewのAndroidとをラッパーと#ifでAPIそろえてから使ってる。
uWebKit単体はテクスチャレンダリングとかも含んでるのでAndroidを捨てるなら3Dゲームのシーン内で看板にしたりとかもできる
0324名前は開発中のものです。
2014/07/08(火) 10:28:45.55ID:t1kUpUtT恐らくだが、
コンタクトポイントは物理エンジンが
衝突検知したときに生成してよこしてくる。
ttp://docs.unity3d.com/ScriptReference/Collision-contacts.html
The contact points generated by the physics engine.
コリダー自体はメッシュコリダーだけではなくスフィアやカプセル、
キューブなんかもあるのでコンタクトポイント生成の仕組みに
頂点や面は常に関係している訳ではない。
ということはメッシュコリダーを使った時に頂点や面の情報を提供するには
特別にその為の機能が実装されていてその情報をストアするデータ構造が
用意されていなければならないはずだがそういうものはない。
てあたりから考えるにコンタクトポイント配列から一番近い面、頂点なりを
割り出す機能を自分で実装するしかない、のではないかな。
0325名前は開発中のものです。
2014/07/08(火) 10:33:31.76ID:t1kUpUtTその中身だと多分cam、が割り当てられていないとか
実行時に消滅しちゃってるとかそんな話じゃない?
0326名前は開発中のものです。
2014/07/08(火) 11:08:22.80ID:ZJvtMt/Gご指摘通りcamが割り当てられていなかったみたいでした‥‥。
助かりました。ありがとうございます!
0327名前は開発中のものです。
2014/07/08(火) 12:18:46.50ID:QX88T4yM>>317
ありがとございます
Raw Mocap Dataってアセットを使ってたんですが、
どうやらここのFBXデータは軒並みレガシー化が出来ないようです
理由はよくわかりませんがメカニム専用に作られてるんでしょうね
他のアセットでは出来ました
使いたいモーションはここのやつだったので残念です
0328309
2014/07/08(火) 12:42:36.02ID:4qnhUGqBありがとうございます。
そうですよね……
そもそも衝突したオブジェクトが立方体かどうかなんて
エンジン側には関係ないわけで、自分で計算するしかありませんよね。
その計算方法がいまいちピンとこないのですが……数学がんばっとけばよかったな。
また質問させていただくかもしれません。
回答くださった方、ありがとうございました。
0329名前は開発中のものです。
2014/07/08(火) 12:43:59.96ID:Qd6T63myダメに決まってんだろこのアスペが。
0330名前は開発中のものです。
2014/07/08(火) 12:48:54.92ID:t1kUpUtTちょっと開いてみたがこのデータはモデル(メッシュ)が入ってないんだわ。
なのでレガシーにしてプレビューしたいならまずRawMocapDataの
一番上の階層のDefaultAvatarのリグをレガシーに設定した上で
Animationsの中のクリップをレガシーにしてプレビューの右下にある
人マークをクリックしてotherを選べばFBXやPrefabの一覧が出てくるので
そこでさっきレガシーに設定したDefaultAvatorを選べばプレビューできる。
少なくとも俺のところではできた。
■ このスレッドは過去ログ倉庫に格納されています