[過去ログ] 【3Dゲームエンジン】Unity質問スレッド29 [無断転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
303
(1): 2017/06/13(火)22:58 ID:zfyIvA2/(2/3) AAS
>>302
MeshColliderのConvexプロパティはどうなってます?
true?
304
(1): 2017/06/13(火)23:26 ID:AdsyBo0X(4/4) AAS
>>303
trueです。
というか、MeshColliderのisTrigerをtrueにしたいならConvexをtrueにしないと
isTrigerのチェックボックスが解放されませんよね
305
(1): 2017/06/13(火)23:52 ID:zfyIvA2/(3/3) AAS
>>304
あ、そうなんだ
MeshColliderの経験少ないから知らなかった
軽く調べたらMeshCollider側で制約を回避するのは難しそうだね
川のMeshCollider側のIsTrigger&Convexはfalseにして、プレイヤー側のColliderで工夫したほうがいいのかも
プレイヤー側のColliderは簡単な形なのかな?
プレイヤー側で工夫したほうが楽チンな気がする
ただの勘だけど
306
(2): 2017/06/14(水)00:07 ID:KLD2ljQF(1) AAS
>>305
アドバイスありがとうございます
色々試してみます

実際にunity使ってみると仕様上かゆいところに手が届かないというか、もどかしい部分がいくつか出てきますね。
パフォーマンス優先してこういう仕様になってるんだろうけど
307: 2017/06/14(水)01:20 ID:aj4pCFI6(1) AAS
MeshColliderでConvex有効にしないとOnTriggerEnter取れないのは5.xから
physicsはNVIDIA PhysX SDKに丸投げだから、PhysX SDKのver違いによる
仕様変更の可能性はある

PhysX SDKは開発者泣かせなSDKだからPhysXが原因でも不思議はないかなと思う
308
(1): 2017/06/14(水)02:33 ID:1sRsdZ3W(1) AAS
>>306
こ、これは乙じゃなくてConvexなんだからね
画像リンク


DCCソフト側でキューブを並べておいたらConvex入れても変形はしないみたい
Unityでやるよりちょっとマシ程度だけど、手間はどっちでやっても大差ないかもね
309: 2017/06/14(水)02:39 ID:26YMgC2v(1/2) AAS
>>306
もう、アセットを買えばいいと思いますよ、そのレベルじゃ
310: 2017/06/14(水)03:32 ID:lWyAf2s4(1) AAS
そのもどかしさわかるわー
MeshCollider + Rigidbody の組み合わせも CoverX=true強制になっててふざけんな状態だし
選択肢として可能にしておいてほしいもんだ
処理落ちどうのはこっちでカバーするし
311: 2017/06/14(水)03:34 ID:+ijmGWca(1) AAS
>>308
それだと変形しないんですね

自分でアセットストアから小物(野菜とか)のメッシュデータ落としてconvexつけてみたんですが、やはり川の時と同じように変形してしまいます。
何が違うのかな...
312
(3): 2017/06/14(水)07:15 ID:haEDSL54(1/2) AAS
public static class GameObjectExtensions
{
public static void transformM(this Transform t){ 処理 }
}
void Start () {
gameObject.transformM (gameObject.GetComponent<Transform>());
}

このコードだとエラーになるんですが、Transform型の引数ってどうやって渡せばいいんですか?
313
(1): 2017/06/14(水)09:22 ID:B7+VHkXF(1) AAS
>>312
スクリプトが割り当てられたゲームオブジェクトなら
transformで取得できるよ
関係ないゲームオブジェクトなら
GameObject.Find("ゲームオブジェクト名").transform

あとMonoBehaviourを継承してないとStart()は呼び出されない。

public class Test : MonoBehaviour {
void Start () {
ChangeTransName(transform);
StaticTest.ChangeTransName(transform);
}

void ChangeTransName(Transform t) {
t.name = "ttt";
}
}

public static class StaticTest {
public static void ChangeTransName(Transform t) {
t.name = "test";
}
}
314: 2017/06/14(水)10:05 ID:26YMgC2v(2/2) AAS
>>312
アセットを買えばいいと思いますが
315: 2017/06/14(水)13:44 ID:haEDSL54(2/2) AAS
>>313
出来ました。ありがとうございます。
316: 2017/06/14(水)14:21 ID:ip2y4rWT(1) AAS
>>312
拡張メソッドの話ではなかったみたいだが一応拡張メソッドの話を書いておこう
拡張メソッドのthis修飾子が付いた第1引数は呼び出し元のオブジェクトのように指定する
これはコンパイル時にstaticメソッドの呼び出しとして展開される

>>312のコードなら呼び出しは以下が正しい。
gameObject.transform.transformM ();

ただまあGameObjectExtensionsという名前に反してTransformを拡張してるとかツッコミどころは多い
317: 2017/06/14(水)19:17 ID:7PoPt8+e(1/3) AAS
UNITYってC#とJavaScriptで記述するって言われたけど
JavaScriptどんな時必要になるの?
318
(1): 2017/06/14(水)19:19 ID:S/j3wJfD(1) AAS
C#分からないやつが使うとき・・・・。
319: 2017/06/14(水)19:26 ID:7PoPt8+e(2/3) AAS
>>318
じゃあC#だけでいいのか
320: 名無し@キムチ 2017/06/14(水)20:16 ID:1f23pPXc(1/6) AAS
本日は晴天なり
321: 名無し@キムチ 2017/06/14(水)20:20 ID:1f23pPXc(2/6) AAS
あ、書き込めました。
しばらく書き込めない期間が続いていたので、ちょっとテストしてみました。ごめんなさい。
えっと初歩的な質問ですが、モノビヘイビアのスタート関数には行数制限があるのですか?
何か下のほうの行に書くと、その処理は無視されるみたいで、コピペして上のほうに持ってくるとちゃんと処理してくれるのですか?
これはいかなる理由に基づく現象なのでしょうか?
322
(4): 名無し@キムチ 2017/06/14(水)20:41 ID:1f23pPXc(3/6) AAS
これが主人公につけた当方のスタート関数です。

// Use this for initialization
void Start()
{
・・・長すぎるため省略・・・
MainCam = GameObject.Find("MainCamera(2)");
SubCam = GameObject.Find("Camera(2)");

animator1 = GetComponent<Animator>();
audioSources = GetComponents<AudioSource>();
sound01 = audioSources[0];
sound02 = audioSources[1];
sound03 = audioSources[2];
sound04 = audioSources[3];
sound05 = audioSources[4];
//sound06 = audioSources[5];
particle = GetComponent<ParticleSystem>();
MainCam.SetActive(false);
SubCam.SetActive(true);
InfoBox.SetActive(false);
・・・長すぎるため省略・・・ }

この関数 InfoBox.SetActive(false);のところまでしか処理されません。
それはsound06 = audioSources[5];を消しているからで、
この//sound06 = audioSources[5];をつけるとInfoBox.SetActive(false);も処理されなくなってしまいます。
行数にすると24行目までしか処理されないようです。
Unityの規約にスタート関数は24行までという規約でもあるのですか?
当方理由がわからず途方にくれています。
よろしくお願いします。
323
(1): 2017/06/14(水)20:52 ID:akYjCxEY(1) AAS
>>322
24行目までしか実行されないというのはどうやって確かめました?
デバッガでステップ実行?
324: 名無し@キムチ 2017/06/14(水)20:55 ID:1f23pPXc(4/6) AAS
>>323
目視です。実際やってみて、それより下の処理が実行されてないことを確かめました。
325: 2017/06/14(水)21:09 ID:Y03yzoRK(1/3) AAS
目視ってなんや?
326
(1): 2017/06/14(水)21:22 ID:nxSO0imy(1/4) AAS
処理されないなら、エラーコード出てないか?
327
(1): 2017/06/14(水)21:24 ID:nxSO0imy(2/4) AAS
あと、変数は、static連発してないよな?
328: 名無し@キムチ 2017/06/14(水)21:45 ID:1f23pPXc(5/6) AAS
>>326
エラーコードのようなものは出てないと思いますが、ワーニングのようなものはいくつか出ています。
>>327
変数38コのうち、public static にしているのは15コです。これは多いほうですか?普通ですか?
329: 2017/06/14(水)21:49 ID:nxSO0imy(3/4) AAS
管理できてれば多い少ないはないよ。
スタートの中身全部コメントアウトして実行。
問題ないなら順にコメントアウトを外してみる。
330
(2): 2017/06/14(水)21:55 ID:7PoPt8+e(3/3) AAS
開発何でしてる?VS?JET?それ以外?
331
(1): 名無し@キムチ 2017/06/14(水)22:02 ID:1f23pPXc(6/6) AAS
>>330
VS、JETのような言葉は当方見当がつきません。
開発はUnityで行っておりますが、これは質問の趣旨から外れた答えかもしれませんね…。
332: 2017/06/14(水)22:32 ID:ytlS3weq(1) AAS
コードを書くときは、どれを使ってるの?って話だろ
1-
あと 670 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.013s