【ゲームエンジン】Unity初心者質問スレBuild3

■ このスレッドは過去ログ倉庫に格納されています
2020/01/11(土) 14:28:59.18ID:wPvGtAaQ
ゲームエンジンUnityを楽しむ初心者による初心者の為のスレ
その為「アセットを購入しましょう」「チュートリアルやれ」「ググレカス」等禁止
初心者が親身になって初心者に教える。
又ググレの場合、何のキーワードでググるのか書いてね

●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・マニュアル
 http://docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
 http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
 http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
 http://unity3d.com/jp/unity/faq
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。
※前スレ
【ゲームエンジン】Unity初心者質問スレBuild2
https://mevius.5ch.net/test/read.cgi/gamedev/1557293737/
2020/02/20(木) 22:57:01.36ID:mxrIND5A
>>609
ありがとうございます。
particleでだいぶ探しましたが目当ての物は見つけられませんでした。。
もしかして3D用っぽい奴を2Dでも使うのでしょうか?
620弟子
垢版 |
2020/02/21(金) 09:37:36.77ID:3apfnp7Z
>>618
>→ 3.確認コード入力でアカウント登録完了

ただ単にHTTPのリンクを張るだけ
PlayfabAPIの説明書にhttpの例あるでしょ
POST https://titleId.playfabapi.com/Client/UpdateUserData
こんな感じで、ここに特定するIDと発行した確認コードいれてリンククリック

ゲームでやるならログインしてからそのアカウントのデータ確認して
発行コードと入力コードが同じならゲームに進む、
入力が無ければ、認証してくださいをゲームのどこかに表示なり、その画面なりにするだけ

>>619
>打撃や斬撃、矢を降らした様なシュバババ!
これが最初音かと思ってたのでレス控えててけど、エフェクト関係なのね
http://ktk-kumamoto.はてなblog.com/entry/2017/12/21/151513
(はてな=ローマ字)とか
https://gametukurikata.com/effect/particlesystem
とか色々とやってみるといいかと、3Dとか2Dとか奥行きくらいしか関係ないので大丈夫です、スプライトだけで表現したいなら>>587 参照で
621弟子
垢版 |
2020/02/21(金) 09:55:46.08ID:h4RVluUH
>>619
次いでですが
アセット、ツイッターだと「#Unity神アセット2D」こんなタグありましたので良ければ見てみてください

>>618
>Unityにdllファイルを配置する
これなんですが、「Login With Google Account」の説明にDLLの記載は無いようなのですが、どちらの情報でしょか?
確認してみたいと思いますが
2020/02/21(金) 11:25:30.40ID:+A2ccNJ6
>>620
すみません。不慣れなもので申し訳ないのです。
>PlayfabAPIの説明書にhttpの例あるでしょ
どこに記述されているか教えてください。

>ゲームでやるならログインしてからそのアカウントのデータ確認して
>発行コードと入力コードが同じならゲームに進む、
>入力が無ければ、認証してくださいをゲームのどこかに表示なり、その画面なりにするだけ
例も確認できていないのに恐縮ですが、
1.クライアントでアカウント登録時に確認をせずに即PlayFabでアカウントを(利用できない状態で)登録。
2.登録されたアカウントデータをもとに例に基づいてPlayFabからメールをコードを送信、およびクライアントでコードを取得(どうやって?)。
3.クライアントで入力画面(uGui等)を用意し、保持していたコードと入力されたコードが一致したらアカウントを利用できる状態にする。
というような流れになるのでしょうか?

>これなんですが、「Login With Google Account」の説明にDLLの記載は無いようなのですが、どちらの情報でしょか?
すみません。勘違いしていたようで、GoogleアカウントではなくGooglePlayアカウントでした

DLL云々に関してはどこで見たのか思い出せないのですが、
1.GoogleAPIをVisualStudioでインストールした後、
このままではUnityからは認識されないためAsset/Pluginフォルダに配置する方法。
2.GitHubにアップロードされていたGoogleAPIをダウンロードし、
解凍したファイル内にある特定のDLLを配置する。
という2種類の方法が提示されており、それに従ったところコンパイルエラーで動かなくなってしまいました。

今見てみたらunitypackageのファイルを取得できたので問題ありませんでした。
お騒がせいたしました。
623弟子
垢版 |
2020/02/21(金) 11:31:48.28ID:3apfnp7Z
一応、公式のチュートリアル貼っときます
Unity で Google Play ゲームを使用して PlayFab 認証を設定する
https://docs.microsoft.com/ja-jp/gaming/playfab/features/authentication/platform-specific-authentication/google-sign-in-unity
624弟子
垢版 |
2020/02/21(金) 11:43:58.81ID:h4RVluUH
>>622
公式のAPIのページにほとんどのコードがHTTPの記述ありますね
https://i.gyazo.com/2b550882ca8dedbe4a658c5422ddd0e3.png
titleIdはご自身のゲームタイトルです

アカウント登録と同時にプレイヤーデータ登録を行って
例えばこのように
https://i.gyazo.com/aaa6d85b447ba5475cf4cb893ca49980.png
しておけばまだ入力されていないと確認できますね
プレイヤーデータの取得は
https://i.gyazo.com/f11d86ceef2e1d19763c72c4aa64f034.png

取得方法とかはチュートリアルにもあるのでやってみてはどうですか?
625弟子
垢版 |
2020/02/21(金) 11:52:56.70ID:h4RVluUH
あぁそうそう、MSさんのページは英語でわからーんって場合、まぁ一応日本語ページも用意されてるんだけど
簡単に変えるには
「en-US」を「ja-JP」に変えると変わる場合がありますのでやってみてるいいかと

ついでにプレイヤーデータに関するチュートリアル
https://docs.microsoft.com/ja-JP/gaming/playfab/features/data/playerdata/tutorials
2020/02/21(金) 12:54:20.79ID:+A2ccNJ6
>>623-625
いろいろとありがとうございます。

プレイヤーのタイトルにデータを持たせる方法は思いつきませんでした。
個人的にはメールによる認証を使っていきたいと思っているので、挑戦していきたいと思います。
2020/02/22(土) 09:22:30.11ID:47bRlusd
ゲームオブジェクトのヒエラルキーを変更すると、.anim ファイル内での参照まで変えてくれなくてアニメーションが壊れる。
これ、テキストエディタで yaml を触ったらまぁ直るんだけど、Unityエディタ上で出来ないもんですかね?
628弟子
垢版 |
2020/02/22(土) 12:02:13.21ID:HVLYpkKs
unity アニメ 黄色い文字
とか
unity アニメ 壊れる
で検索するとエディタ拡張や直すスクリプトとか出てきますよ
2020/02/22(土) 12:41:27.56ID:47bRlusd
>>628 アリガトウ。 ついでにカスタムパッケージのインポートの仕方もこれを機会に覚えられたョ。
2020/02/22(土) 15:29:47.69ID:Fgli0Swp
>>627
アセットを買えばいいです
2020/02/22(土) 15:30:19.32ID:tYcchYXH
久々に見たな アセットガイジ
632627, 629
垢版 |
2020/02/22(土) 15:35:27.86ID:47bRlusd
Qiita で紹介されてたエディタ拡張↓
https://qiita.com/sukedon/items/71247af4a4494303dc66
を入れてみたんだが、結構問題があった。

ひとつは ChildAnimatorStateMachine に対応していなくて、クリップを取得できなかったこと。
これはまぁソースを修正して取得できたんだが、最悪の問題は修正時にカーブがリセットされてしまって、
修正を適用したキャラのアニメーションが全て破壊されてしまったこと。

で、このプロジェクト、最近訳あってバージョン管理を外したの忘れたままで元に戻せない。
またアニメーションをゼロから構築するしかなくなった。
ああ、バージョン管理って大事やね…当たり前ながら。
2020/02/22(土) 18:33:06.26ID:7x1LIFCH
admobで広告が表示されなくて、ポリシーセンター確認してたら評価中のアカウントになってるんたけど、解除される目安とかってある?
634弟子
垢版 |
2020/02/22(土) 18:37:16.06ID:XxBps/+K
バージョン管理も大切だけど
アセットとか拡張とかはまず本番適用の前にテストプロジェクトで確認するのがいいかなと思います
635弟子
垢版 |
2020/02/22(土) 18:54:57.18ID:HVLYpkKs
>>632
その元の記事の拡張で確認してみました
https://www.shibuya24.info/entry/2016/03/11/090000
んで、Recover押して修正した際には確かに数値がクリアされていたように見えた
というかクリアされていたんだけど
0キーの数値を手で入れてみたら他のキーの数値が元にもどりました

ちょっと面白い現象ですが、内部で保持しているような感じします
636名前は開発中のものです。
垢版 |
2020/02/22(土) 19:32:34.60ID:BfqvMpNB
unityのバージョンは 2018.4.17f1です。
https://xr-hub.com/archives/13135
これを作っていて 当たり判定を実装する の所で同じように書いたらエラーが出てゲームが再生出来ないのですがどういう事なんでしょうか・・?
OnTriggerEnterとifのplayerに下線がついてます。
637名前は開発中のものです。
垢版 |
2020/02/22(土) 20:21:10.19ID:BfqvMpNB
636です。
Assets\Scripts\GoalManager.cs(26,14): error CS0116: A namespace cannot directly contain members such as fields or methods
と表示されていますね・・
2020/02/23(日) 03:50:19.35ID:M/nZ3LGl
>>635 本当に直ってワロタ。
数値入力つか、赤丸の録画ボタンみたいな奴をクリックするだけで直ると言う。
何が原因か本当興味深い…
ロードされているオブジェクトとシリアライズされたオブジェクトの間に齟齬が出てるのかな???
639弟子
垢版 |
2020/02/23(日) 10:03:21.57ID:H5IOH4bQ
>>636
その時点だと、スクリプトはこんな感じだと思いますが
https://i.gyazo.com/ee714bad8a47f86fddb8b481ff925b43.png

いかがでしょうか?
640名前は開発中のものです。
垢版 |
2020/02/23(日) 13:18:49.56ID:/ixS+ufQ
>>636です。
回答ありがとうございます。
最後の } がなぜか 1 個足りないなーと思ってたら書く位置を間違えていました。
解決です。本当にありがとうございました。
2020/02/23(日) 14:44:48.99ID:LCQz7D0v
Playfabのキャラクターデータについて

ゲームマネージャ上では追加ができないため、クライアント側、つまりUnity側からレコードを作るのだと思うのですが、
クライアントAPIにUpdateCharacterDataというメソッドしか見当たらないのですが、
新規作成でIDが存在しないはずなのに、リクエストにCharacterIDが必要とされるエラーが出ます。

適当なIDを割り振ってもIDが存在しないエラーが出ます。
試しにあらかじめ作成しておいたプレイヤーデータのマスターID、タイトルIDをセットしてみましたが、
同様にIDが存在しないエラーが出ます。

もうどう扱ってよいのかわかりません。
てっきりゲームキャラクターのレベルやステータスをうまいこと扱ってくれるモノだと思ったのですが違うのでしょうか?

利用できない場合、プレイヤーデータ(タイトル)の方を使っていくしかないと思うのですが、それが正しいのでしょうか?
642弟子
垢版 |
2020/02/23(日) 16:54:50.63ID:wXiQfNRp
>>641
先にキャラクターを作成します、命令は「GrantCharacterToUser」です
これ使い方結構癖あるというか、まぁまだ日本のWebには情報ないので
私が作った手引書読んでもらえるとすぐわかるけどね
一応ツイッターにヒントがあるww
https://twitter.com/Unity20775629/status/1228283301250527232
https://twitter.com/Unity20775629/status/1229590584144228352
https://twitter.com/5chan_nel (5ch newer account)
2020/02/23(日) 17:33:26.19ID:LCQz7D0v
>>642
何でカタログ?とか思いながらエコノミーのアイテムを見ていたら、
キャラクター作成用のトークンとかいうチェックボックスを見つけました
なんだかよく分かりませんが、少しいじってみます

これとは別件なのですが、Uft8Jsonを下記のサイトでパッケージをインポートしたのですが、
https://github.com/neuecc/Utf8Json/releases

using Utf8Jsonで名前・タイプが見つからないエラーが生じ、利用できません。
再インポートしても再起動してもエラーは消えません。
https://www.fast-system.jp/unity-utf8json-howto/
このサイトをもとにUnityの設定も済ませてあります。2019なので若干UIが異なりますが。

どうしたらよいのでしょうか?
644弟子
垢版 |
2020/02/23(日) 17:49:41.01ID:wXiQfNRp
>>643

恐らくTypeBuilderのとこだよね
その設定の2箇所できました?
こちらでは2か所の設定変えたらエラー消えました
https://i.gyazo.com/cf2e432917afc1c1b40d72df3beae328.png
2020/02/23(日) 18:04:02.62ID:LCQz7D0v
>>644
UIの違いはScripting Rantime Version項目とUse incremental GC項目がないくらいです

示していただいてあるAPI互換レベルおよびアンセーフコード許可は画像の通り修正してあります

ちなみに「Unity2019.3.2f1」です

Utf8Jsonが見つけられない状態でJsonSerializer.Deserializeが使えない状態にあるようです
646弟子
垢版 |
2020/02/23(日) 18:06:13.15ID:wXiQfNRp
エラーコードって貼れます?
647弟子
垢版 |
2020/02/23(日) 18:30:48.76ID:wXiQfNRp
一応、問題の切り分けが必要かなと思うので、そのUnityのバージョンにて
新規プロジェクト作成、Utf8Json のインポート
んで、セッテイング修正してみたください

それでエラーが出たらエラー内容を張ってください
それでエラーが出ないなら、他の部分の問題かと思うので
どちらにしろエラー画面とかコードとかを
2020/02/23(日) 18:32:23.27ID:LCQz7D0v
>>646
error CS0246: The type or namespace name 'Utf8Json' could not be found (are you missing a using directive or an assembly

これでよろしいでしょうか
649名前は開発中のものです。
垢版 |
2020/02/23(日) 18:46:07.18ID:wXiQfNRp
>>648
そのエラー調べたら次のようなのありまして
----
「Unity 2019.3.0a10」「Unity 2019.2.0f1」「Unity 2018.4.5f1 」でエラーが出たのですが、「Unity 2017.4.30f1」ではエラーは出ませんでした!
----
いちおう、私の環境ですが「2019.3.0f6」なんです
可能性としてはバージョンでしょうか
2020/02/23(日) 18:52:57.05ID:LCQz7D0v
>>647
新規プロジェクトを作成し、Utf8Jsonをインポートし、プレイヤー設定を変えた上で、
新規スクリプトでusing宣言を試しましたが、参照できないようです

Unityのバージョンの問題でしょうか
なんでも最新バージョンが良いかと思ってダウンロードしたのですが、
失敗だったかもしれません
651弟子
垢版 |
2020/02/23(日) 18:59:54.76ID:wXiQfNRp
UnityHubならバージョン複数でできるので、入れてみてはどうでしょう
652弟子
垢版 |
2020/02/23(日) 19:01:53.08ID:wXiQfNRp
ちょっとまって
>新規スクリプトでusing宣言を試しました
この前に、設定変えた段階ではどうですか?

1.インポートの時点 → エラー表示される
2.設定を変える → エラーが消える

という感じなのです
もし2がOKなら、スクリプトのが間違っている可能性があります
2020/02/23(日) 20:27:42.27ID:LCQz7D0v
>>651
>>652
原因というか何かがつかめました

エラーを出していたインポートしたファイルがpluginsフォルダの配下に配置していたため、
そちらでずっと新規スクリプトを作成して試していたのですが、
スクリプトをPluginsフォルダ配下で作成すると
using Utf8Jsonの宣言ができなくなるようです

他のフォルダやAssetフォルダ直下では普通に宣言ができました

pluginsフォルダは特殊な設定のフォルダだということをマニュアルで確認しました
なぜこうなるかは不明ですが、基本的な所を間違えていたようです

お騒がせして申し訳ございませんでした
2020/02/24(月) 08:01:27.18ID:+9ZcXv8k
他人のアセットを使うときはUnityのバージョンによってエラーになることが本当に多い
Unityのバージョン間の互換性のなさは本当にクソ
アセットストアで買っても動かないとかざらにあるから、怖くてアセット買えないよねぇ
2020/02/24(月) 08:05:10.62ID:N/Kc3LQr
なんでUnityのバージョン上げるんだよ
ゲーム機のファームウェアじゃねえんだぞ
使用するライブラリが対応してない本体バージョンは使うな
えっ2年前で更新止まってるアセットがある?
2020/02/24(月) 09:32:03.15ID:zKtX1kFg
アセットを自分でエラー修正するのもまた勉強
2020/02/24(月) 09:53:14.96ID:JAzgYJi6
>>656
回避コード書くならまだしも直接手を加えたもの(を使って公開するの)は規約違反になるものもあるので注意
658名前は開発中のものです。
垢版 |
2020/02/24(月) 13:34:30.94ID:iVaHi9JI
>>640です。



https://xr-hub.com/archives/13135



Assets\Scripts\Goalmanager.cs(24,29): error CS0117: 'Input' does not contain a definition for 'GetMouseButtton'



これはどうすれば all compiler errors have to be fixed before you can enter playmodel
が出なくなるのでしょうか・・?

検索してもわかりませんでした・・
2020/02/24(月) 14:18:33.25ID:F9tEV+d+
エラーメッセージ丸ごとでググるとそのまま答えあったりするよ
新しいものではGetComponent使えと書いてあるけど
660弟子
垢版 |
2020/02/24(月) 14:29:58.46ID:4uIoNBTz
>>658
https://i.gyazo.com/620968d87bfcbf83cfbf1f4bd1598847.png
昨日の分にクリックだけ追加したコードです。
これで動くはずなので、フラグとか追加していけばいいかと思います。
これでエラーになる場合、何かが間違っているので、コードの画像とかのせてください
2020/02/24(月) 15:38:22.98ID:F9tEV+d+
InputにはGetMouseButtonの定義がないよと言ってる
InputはUnityEngine.Inputのことでusing UnityEngineしてるから省略できてる
Input にピリオドつけた時点でインテリセンスでGetMouseButton候補が出ると思うのだけれど
2020/02/24(月) 15:59:51.83ID:xo3Mb7RF
×GetMouseButtton
○GetMouseButton

tが多い初歩的なミス
663名前は開発中のものです。
垢版 |
2020/02/24(月) 16:17:20.52ID:Ug47wb2m
>>636
揶揄するわけではないけど、こういう書き込み見ると初心者の人にはビジュアルランゲージの方が教えるのに向いてるってのは真だなーと思う
664名前は開発中のものです。
垢版 |
2020/02/24(月) 17:14:52.96ID:iVaHi9JI
>>663
playmakerを買った方が良いという事?
もしくはue4でブループリント使うとか。
もしくはそもそも、まずc#を学ぶ。
665弟子
垢版 |
2020/02/24(月) 17:39:28.39ID:4uIoNBTz
今回のはコピペすればいいだけなんだが
Windowsなら選択してCntrl+C、その後Cntrl+V
666名前は開発中のものです。
垢版 |
2020/02/24(月) 18:08:44.89ID:A6C4ojr1
Hierarchyで特定のTAGが付けられているゲームオブジェクトを検索して
Hierarchyに表示したいのですがどうすればよいのでしょうか?

※csファイルでHierachyにある特定のタグを検索して情報を取得する方法は
わかります
あくまでもHierachy上で特定のTAGがついているゲームオブジェクトを検索して
表示させたいのです

やり方をご存じの方がいらっしゃいましたら教えてください
よろしくお願いします
667名前は開発中のものです。
垢版 |
2020/02/24(月) 18:19:26.64ID:iVaHi9JI
コピペしたらいけました!
どこに問題があったのかは謎
打ち間違えてはいないはず・・
2020/02/24(月) 18:39:11.38ID:B7d3DSpn
質問失礼します。
unity2dでtransform.translateでオブジェクトを移動させているのですが、左右に移動させたときにz座標が変動してしまいます。
何か考えられる理由はありませんか…?
669名前は開発中のものです。
垢版 |
2020/02/24(月) 19:00:32.30ID:A6C4ojr1
>>668

public function Translate(translation: Vector3, relativeTo: Space = Space.Self): void;
public function Translate(x: float, y: float, z: float, relativeTo: Space = Space.Self): void;

Translateはマニュアルでこうなっている
ゆえにオーバーロードで2種類の動きをするということになっている
デフォルト引数になってるのは無視していいので ポイントになるのは

1・Vector3を引数とした場合
2・x y z それぞれのfloatを引数とした場合
の2パターンがある

左右に移動させたい場合は x軸だけを変えればいいので
Y軸かZ軸に余計な値が入っていればうまくいかない

※参考例

Vector3 tamesi = new Vector3(10.0f,0.0f,5.0f);
とした場合 x軸だけじゃなくて、z軸にも値が入っているから動いちゃう
Vector3 tamesi2 = new Vector3(10.0f,0.0f,0.0f);
というやつを引数にすればいい

使用するときに
transform.Translate(tamesi)とすればx軸とz軸に動くし
transform.Translate(tamesi2)とすればx軸にしか動かない

x,y,z 3つの値を使う場合も同様にYとZの値に注意する

つまり、yとzに余計な値が入っていれば
上に動いたり、奥に動いたりするわけなんですけど
この回答でいけますか?
670名前は開発中のものです。
垢版 |
2020/02/24(月) 20:16:41.80ID:B7d3DSpn
>>669
668です
transform.Translate(0.0f, 0.1f, 0.0f);
これと同じ書き方でxとyの値のみ変更したものを4つ作り、指定のキー入力でそれぞれ呼び出し上下左右の4方向に移動するようにしています。
zは全て0.0fにしているのですが、xが変動すると同時にzも変動してしまいます。
671名前は開発中のものです。
垢版 |
2020/02/24(月) 20:25:46.99ID:4uIoNBTz
>>670
とりあえずコードはろう

みんながみんな、youの環境じゃないんだよ
672名前は開発中のものです。
垢版 |
2020/02/24(月) 20:37:54.32ID:A6C4ojr1
>>670
これで規定通りの動きができた

public class Cube_Move : MonoBehaviour
{
void Update()
{
//左に移動
if (Input.GetKey(KeyCode.LeftArrow))
{
this.transform.Translate(-0.1f, 0.0f, 0.0f);
}

//右に移動
if (Input.GetKey(KeyCode.RightArrow))
{
this.transform.Translate(0.1f, 0.0f, 0.0f);
}

//上に移動
if (Input.GetKey(KeyCode.UpArrow))
{
this.transform.Translate(0.0f, 0.1f, 0.0f);
}

//下に移動
if (Input.GetKey(KeyCode.DownArrow))
{
this.transform.Translate(0.0f, -0.1f, 0.0f);
}
}
}
673名前は開発中のものです。
垢版 |
2020/02/24(月) 20:38:31.64ID:A6C4ojr1
※上のソースコードだけど
ヒエラルキーにCubeっていう3Dの四角い箱を作って
それに上記のcsファイルをアタッチしている
これでx軸、y軸に キーボードの上下左右に動いてくれる

z軸に動いてないかどうかは実行した後に
z軸の値が変わってなければOKっていう認識

一応上記のcsファイルをアタッチしたら、想定の動きができたので
上記コードで試してもらえますか?
ちゃんと左右のキーボードで左右に移動
上下のキーボードで上下に移動してくれました

※こちらの環境では問題ありません
674名前は開発中のものです。
垢版 |
2020/02/24(月) 20:47:59.55ID:4uIoNBTz
>想定の動きができた
なら問題なくね?
675名前は開発中のものです。
垢版 |
2020/02/24(月) 20:54:56.65ID:A6C4ojr1
>>673
俺は質問者じゃないからね
質問してる人は>>670
2020/02/24(月) 21:25:25.99ID:B7d3DSpn
>>672
>>673
668です
スクリプト自体はそちらの物とほとんど同じでした。
今別のオブジェクトにスクリプトだけをつけて動かしたところzの値が変動しなかったのでrigidbodyかboxcolliderが原因かも知れません
もう少し自分で原因を調べてから質問し直したいと思います。
677名前は開発中のものです。
垢版 |
2020/02/24(月) 21:35:08.27ID:A6C4ojr1
>>676
Rigidbodyを付けている場合、デフォルト設定で重力が働くようになってるからね
勝手に落下したりする

Rigidbodyで物理演算を無効にする場合は
DynamicではなくKinematicにすればいい
Kinematicにすれば重力の影響を受けないし、ほかのオブジェクトが
ぶつかってきた場合も影響されて動くことはない

rigidbodyにあるvelocityは移動速度(速度ベクトル)だから物理演算とは
関係なく動かすことができる
Translateも同様に物理演算とは関係なく動かすことができる

物理演算で動かす or (速度ベクトルや座標の位置を変更することで動かす)
物体を動かす場合 上記2点に気をつかえばいい
2020/02/24(月) 21:44:51.32ID:B7d3DSpn
>>677
668です
インスペクタのrotation.yに誤って値が代入されていました
値を0に変えるとzの値が変動しなくなったのでこれが原因だったようです。
いろいろアドバイスいただきありがとうございました。
679名前は開発中のものです。
垢版 |
2020/02/25(火) 00:57:38.64ID:D2FtDyCq
Blenderで作成したモデルのUnity上での表示について質問です。
・Unity 2019.3.2f1 (64-bit)
・blender:ver27.9b(アドオン無)
・ファイル形式:FBX

上記のブレンダ―で作成したモデルの一部オブジェクトがUnityで面が裏返って表示されます。
ブレンダ―上では特段異常がなく法線も表を向いており、レンダリングなどしても正常に映っております。
また、法線を裏返すと、Unity上では面が表に来るのですが、光の当たり方が上下逆になってしまいます。
法線の方向の整合性を取り直す方法はございますでしょうか。
もしくは法線を裏向きのまま光の当たり方を逆にすることは可能でしょうか。

よろしくお願いいたします。
680弟子
垢版 |
2020/02/25(火) 08:53:12.83ID:disfb7H3
とりま
blenderからUnityへ3Dモデルをエクスポートする
https://dkrevel.com/unity-and-blender/blender-to-unity-fbx-model
681名前は開発中のものです。
垢版 |
2020/02/25(火) 10:39:41.76ID:WedOhwcm
>>664
いや一般論としてビジュアルのやつならシンタックスエラーは起こらないから学習の上での障害ひとつないなというだけ。

プレイメーカーはいいらしいけど情報少なくてこれがやりたい->ぐぐる->プレイメーカーに翻訳 とならざるを得なそうでそれも大変そうだけどどうなんだろ

あと公式のツールがボチボチプレビューくる?
2020/02/25(火) 15:03:22.29ID:1jlyuXHI
>>667
>>658よくみたら間違いがわかるはず
2020/02/25(火) 21:37:14.12ID:7wTy65re
検索ワード「テクスチャを重ねて描画する」(URLが記述できないようなのでこれで失礼します)
こちらのサイトにテクスチャを重ねて描画する方法が載っておりました

これができれば一つのモデルに「肌」→「目」→「口」などを順に描画させ、
テクスチャを付け替えることでキャラエディットみたいなことができるのではと思い、
Unityを確認してみました

しかし、BlenderからインポートしたFBXファイルにはMesh Rendererではなく
Skinned Mesh Rendererがありました
こちらもマテリアルを複数指定することができるようだったので試してみたのですが
前述のようにマテリアルを割り当てても、何故か目のパーツだけがどこに設定しても優先的に描画され、
続いて口、肌においては1つ置いた時にしか描画されませんでした

優先順位も気になるところではありますが、ともかくテクスチャを重ねて描画する方法を教えてください
684弟子
垢版 |
2020/02/25(火) 22:00:46.03ID:disfb7H3
【Unity】マテリアルに複数のテクスチャを重ねて表示する ねくすとねくすと
http://next-next.com/2019/04/19/%E3%80%90unity%E3%80%91%E3%83%9E%E3%83%86%E3%83%AA%E3%82%A2%E3%83%AB%E3%81%AB%E8%A4%87%E6%95%B0%E3%81%AE%E3%83%86%E3%82%AF%E3%82%B9%E3%83%81%E3%83%A3%E3%82%92%E9%87%8D%E3%81%AD%E3%81%A6%E8%A1%A8/

Unity Tips(13:テクスチャを重ねて描画する)
https://t-tutiya.はてなblog.com/entry/20171104/1509778621
はてな=ローマ字
とか?
2020/02/26(水) 09:34:45.20ID:XSiK3Jmd
>>684
優先順位に関しては不明でしたが、重ねて描画はできました
手あたり次第なんでも透過にしていたのが原因だったようです

ありがとうございました
2020/02/26(水) 09:37:41.45ID:XSiK3Jmd
一つ忘れていました
テクスチャをシェーダーでまとめて表示する方法もあると伺っています
マテリアルの方を複数重ねて表示させていますが、
処理の負荷的にはマルチプレイオンラインゲームに耐えられるものでしょうか?
687名前は開発中のものです。
垢版 |
2020/02/26(水) 17:30:16.94ID:GigIyj8j
一つの機能ごとにスクリプトを作っているのですが
それらのスクリプトをまとめて使う本スクリプトは
すべてをGetComponentする
すべてを本スクリプトにコピペする
以外に良い方法はありますか?
688弟子
垢版 |
2020/02/26(水) 18:40:25.13ID:ZpPffGJ6
インターフェースで使うの選んで行けばいいんじゃない
689名前は開発中のものです。
垢版 |
2020/02/26(水) 19:20:56.86ID:GigIyj8j
よくわからないです
インターフェースをどのように使うつもりですか?
690弟子
垢版 |
2020/02/26(水) 20:15:59.17ID:ZpPffGJ6
こんな感じ
https://i.gyazo.com/b8a77351326875f8262d35ccf47ed353.png
メンドイから同じファイルで定義しているけどそれぞれの処理は別ファイルでね
691名前は開発中のものです。
垢版 |
2020/02/26(水) 20:33:18.23ID:808/gSFo
スレチかもしれないですが、

例えば2dで腕が無くなっても動き続ける(アニメーションし続ける)キャラクターを作りたい場合ってunityだとどういう実装にすれば良いでしょうか?
パーツ毎に分けてスクリプトで制御するのか、腕が落ちた時のアニメーションも別個で用意するのが良いのか…
692名前は開発中のものです。
垢版 |
2020/02/26(水) 20:38:57.37ID:GigIyj8j
>>690
確かにできました。ありがとうございます。
693弟子
垢版 |
2020/02/26(水) 21:07:35.79ID:ZpPffGJ6
>>691
スプライト差し替えるか、動きも変えたいならアニメーションコントローラからランタイムコントローラにオーバーらいど
2020/02/26(水) 21:36:09.23ID:XSiK3Jmd
まだ前回の質問の回答をいただいていないのに、再度の質問失礼します。

>>546
ここで以前、Blenderからパーツをアニメーションごとエクスポートし、
インスペクターから各パーツにアニメーター等を割り当てればアニメーションができて、
パーツを組み合わせてのキャラクターエディットができる、と考えていたのですが、

各パーツにアニメーションがある状態でエクスポートするため、パーツ毎FBXの容量が大変大きくなり、
以前考えていたSetActiveで表示パーツを切り替える方法でのキャラエディットよりもひどい状態になることに気づきました
以前教えていただいた方法がよく理解できなかったこともあるのですが

Blenderでアニメーションのボーンと各パーツを別々にエクスポートし、
Unityで動的に組み合わせてアニメーションをさせるにはどうしたらよいでしょうか
695名前は開発中のものです。
垢版 |
2020/02/26(水) 23:17:53.49ID:tqiPAYEJ
アセットストアの SD Unity-Chan Optimaize Custom
のデフォルトSDユニティちゃんを使おうとしたのですが
なぜか初めは仰向けになっていてtransformで起こして再生すると前に倒れて
地面にめりこみ、起こさずに再生すると起きるのですが宙に浮いて落下モーション
のような状態になってしまいます。( standard asset の third person user control をアタッチしました )
rigit body の freeze rotation にチェックを入れてもダメでした・・
どうすれば正常に直立できるのでしょうか?
696名前は開発中のものです。
垢版 |
2020/02/27(木) 00:07:31.23ID:j0OKNYmt
>>695です。
isTriggerにチェックを入れ、use gravityを無効化する事で歩く事は出来ましたが
途中で地面をすり抜けて落下してしまいます・・
停止時に立てると再生時に倒れてしまうので仰向けのままです・・
2020/02/27(木) 00:25:16.25ID:T6a2r4TR
コリジョンを目視してごらんなさい。
どうしてかわかると思う。
698名前は開発中のものです。
垢版 |
2020/02/27(木) 00:29:10.74ID:j0OKNYmt
>>696です。
ground check distance の値を大きくしたらすり抜けなくなりました。
停止時の仰向けの直し方はいまだにわかりません・・
699名前は開発中のものです。
垢版 |
2020/02/27(木) 10:50:04.31ID:fVMfcjq3
>>638
ちと色々調査したらアニメーションカーブらしい事がわかって
次の拡張でカーブ取得してやってて、これなら値がクリアされないようです
【Unity】AnimationClipのMissingなパスを見つけて解決しやすくするエディタ拡張
http://tsubakit1.hateblo.jp/entry/2016/01/26/015331#%E5%B0%8E%E5%85%A5%E3%81%A8%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89
700弟子
垢版 |
2020/02/27(木) 11:01:42.14ID:fVMfcjq3
>>695
インポートした状態でSceneフォルダにある_preview開くとどうなります?
こんな感じなら問題ないと思います
https://i.gyazo.com/aec7d422d4fa7daed5d75aaf20da61b1.png

その後、どれか一体のPrefabを新しいシーンに貼ってみてください
701弟子
垢版 |
2020/02/27(木) 11:08:58.25ID:fVMfcjq3
これが原因かww
https://i.gyazo.com/9a157d0f74483f82aa76f2fde6ed3a14.png

コライダーが楕円なのねw
702名前は開発中のものです。
垢版 |
2020/02/27(木) 18:27:02.37ID:yiLTwQkg
Blender上でモデルにpng画像を貼り、画像の透明部分のポリゴンを透明にするにはどの様にすればよいでしょうか?
703702
垢版 |
2020/02/27(木) 18:28:15.58ID:yiLTwQkg
Blender上で透明にする方法は解るのですが、Unity上では透明にもならず、テクスチャすら貼られていない状態です。
ご存知の方いらっしゃいましたら教えて下さい。お願い致します。
704名前は開発中のものです。
垢版 |
2020/02/27(木) 20:35:10.68ID:Ot7wiF5X
Debug.Logの簡略化は可能でしょうか?

void pr (object ob){Debug.Log(ob);}

例えば上のコードをデバックしたいスクリプトの中に書けばpr()だけでデバッグできますが
これだと各スクリプトごとにこのコードを書かないといけないので効率が悪く感じます。

public static class debg
{
public static void pr ( object ob ){Debug.Log(ob);}
}

他のスクリプトでも共有できるようpublic static classを宣言すれば良いのかと思ったのですが
これだとdebg.pr()と書かないといけないので元のDebug.Logと似たようなものになってしまいます。
何か良い方法があれば宜しくお願いします。
705名前は開発中のものです。
垢版 |
2020/02/27(木) 21:20:47.82ID:q3ikkHtj
>>703
マテリアル作らないとダメでは
706名前は開発中のものです。
垢版 |
2020/02/27(木) 21:31:57.49ID:hKi1HcO8
>>703
ちょうど先日やっていたところなのでお答えいたします

BlenderからUnityへインポートしたモデルデータはUnity上でテクスチャを張りなおす必要があります
(一度張りなおすと命名規約だか何だかで自動的に張られるようですがこの辺は詳しくないので割愛します)

インポートしたモデルデータを確認してみてください
インスペクタービューにMaterialsというボタン(タブ?)があります
マテリアルが全部「なし」になっているのを確認できると思います

テクスチャの画像ファイルを別途Unityへインポートし、メニューのアセット、もしくは右クリックから、
作成→マテリアルでマテリアルを作成し、そのマテリアルにテクスチャの画像ファイルを割り当てます

透明化を有効にするには、マテリアルのインスペクタービューでRendering ModeをCutOutにしてください

こうしてできたマテリアルを前述に確認したMaterialsで割り当てることでテクスチャが張られます

なお、インポートしたモデルのプレハブ上でMesh Renderer、Skinned Mesh Rendererというコンポーネントを探し、
そこのマテリアルパラメータで複数のマテリアルを一つのモデルに割り当てることができます
透明化を利用してテクスチャを重ねて描画できます
707名前は開発中のものです。
垢版 |
2020/02/27(木) 23:22:11.53ID:j0OKNYmt
>>695です。
プレビューシーンを読み込むと正常だったのでそこから色々追加していって解決しましたww
しかしジャンプ後のすり抜けは未解決です。
今調べてはいますが・・
2020/02/28(金) 07:51:11.31ID:YWFNLsBv
>>704
print()使ったら?
709弟子
垢版 |
2020/02/28(金) 10:16:37.03ID:3Lsu3jjC
>>704
ベーススクリプト作成してそこにデバッグログ機能をもたせて
全部のスクリプトをそこから継承

>>707
>しかしジャンプ後のすり抜けは未解決です。
これ質問じゃなくて愚痴だよね?
状況も何を追加して何をすり抜けるのか書いてないから・・・
2020/02/28(金) 11:38:34.50ID:9RFMa+Av
質問です
フォントファイルをunity上で読み込んでTextmeshproでSDF化した後、
このSDF内のMaterialとAtlasのみをファイルとして抽出する事は出来ないのでしょうか?
711694
垢版 |
2020/02/28(金) 11:53:01.91ID:iaQ+QUKs
>>694
から少しだけ進展があったので報告、および質問

https://qiita.com/kaiware007/items/4c7a4b9862fae84d4023
こちらのサイトを参考に、パーツのメッシュ(SkinnedMeshRenderer)の各プロパティ(たぶんウェイトやボーン)を、
ベースのボーンのものに書き換えました
古い生地なのでオブジェクトをDestroyできなかったり、取得できないプロパティを参照していたりと
ソースをそのまま使うことはできませんでしたが、とりあえずコンパイルを通して動かしました

ボーンに合わせてアニメーションをしているような挙動があるのが確認できましたが、
メッシュの位置がnew Mesh()をした時に大幅にずれてしまいました

新しいメッシュにメッシュの位置情報を書き込んでいないのが原因かと思われ、
メッシュの位置はVerticesというもので操作しているらしいという所まで突き止めたのですが、
ここからどうしていいのかがわかりません

試しにベースのボーンを持つオブジェクトや、その子オブジェクトとしていったんインスタンス化したパーツの
Verticesを割り当てたら更に大幅にずれてしまいました

メッシュの位置を想定した場所に置くためにはどうしたらよいでしょうか?

または、キャラエディット機能ならもっとスマートにできる方法をご存じでしたらご教示願います
2020/02/28(金) 12:52:20.39ID:ALzUb0si
2019で5.6の講座を見ながらやっています

delegateSample.csに
public class A{
public int a;
}
public delegate void delegateSample(A aInstance);

public class delegateSample : MonoBehavior{

}

みたいな感じのファイルをアタッチすると
the script needs to derive from monobehaviourというエラーが出るんですけど
ファイル名と同じクラス名のモノビヘイビャーを継承しているファイル内に
別の素classを入れたファイルはアタッチできなくなったのでしょうか?
713名前は開発中のものです。
垢版 |
2020/02/28(金) 12:55:26.53ID:ALzUb0si
delegateSample.csに内にある
(コード)
をからのオブジェクトにアタッチ
です
714弟子
垢版 |
2020/02/28(金) 13:27:37.48ID:3Lsu3jjC
>>712
定義の仕方かなぁ
https://i.gyazo.com/b9ecfe028a2aba70f60a0b040654f28a.png
とりまどっかから拾ったコードをUnityぽくしてみた
2020/02/28(金) 14:02:41.13ID:ALzUb0si
なるほど
ありがとう
それだ通るんですね
ただ動画の人も通っているので
まあそれはほかにも見えないファイルがあるんですが
まあもう少し勉強してみます
2020/02/28(金) 14:48:01.99ID:/AKvkhm4
輪投げのイメージで画面を下から上にフリックすると用意してあったプレハブが生成されてフリックした方向と速度で発射されるというのを作るのは難しいですか?

輪のオブジェクトを画面に出してスタートすると自然落下するという所まで来ましたが、何をしたら飛ぶのかわかりません

何を調べれば良いかもわからないので使いそうな命令?だけでも教えて頂けると助かります
よろしくおねがいします
2020/02/28(金) 14:51:39.15ID:sAVdF7st
touchした座標とそこからドラックした距離、時間を使って力の値を導き出します。
その値を、輪にadd forceなどで移動させます。
2020/02/28(金) 14:55:35.35ID:60vQiGEi
タップしたらそこに輪が置かれるとか、タップすると輪が真上に飛んでいくとか、
そういうとこからちょっとづつ要素増やしたり変えていったりすればいいのでは
いきなり作るのは大変だよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況