【ゲームエンジン】Unity初心者質問スレBuild2
■ このスレッドは過去ログ倉庫に格納されています
ユニティちゃんライブステージASSETを改変して他のキャラクターに踊ってもらいたいのですが表情関係の仕組みがかなり複雑でコードの改変まで必要になってきました リップシンク.csとFACEUpdate.csです 1日中眺めて調べたりしてみたのですがやはり初心者で基礎が全くできてない自分では理解できずc#の本の購入を検討しようと思います できれば最新のものでUnity専用c#が使われていてコードの勉強を主にしているおすすめのテキストがあればご紹介いただきたく思います >>81 C#の本を買うより、アセットを買いましょう >>77 です。 その後改造対象のゲームフォルダに同梱されているUnityEngine.dllと同じフォルダに mscorlib.dllが同梱されていることに気づきこちらを参照に追加しました。 ついでに同フォルダ内のアセンブリすべてを参照に加えてみるというのもしてみました。 が、「定義済みの型 'System.Void' は定義、またはインポートされていません」は依然発生します。 状況は77二枚目の画像とほぼ同じです。 https://i.imgur.com/QBWwLAH.jpg インストールされているUnityは 2018.2.5f1 です。 引き続きよろしくお願いいたします。 >>88 一応自分のPCでやってみましたが、Dllは作成できました 但し >インストールフォルダの中のCM2D2x64_Data/Managed/Assembly-CSharp.dll これが、別のところにありまして、自分のPCでは C:\Program Files (x86)\Steam\steamapps\common\Survived By\SurvivedBy_Data\Managed でした また >Visual Studioでクラスライブラリを作成します。 ですが、これは新規でUnityで作成しました https://i.gyazo.com/f149fd757ed32c4329e4ae658d1ad8a3.png >>84 ありがとうございます。 わざわざお時間を割いての検証、痛み入ります。 Unityでクラスライブラリを作成したところこちらでもビルドが無事通りました。 敵が落ちそうになったら逆向きに進むコードを書きたいです 自分がやったのは、敵の先端にアイコン付けてそれで着地判定してfalseになったとき逆向きに歩くコードを書いたんですが、それだと逆向きに歩いた瞬間にtrueが返り崖付近で左右移動を繰り返してしまいました どう書き換えればいいでしょうか? 書き換える前のを出さないで 「どう書き換えればいいでしょうか?」 アホなの? >>88 よく分かんないけど崖を検出する変数を直に使うんじゃ無くて、崖を検出した時に別の変数をtrueにさせて、それで反転させればいいんでない。 ていうかさ、Unity関係ないじゃん 論理的思考ができてないだけじゃん まあでも初心者スレだから誰かが優しく教えてくれるだろうな そしてそれが害だと気づかずに年を取っていくんだろうな 根本がダメですよね ありがとうございました、やっぱりレスいらないです。自分でやります ベテランでも毎日そういう現象との戦いだよ マリオでブロックからコインが何個も出てくるのはバグから生まれたギミックだからな ちょっとLinecastなるもの始めていじってみた こんな感じかな https://imgur.com/a/dj27RLS 頭の体操にはちょうどよかったかもしれん 反転当たりで、また反転、反転・・・という現象ですねーやっかいでした https://i.gyazo.com/9a0d35fd388a35a37becc9f1668e7e3a.png 一度でもShader.SetGlobalFloatでセットしちゃうと UnityEditorを再起動しないと値が有効のままになるんですがそういうものなんですか? 解放できないのかな… ユニティちゃん2Dを使って、アクションゲームを作ろうとしています。 PC向けに最初作っていたので、A/Dキーで左右移動、Spaceキーでジャンプという仕様だったのですが、 スマホ(Android)移植ということでCrossPlatformInputManagerを使って、スクリーンパッドで操作できるようにしました。 ところが、CrossPlatformInputManager化する前(Input.GetAxisやInput.GetButtonで取得)まではBlackBerryKEY2などの物理キーボード搭載機や、Bluetoothキーボードを接続しての操作ができていたのですが、 CrossPlatformInputManagerを使用(CrossPlatformInputManager.GetAxis("Horizontal"); など)してからは、キーボードでの操作が一切できなくなってしまいました。 タッチ操作とキーボード操作を両立することはできないのでしょうか・・・? CrossPlatformInputManager化にともなってキャラクター用スクリプトを変更した部分はInputをCrossPlatformManagerに置き換えただけです。 分かりづらい文章ですみません。。。 そりゃ2つのデバイスなんだから、2つないと。 キーボードの処理はそのままで。 >>103 Edit→Project Setting→Inputの中でHorizontalを追加するということでしょうか・・・? やり方はいくつかあるから正解かわからんけど project settingにもう一対作るの。それを参照するようにする。 最初のキー入力のとこは、何も変えなければ動くのでは? SerializeFieldでパーティクル指定してPlayしてるのにまったくエフェクト再生されない…… Canvas の RenderMode を WorldSpace にして EventCamera のカメラを指定しないようにすると A World Space Canvas with no specified Event camera may not register UI events correctly って警告が出るけど、現状問題なく使用できてる 今後、カメラ指定しないと問題おこったりする? >>110 今後のことは公式に聞かないとわからんよ 現状問題ないなら取り敢えずそのままでいいかと unity は過去バージョンでも開発できるしね 質問です unityにおいて、コンパイルはビルドするとき自動的にしてくれるものなんでしょうか。 ソースコード更新した時に自動的にコンパイルされるべ 正確にはVS で保存してunity editor をアクティブにしたときにだね あ、なるほど ソース書いて保存してユニティまた開けばおkなんですね ありがとうございます うん、具体的に何に使うのよ 3dベクタを4つ並べて、4×4のやつあるでしょう そんなの知らなくてもUnityなら3Dゲーm作れるんやで! 何に使うのかなんて考えなくていいんだよバーカ こういう処理がしたいってときにこんなのないのかなってググったり考えたりしてたどり着く毎日だよバーカ Unity 2019.2.0f1 したら Extension C:/Program Files/Unity/Hub/Editor/2019.2.0f1/Editor/Data/PlaybackEngines/Facebook/SDK/7.9.4/Facebook.Unity.Arcade.dll was not registered, that means it relies on default UnityExtensions settings, please register extension and apply necessary settings for it in the callback. ってエラーが出るようになった なんか設定が変わったみたいなことなんだろうけど 解決したひと助言を頼む だめだ このエラー消えねぇ Reimport All しても Library ファイル消しても 解決しねぇ fuck Facebookのdllが無い?とか出てたけど。 登録されてないとかなんとか。 Package Managerの中にPSD Importerが出てこないです。 2DAnimationや2DIKもないです。 どうやったら出てくるんでしょうか。 Unityのバージョンは最新以外も何個か試したのですがいずれも同じです。 だめだ unity hub から Facebook 関係を全て入れてもエラーがでる てか指定のフォルダ先に Facebook.Unity.Arcade.dll はあるのにエラーになるぞ どうすりゃ読み込こんでくれるんだ? fuak バージョン戻せば解決なのに、何で無駄なことやってんの ごめん、バカなの? >>133 ダウングレードするとエラーが出るんだよ fuaaaaaaaaaaaaaaaaaaaaaaaaaaaaak あ〜〜 次のバージョンで直ってることに期待するしかないかぁ・・・ 直ってなかったら fuck you unity git checkout HEADで終わりやん メタデータuntrackedにしてたらきついが お世話になっております。 PG初心者です。 下記様に2つフォルダを監視して、"MonitorDirectory2"のフォルダに画像が溜まっていき、 2枚溜まると古いテクスチャが"MonitorDirectory1"に移動するように設定したいのですが、 if( mNewTexPathList.Count > 2 )からどのように記載すればいいでしょうか。宜しくお願い致します。 public class pageGenerator01 : MonoBehaviour { [SerializeField] string MonitorDirectory1 = ""; [SerializeField] string MonitorDirectory2 = ""; public HashSet<string> mNewTexPathList; void Start () { StartCoroutine(Monitor2(MonitorDirectory2)); } void Update () {} IEnumerator Monitor2( string DirectoryPath ) { if( !Directory.Exists( DirectoryPath ) ) { Directory.CreateDirectory( DirectoryPath ); } while( true ) { mNewTexPathList = new HashSet<string>( Directory.GetFiles( DirectoryPath, "*.png" ) ); if( mNewTexPathList.Count > 2 ) { } yield return null; }}} >>142 とりま、やってみました if (mNewTexPathList.Count > 1) { MvFiles(); } if文ですが、2枚になったらという事なので、1より大きいという判定文 で、次にMvFiles関数を掲載 void MvFiles() { string sourceDirectory = MonitorDirectory2;// 監視元 string archiveDirectory = MonitorDirectory1;// 移動先 SortedDictionary<DateTime, string> fileList = new SortedDictionary<DateTime, string>(); try { var txtFiles = Directory.EnumerateFiles(sourceDirectory, "*.png"); foreach (string currentFile in txtFiles) { string fileName = currentFile.Substring(sourceDirectory.Length + 1); print(currentFile + ":" + File.GetLastAccessTimeUtc(currentFile)); fileList.Add(File.GetLastAccessTimeUtc(currentFile), currentFile); Directory.Move(currentFile, Path.Combine(archiveDirectory, fileName)); } foreach(KeyValuePair<DateTime, string> dic in fileList) { print(dic.Key); print(dic.Value); } } catch (Exception e) { Console.WriteLine(e.Message); } } えっとまだ未完成です。この移動は https://docs.microsoft.com/ja-jp/dotnet/api/system.io.directory?view=netframework-4.8 を参考にしてありますが、ファイルの列挙が名前順のようなのでSortedDictionaryを利用して更新順に列挙しなおして表示してあります マイクロソフトのサンプルは全部のファイルを移動していますので、これを改造して古井のだけ移動すればいいかなと思います また、移動先に同名があった場合、Path.Combineの動作を見てませんが、多分何もしないような感じなので そこらも調べて見てください くそがああああああ Unity 2019.2.0 アップデートしてねぇぇぇぇぇぇ Unity 2019.1 のアップデートしてやがる なにが Unity 2019.1.14f1 だ 2019.2 のアップデートしろよよちょよよy ユニティーストアでインポートしてプロジェクトのところに追加されたのですが ここら辺でつまづいてますどうすれば読み込み出来ますか? >>148 何が追加され、どうしたいのに躓いてるのか? 出来れば画面のSSもあげてくれてどうしたいかを書いてくれると、具体的に答えられるかと思います 凄く最近触り始めました エフェクトの勉強をしてるんだけど、サイズや軌道を弄れるパラメータのところにあるカーブの編集の仕方がわからないです ラインが表示されてるボックスをクリックしたらエディタが出てきたりするものですか? 線が赤くなったり緑になったりするだけで押してもうんともすんとも言わない…何か手順を踏まないと出てこないもんですか? >>151 そんな漠然とした質問と多分家庭教師並みに手取り足取り必要そうな課題は、画像付きで説明できるhpをググりなさい。 >>151 エフェクトという事で、恐らくParticlesystemの事で説明しますね https://i.gyazo.com/ee4c3db019f7a974039e5804e114ae55.png にあるように、例えばStartSizeの所の入力枠、その右の矢印をクリックすると選択項目が表示され その中の「Curve」を選ぶと、画面下側にグラフのようなものが表示されます で、現在の状態は開始が1で、終了もそのままです この開始点をドラッグしたり、あるいは任意の場所でミギクリして追加する事で 色々と編集できます https://i.gyazo.com/fdbc6f35f0a17f1e97b17b5d3c4cdeca.png 151です、わかりにくい質問ですみませんでした 教えてくださってありがとうございます 押したらポップアップでエディタが出てくるのかなと思い込んでいて、 インスペクターの一番下に出ていることに全く気づかなかったのです…(小さく畳まれていて全然見えてませんでした) 初歩的な所で申し訳ない…これで色々試せます、ありがとう UNITY2DのTilemapの描画についてなんですが、これってコピペ機能みたいなのは存在しないんですか? タイルをポチポチ打って作った建物をコピペして横にずらっと並べたいんですが…… >>125 https://developers.facebook.com/docs/unity/downloads/ ここから、最新のバージョン入れてもだめ? 自分のとこでは、Unityのビルドセッティングではインポートできなかったので 個別DLしてAssetフォルダに置いてインポートしたら成功しました ちなみに、Unityのバージョンは2019.1.5.f1 FBバージョンは7.17.2 >>129 どうやらパッケージ関係の管理がかわったぽいですね こちらは2019.1.5f1のパッケージ https://i.gyazo.com/9a437be03ce23a3b34dfad281a363d9a.png こちらが2018.2.2 1f1のパッケージ https://i.gyazo.com/dcc4fbd6f6c828092c50e3727395642a.png 古い方では2Danimeとかあるので、もしかしたらどこぞのブログに書いてある 日付近辺のバージョンにはあるのかもしれませんねぇ ただ、現状最新のunityではPSDファイルをアセットフォルダに置くとそのまま 読み込めたりしないですかねw 当方PSD環境ないので試せないからわからんけど それからIK関係は今はAnima2Dが入っているのでそちらで処理するって言う手も あるかなぁと思います どこのパッケージがどのバージョンにあるかは、Unityさんに聴くのが早いかと思います メールで問い合わせすと意外と見てくれます >>160 たぶんですまんけど、psdファイルは一度インポートすると、アセットウィンドウ上でクリックするだけで、psが開いて変更できるっぽいよ。 >>159 ごめん。よく解らない Assetフォルダにインポートしても Assetフォルダの直下に FacebookSDK と PlayServicesResolver ってゴミが作られるだけで なにも解決しないぞ >>162 もし同じエラー >>SDK/7.9.4 であるなら、まだそのプロジェクトが7.9.4を参照している事になる なので、まず新規プロジェクトを作成して、最新のSDKをインポート そして、最小なプログラムで、SDKにアクセスするコードをコンパイルする それで動けば最新のSDKを参照している事になるので、中身を移植する 単純に参照の問題かと思うが、さすがにそちらのコードが分からないのでこれ以上は 何とも言えない。 こちらもfacebookSDKについてはあれなんで、まぁそれでダメであれば 簡単なサンプル作ってみたいとは思うけど・・・ scrollviewのスワイプ制御で一定の速度以下になったらviewportの幅の真ん中に1番近いcontentがviewportの真ん中に吸着する Script作りたいんですがどう記述すれば良いかご教授下さいませ >>163 C# でSDKにアクセスするコードっていうのが書けて それを実行するとUnityの環境が整って 他のプロジェクトでも実行できるようになるってこと? >>165 エラーが出たのが「Unity 2019.2.0f1 したら」という事ですよね?という事で前は動いていたという事 であればSDKのバージョンの違いが考えられるという推理から、まずはまっさらなプロジェクトを作成して 最新のSDKを使ってみる >C# でSDKにアクセスするコードっていうのが書けて もちろん現在のUnityはC#だけなので、もしそのプロジェクトが昔のJCやBooならC#に移植しないと無理じゃないかなと思います あとそのプロジェクトの中で拡張メソッドを使っているなら、拡張メソッドを登録しないと同じようにエラーになると思うのでそちらも確認してみてください https://unity3d.com/jp/learn/tutorials/topics/scripting/extension-methods >>164 「unity スクロール 止める」で出てくる 「UnityのScrollRectのスクロール位置を調整 - Kludge Factory」や 「【Unity】セルのところで止まるスクロールビュー【FancyScrollView】 - かつて ... 」 でどうでしょうか? Unity Hubをインストール終わって、Unity本体を入れようとしていますが、 容量不足で失敗してしまいます。 テンポラリをRAM Disk(2GB程度)にしているせいだと思いますが、 ダウンロード先の変更方法ってあるのでしょうか? (Cドライブは100GB以上あるので、インストールには問題ありません) >>167 返信ありがとうございます! 見てみたのですが理解が足りず情報を活かせません… contentの子要素にボタンを数個配置していてスワイプが任意の速度になった時viewport幅の真ん中に一番近いボタンがviewportの真ん中の位置に吸着なんですが 動的に出力したボタンの一つ一つの位置をまず出したいのですがどう記述して出すのか知りたいのです 2Dで関節をプレイヤーの操作で自由に動かしたいと思ってます。 YES、NOだけの解答で結構です。可能なら自分でやり方は自分で調べようと思ってます。 SwuftのSptiteKitなどではゲーム制作の経験はあります。 関節があり、関節の角度を自由に操作するゲームを考えてます。また関節を持つスプライトは重力などの物理的な影響を受けさせようと思ってます。 (1)ボーンを使った方法っていうのは、アニメーションを作るためのものでしょうか? (2)ゲーム中にリアルタイムでボーンを操作できますか? 主にボーン間の角度など (3)ボーンではなく、ジョイントを使って関節を作るとして、ゲーム中に関節の角度を操作して自由な角度にすることはできますか? (4)UNITYのジョイントとはSwiftのSpriteKitのジョイントと同じようなものと考えれば良いですか? YESなら、その方向で作っていこうと思います。よろしくお願いします。 >>171 (1)知らない (2)知らない (3)yes (4)知らない >>169 えっと、まず速度ですよね これはScrollRect.velocityで取れるので、任意の速度以下になったらという条件は可能ですね >>175 ですねーそういうのをどうするか考えるのもまたプログラミングの楽しみかなと思います で、停止ですがverticalNormalizedPosition で任意の場所に止める事ができます この任意の場所は、0~1の間になるので、コンテンツの位置を把握しないとなりません で、一応これだけの情報があれば、少しは作れるかな? >>176 返信ありがとうございます! そちらの2つのことは出来てるんですがまだ解決しておりませぬ… viewportの真ん中の位置をワールド座標で出すにはどうすればよろしいでしょうか? ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる