【ゲームエンジン】Unity初心者質問スレBuild2
レス数が1000を超えています。これ以上書き込みはできません。
こんにつは。
VSTUで「Unityにアタッチして起動」でデバッグしてるんですが、どこかでエラーか何かでコードが追えなくなった後、ほぼほぼUnity Editorが落ちちゃうのですが、あまり落ちないようにするのに何か有効な方法はありませんか? >>3
PC スペック足りてないん( -_・)?じゃない Unityをバージョンアップすればなんとかならないかなあ、と軽い考えで新しいバージョンのインストールを決行したら、長ーい時間がかかった末に、
よく分からないエラーかなんかが出てたからか、それまで動いてたシーンでカンバスが「なんか見当たんねーよ!」みたいになってて、シーン起動出来ず絶望しました。
前バージョンのUnityを再インストールしたら、戻ったのでホッとしてますが、戻らずにいたら元の状態にするのに超めんどくさそうだったと思いました。 >4
PCスペックですか、、、
環境要件調べてみまする、、、 自PCはi5のメモリ8Gなので普通レベルぽい。
けど、グラボはオンボード?なようなので弱そう。
i7,16G以上,デカイ画面がイイけど、ノートPCだとたっかいお値段になるので絶望する。 一応、スペックです
公式
https://unity3d.com/jp/unity/system-requirements
どっかの
https://am1.jp/tutorials/unity/spec/#Unity
うーんグラボあった方がいいっぽいかなぁ
ただオンボでも
GPU:DX10(シェーダーモデル 4.0)の性能を持つグラフィックスカード。
の要件を満たして入れば大丈夫なんだろうとは思うけど……
どうしてもデバッグでそのアタッチ起動をしなければならないという事じゃなければ
変数とかはprint命令でコンソールに表示する方法でもいいかと思います アセットストアで購入したアセットに評価をつけると、
アプリの製作者は評価をつけた人のIDなどがわかるのでしょうか?
誰がどの評価をつけたのか >>9
さーどうなんでしょうか、ここはひとつアセットストアにアップした神の降臨を待ちたいところですが
なんせ、ここ初心者スレなので、くるかどうかわかりません。 スレ濫立厨の弟子がまた新スレ立てたのか。
初心者のくせに初心者相手にマウント取りとは
キムチの考える事はわからんな。 ちょっと効率かについて聞きたいんですけど
インスペクターでデータベース
作ると膨大な量になってしまうんですけど
別ウィンドウでデータベース管理する方法って知っていますか? インスペクターでデータベースを作るという意味が分からないのだが、これはどこかのWebにあるのかな?
unity 自体にDBの機能は無かったと思うので、mySQLやGooglespreadsheetとの連携なら結構サンプルあると思いますが
私の頭だとこれくらいしか答えでません( ノД`)… 俺ならデータはExcel作ってScriptableObjectに自動変換するかな まさかの変数パブリック化して、インスペクタに直接入力じゃないだろうなw そのまさかだよ、やっぱunity単体だけでやるのは
無理ではないが面倒なのは間違いない >>20
カメラのワールドローテーションの3番目を0にすれば。 Unityの最新バージョン2019.1.3.f1で新規プロジェクトを作り、何もしてない状態で
AdMobのUnityパッケージGoogleMobileAds-v3.17.0をインポートすると、
「Resolving Android Dependencies」が出てほとんど進行せず、
下にResolution failed が出てしまうのですが、
これは何が原因なのでしょうか? テクスチャ自体が1024x1024の解像度のとき
テクスチャファイルのInspectorだとMaxSizeはデフォ2048になっていますが
これは手動で1024に変えたほうがよいですか?
(例えば変えないと勝手にテクスチャを2048にリサイズしてしまうとか?) なんか数値弄ってないのに最初に出てくるパーティクルがクソでかくなったわ
動画の人達と大きさがまるで違う
ヒエラルキーからエフェクト→パーティクル作成しただけ
これ呪いか何か? fexなんですがテクスチャを埋め込むってどういうことなんですか? Unityを起動すると
Failed moving C:/Users/(ユーザー名)/AppData/LocalLow/Unity/Caches/GiCache/9e/9e507a952e79ca4a747694e0faf3c91f.tet.tmp to C:/Users/(ユーザー名)/AppData/LocalLow/Unity/Caches/GiCache/9e/9e507a952e79ca4a747694e0faf3c91f.tet.
と
'Tetrahedralize Probes' job failed with error code: 2 ('Failed writing Probe Set Tetrahedralization file.').
というエラーが延々と出てきてディレクショナルライトが暗くなる現象が起きます。
解決策を教えて下さい。どうかよろしくお願いします。 キャラモデルをBlenderからUnityへFBXでエクスポートしたのですが何故か髪が2ポリゴン?なくなってしまってまして
青色の髪の毛なのですがテクスチャのでせいかと思いBlender側でテクスチャを外して髪を黒にしました
そしてFBXでエクスポートして再度Unityに持っていったのですが何故か髪の毛が青色のままです
Materialをいじれば黒にできますがBlenderからUnityに持っていくときのトラブルとしての検証なのでUnity側で黒にしたところで一部禿げてるのにかわりありません
ちなみに面が裏返ってるとかではなかったです。
同じ症状を検索するとだいたい面が裏返ってたということが多いそうですが面をひっくり返して検証済みです。
Blender側で黒くした髪の毛が何故青色なのか?青色の情報はどこから出てきてるのかわけがわからないです。
@何故ポリゴンが消えてしまうのか?
ABlender側で黒にしてるのに何故Unity側で青いのか?
解決策をご教授お願いいたします ポリゴンが消えているとこを少しマージしたりいじったりしたらそこはなおったのですが
次はさっきまで大丈夫だったとこがおかしくなりました
全くいじってもいない無関係なところなので頭がおかしくなりそうです。
https://dotup.org/uploda/dotup.org1861798.png >>38
Assetを買えば頭がおかしくなるのも防げそうです Unityでカメラを近づけるとオブジェクトが消えていくというかそういう距離を変更する方法ってどうするんでしょうか? unityのscriptをVS2019で開いたらunityengineのライブラリが予測変換に表示されなくなったんだが助けてくれー
あとunity推奨のエディタって何があるの? プロジェクトインスペクター開いて追加だったかなぁ
おらもそれなつて毎回めんどくさいから再インストールした VRchatしてる人いないかな?
VRchatのために古いUnityをインストールしたら新しいUnityが消えたんだよ
VRchatのためにも古いUnityも使いたいし新しい方のUnityも使いたい場合なんとかできないかな? Unity2019/3のαは使わないほうがいいよな?
/1の安定版がいい? hubからなら好きなバージョンで起動できるんだから好きなので作ればいいよ Unityストアから買ったり落としたりしたアセットって絶対Unity経由させられるのかな?
一度PCにダウンロードとかできないの? アセット 保存場所、ででてくるよ。
myassetに入れればいい。 Unity 2019.1.8f1 にアップデートして
Android端末にビルドしようとしたら
SDK Tools verision 0.0.0 < 26.1.1. ってエラーが出て
ビルド出来なくなった
Android Studio を最新にして toolsフォルダ も最新にしたのに
直らない
どうしたらビルド出来る?
助けてくれ ダウンデートすればよくね?
unity Hub なら複数のバージョンで開発できるっしょ >>58
ずっとこのバージョンで作って行けってか
ありえないだろ
どっかでバージョン上げないかんだろ >>57
ごめん
もう試してみたけどダメだったんだ・・・ こういうのってバージョンが上がっていけば勝手に解決されるもの?
それなら、しばらく古いバージョンでやっていくってのもありなんだが >これは新しいバージョン(Unity, Android)では対策されています
って書いてあるからそのうち対応されるんじゃね >>55
Android Studioは要らない
SDKもNDKも全部Unity Hubで済む
Unity Hubのモジュール追加からAndroid Build Supportを選べ ジャンプと落下のアニメーションを分けたいんですがどうしたらいいですか?
ジャンプするとすぐに落下アニメーションになってしまいます >>68
こんな感じかな?
https://imgur.com/vcD2SsS
https://i.gyazo.com/e3851c2a8c129dca64ac7bb66c7d0c22.png
Jump用アニメはLoopTimeのチェックを外す
遷移でJumpが動いたらそのままExitする
落下したい時には落下用のトリガーなりを付けて遷移すればよろし ソースで何とかしたいなら前フレームのy座標と比較してちっちゃかったら落下アニメーションにするとか using って
https://urashita.com/archives/1825
このサイトに載っているように
using()でインスタンス化されたオブジェクトは、usingに続く{}を抜けると必ず解放されます。
って意味だけど
unity で .cs 作ったときにデフォルトで書かれてる
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
の using と意味が違うの?
この using は C でいうところの #include みたいなものだと思ってたけど違うの? usingディレクティブ
usingステートメント
でググれ 今って Unity Hub から Android SDK インストールしてくれるから
もしかして Android Studio ってもういらないかったりする?
Android Studio が無いことにより今後開発に問題が起ったりする? 初めにR18の内容を含むことをお詫びします。(ゲーム名のみ画像は含まれません)
プレイホームというゲームのMODを作りを学ぼうとこちらのサイトを参考に
https://github.com/yaegaki/unity-mod-doc
visualstudioにサンプルコードをそのままコピペしてみたのですが参照がうまく通りません。
参考サイトとは別のゲームですが同じく/Managed/UnityEngine.dllを参照したのち
コピペそのままだと画像一枚目、無いと指摘されたのmscorlibを.NETFrameworkフォルダから手動で参照追加すると二枚目のような状況です。
赤波線はすべてCS0518 定義済みの型 'System.Void' は定義、またはインポートされていません(他にも'System.アレコレ'が無いらしい)
となっています。
https://i.imgur.com/jjdMJmE.jpg
https://i.imgur.com/adYtPey.jpg
ここで知能と検索力の限界を迎えてしまいました。
ビルドを妨げている原因に思い当たる方よろしくお願いいたします。
Visual Studio community 2017 v 15.9.14
.netframework v4.8.03761 ユニティちゃんライブステージ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の真ん中の位置をワールド座標で出すにはどうすればよろしいでしょうか? >>177
viewportの真ん中はあくまで0.5fなんですよ
多分やりたいことは先に紹介した「【Unity】セルのところで止まるスクロールビュー【FancyScrollView】」
にあるスクリプトを導入すれば出来ると思うんだけど
どうしても自作したい場合には自分でViewの位置、コンテンツの数からVIEWの真ん中の位置を計算して、速度を比較し、近いコンテンツの位置を
verticalNormalizedPositionに放り込めばいいんだけど、まぁそれも色んなブログで計算式が出てるので
ここ「[Unity uGUI] スクロールビューの基本と軽量なスクロールリストビューの作り方」
が詳しいので、参考にどうぞ
んで、さくっとやりたいなら先のブログに載ってる
「こちらがその神スクリプト、FancyScrollView!」を使うのがいいかと >>178
同一の方でしたか何度もご丁寧にありがとうございます!
Unity始めたばかりでワールド座標とローカル座標の違いさえも分かっていなかったので大分苦労してますw
参考サイト見ながらやってみますね!! WebCamTextureを使ってandroidスマホでカメラの映像を使いたいのですが、映像はちゃんと映っていても、20秒くらいするとアプリが落ちてしまいます
どうすればいいでしょうか >>166
Unity Facebook SDK セットアップ
などでググってみたがすごい違和感がある
まずこの問題は
普段使わないものをインストールして設定したり
ソースを書いて移植するとか
そこまでしないと解決しない問題なの?
UnityのバージョンアップでUnityが勝手に出したエラーで
Unity内部で完結する問題だったりしない?
Unityの設定を変えるだけとか 無料ではじめるBlender CG アニメーションテクニック ~3DCGの構造と動かし方がしっかりわかる 【Blender 2.8対応版】
無料で、なのに本が有料ておかしいのでは? >>182
ネタだよな?
本気で言っていたら言語の認識障害か、
木を見て森が見えないような何らかのハンデがあると思う。 >>182
じゃC#やpythonの解説本やプログラミングスクールは全部潰さないとな
無料で使えるのにそれで金稼いでるやつがいるとか許せねえわ! >>182
そうですね、おかしいですね。
では、ブレンダーを有償にしますね。
そうですねぇ機能からしたら、5〜10万は頂かないと。必ず払ってくださいね。 >>183
「無料」という日本語がわから無い韓国人デスカ? >>187 みたいなのって
やっぱり変な子として避けられながら生きてるのかな。
ナチュラル基地外ってやつ? 絵は描けるけどプログラムはやった事ないって人はもしかしてビジュアルスクリプティング必須?
わざわざUnity入門書買ったのに便利なアセットを紹介してないのは酷い >>189
絵がかけるならUnity を選ぶ理由がない(断言 >>190
ゲーム作りたいんだけど何で作ればいいんだ? Unityのアップデートして
プロジェクトを作り直して
以前購入して使ってたアセットをインポートしようとしたら再度購入しなくてはいけないようになってるのですが
一度購入したものは何度もインポートできるんじゃないんですか? 再度ストアからやったの?
ダウンロードしたのからインポートするか、前のプロジェクトからパッケージ保存してインポートすれば? >>191
キリキリとかつクールでよくね?
何のゲーム作りたいか知らんけど >>191
nityでいいと思うけど、割とがっつりプログラム能力いるよ。
作るものによるけど。どんなもの作りたいの? >>194
>>195
RPGツクールのエロゲーやり過ぎて飽きたからなんか違うゲーム無いかなーどうせなら自分で作ってみるかってのが理由
なんとなくヴァルキリープロファイルみたいな横スクロールのゲームを妄想してるけど莫大な作業量で既に心が折れそう 「Jetpack (AndroidX)」libraries are only supported when targeting Android API 28 and above.
って出るじゃない。
JetpackはAPI28にしないと動かないってことじゃないよね
みんなAPIはいくつにしてるの? ヒエラルキーにあるオブジェクトが、どのオブジェクトのどのスクリプトのpublicで取得されているかわかる方法ありますか?
スクリプトでpublicに指定したオブジェクトはインスペクターにあるオブジェクトをクリックするとわかるのですが逆ができるのか知りたいのです
知っている方がいれば教えてください 説明が下手ですみません
ヒエラルキーにあるオブジェクトがどのスクリプトのpublicに指定してあるか知る方法があるのか、ということです
逆というのは、スクリプトでpublic指定してあるオブジェクトはインスペクター上で表示されている名前をクリックするとヒエラルキーのほうで黄色く印がつくのですぐにわかりますが
その逆のことができるのなら知りたいと思ったのです >>201 Asset StoreからAsset Usage Detectorをいれてみたらどうでしょう? >>202
>>200-201です!
検索できました!
素晴らしいアセットを教えてくださってありがとうございます! >>199,201でした
>>200さんすみません
>>202さん重ねてありがとうございました 同じプロジェクトで条件を変えずにビルドしようとするのに、
ビルドできるときとできないときがあるのですが、
こういうことはよくあるのでしょうか?
どこかに問題があってビルドが不安定になるのでしょうか? >>206
はい。まったく同じです。
ベータリリースの2009.2.3f1にバージョンアップしてから
Failed to determine the most recently installed Android SDK version.
という赤いエラーと、
他にアセット関係で黄色のエラーがいくつか出てます。
この状態で起動し直したり、設定を変えた後に、
同じ条件でビルドできるときとできないときがあります。 それは条件同じとは言いません。
そして、よくある事です。以上。 unityチュートリアルにこのコードが分かりません。説明もされてませんでした。
RaycastHit2D[] hit = new RaycastHit2D[5];
コリジョンの衝突判定に使用してるんですが
この括弧の中に入ってる5って何の数字なんですか? >>179
ウァァァァッッッ!!!スクロールかんせぇせんぞぉぁぁぁぁぁぉあ!!! 2Dでゲームを作っています
座標計算のわかりやすさからスプライトの Pixels per Unit を 1 にしてますがこれって 100 の場合と比べて負荷が上がってしまいますか? アイフォン なら、相当量出さないと、それこそ画面に何百枚も覆うぐらい描画しないと処理落ちは滅多にないね。 あーそうそう、久しぶりに昔のプロジェクトをやるとですよ
で、hubで移行するとね、あれー簡単に移行出来るじゃんと思うとですよ
ところが動かないとです
しゃーないから新規作成してアタッチして同じスクリプト手で描くとさ
動くんんですわ
まったっく同じ内容なんですよ
あぁーunityHubの自動移行はダメだっちゃいね 今からUnityを勉強しようと思っていますが
個人製作なので主にレトロ風の2Dゲームを作るつもりです。
2Dゲーム系の参考書は古いバージョンでのみ充実しているので
Unity2018でいいかなと思っているんですが
やっぱりUnity2019を使った方がいいですか? >>221
Unity Hubで複数バージョン管理するのがデフォ Unityを別のドライブに移し替えたら色々ややこしくてエラー吐きまくるのでアンインストールしてはじめからインスコしたんだけど
インスコした後のUnityを開いてみるとaddComponentの欄が何もなくてnewscriptとしかでない
何かおかしくない? 質問が初歩過ぎてスルーされてしまったぽいのでこちらでも聞かせてください。vfx graphのパーティクルでカスタムしたシェーダを使うにはどうしたら良いのでしょうか? set materialのようなノードは無いのでしょうか?よろしくお願いします >>223
普通に考えるとアンインストールがちゃんとされてない
unity 完全アンインストール で検索お勧めします vfxグラフにシェーダが使えないという事は理解しました。。ありがとうございます。
もう一つ質問させて下さい、face cameraノードでビルボードが作れる事はわかったのですが、Y軸のみを固定したビルボードなどは作れますか?よろしくお願いします >>220
Unityの2019.1X系、2019.2.5f1だとNetworkコンポーネントが無くなっているのでこの現象というかネット関係が使えない
2019.3.0b3では使えるけど、UnityのBitbucketにあるサンプルの場合のやり方を忘備録
一度2019.3.0b3で開き、ExportPackageにて保存
新規プロジェクトでImportする
ビルドセッテイングにて使用しているシーンを追加する
これでInvaders.zipのサンプルは動きました
Unetは将来無くなるという事だがメジャーバージョンの対応どうすればいいのか・・・ >>230
但し、コンポーネントにNetworkが無い場合
Packages下のmanifest.jsonファイルに次を追加
"com.unity.multiplayer-hlapi": "1.0.4", scaleの単位は1mとマニュアルにあるんだけど、アセットストアから車とかつっこむとでかいです。スケールを0.6にして、やっと車幅が1.7mくらいになる。道路の別アセットもスケール0.6にしたら車線幅3.5mでよい感じ。何か設定間違ってますか? >>233
ありがとう。
車のアセット4個めで正しいっぽいサイズのがでてきました。 ランダムに移動させるスクリプトの
https://qiita.com/mczkzk/items/93633bf68175d321df02
この部分なんですが、
void SetRandomPosition() {
float x = Random.Range (-5.0f, 5.0f);
float z = Random.Range (-5.0f, 5.0f);
Debug.Log ("x,z: " + x.ToString ("F2") + ", " + z.ToString ("F2"));
transform.position = new Vector3 (x, 0.0f, z);
これだと、「xが-5〜5、zが-5〜5」の一つの正方形?が範囲になりますが、
例えば、「xが-5〜5、zが-5〜5」と「xが5〜15、zが5〜15」を合わせた範囲にしたい場合は、
どういう書き方をすればいいのでしょうか
よろしくお願いします。 >>235
2年前のページなのできっと質問しても帰ってこないでしょうねぇ
えっと、そのページでやっている事は、-5~5までの範囲でランダムに登場する感じでしょうか
これを2箇所でやりたいという事ですね
範囲を合わせるのではなく、2つの範囲からどちらかを選んでという感じの考え方です
ということは、エリア1が-5~5、エリア2が5~15の設定をします
最初に、ランダムでエリア1かエリア2のどちらかを使う判定を入れて
その後はそのままだと思います >>237
ありがとうございます
>エリア1が-5~5、エリア2が5~15の設定をします
>最初に、ランダムでエリア1かエリア2のどちらかを使う判定を入れて
これのコードをお願いします! >>238
えっと
float x = Random.Range (-5.0f, 5.0f);
float z = Random.Range (-5.0f, 5.0f);
最初に、Xに-5~5をランダムで入れてますよね
なので、まずその値を変数にします
float str=-5.0f;
float end=5.0f;
float x = Random.Range (str, end);
これだと最初のままと変わらない、そこでxに入れる前に
if(ここでランダムの数値を取得して>5)//←5以上なら、エリア2の数値にする
{
float str=5;
float end=15;
}
こんな感じでどうでしょうか? 239のほうが手馴れてる感じするけど、わかりやすくかくならこうかな
float x, z;
if (0.5f>Random.value) {
x = Random.Range(-5.0f, 5.0f);
z = Random.Range(-5.0f, 5.0f);
}
else {
x = Random.Range(5.0f, 15.0f);
z = Random.Range(5.0f, 15.0f);
}
transform.position = new Vector3 (x, 0.0f, z); よくよく見ると、範囲を-5〜15にするだけのような気がしてきたw とりうる範囲を図にしてみるとわかりやすいけど、範囲を-5〜15にするのは違うかな
エリア1,2にわけてるときはxとzの「両方が5以下か5以上」
範囲を-5〜15にしちゃうと「xが5以下でzが5以上」「xが5以上でzが5以下」の場合もある いや、そもそもエリア1と2って繋がってね?って思った
それから自己レスだがif分の中で型を新たに定義しちゃあかん キャラの配置がしたいのかな。
もしそうだとしたら、別の方法でも良いかと。
マップに配置したい場所にコリジョンを作る。
例の場合だと-5,-5〜5,5の矩形、5,5〜15,15の矩形を配置してスポーンさせる。
乱数はマップの最小〜最大で設定。
それでキャラ数でスポーンループ作って、衝突判定して、接触ないならもう一度乱数配置を試す。
これなら、コリジョンのかたちは丸でも任意のかたちでも可能。
ちがうかな? みなさんありがとうございます。
>>245の図をイメージしてました。
このように二つの四角エリアが隣接するケースだけでなく、
完全に離れてるケースやいびつな形のものも作りたいです。
そうなると、座標で範囲を指定する方法だと矩形に限定されるようなので、
コリジョンを使う方法をやってみようと思います。 >>245
おうふ!
これだ
数字だけみてたから混乱してた
とても分かりやすい図ありがとうです ドンキホーテの自分pcでunity開発環境は起動しますか?(´・ω・`) ? 帰宅後貼ります
スマフォからではストレスがマックス(´・ω・`) CPU:Intel Cherry Trail T3 Z8350(1.92GHz クアッドコア)
メモリ:4GB
OS:Windows10 Home(64bit)
https://news.kakaku.com/prdnews/cd=pc/ctcd=0030/id=85280/
普段はWindowsXP時代のDell-PCにUbuntu入れて使ってるんだけど、起動しようとすると「Failed to initalize unity graphics.」が表示され落ちます。
なので、2万円で買えるドンキPCはどうかなっと。 アプリのサイズはいくつくらいから「大きすぎる」とされますか?
サイズを小さくするにはサーバに配置するようにするしかないですかね 200MBだっけ、appstoreでダウンロードできる制限
Wi-Fiならもっと大容量でいいけど >>251
2万出せるならグラボとかメモリ買ったほうが良さげ 2万出せるならoptiplexの業務PCの中古を買おう
14000円くらいでi5第4世代メモリ8GBくらいのが手に入る
4000円で中古モニター買えば2万で十分な制作環境になる なんでそんなケチしてゲームを作りたいの
人を楽しませるためにケチする思考が理解できない
20万ぐらい出せよ モニター捨てるのにもカネがかかるから4000円は高い アプリで使うファイルをサーバに置くようにしようか検討中なんですが
サーバに配置する=Adressable Assets システム
ということではないですよね
サーバに置くようにすると何か問題でてきますか? 予想外にバズってアクセス集中しすぎちゃうとか
サーバ代とか
商業化のときに少しめんどいとか
そんなもんかな >>265
ありがとうございます
商業化のときに面倒というのはどういう点でですか? CDNはAmazon S3使っておけば大丈夫っしょ 質問です。
gyroの初期化ってできますか?
アプリ立ち上げ時のスマホの向きで決定されるみたいで、現在のカメラの向きを正としたいのですが、0.0.0にすると明後日の方向に向いてしまいます。
ご教授、お願いします。 unity ジャイロ 初期化
で検索したページじゃあかんの? 昨日から探してるんですが、該当するものがなかったんです。 今見ている方向で、cameraに0.0.0.0を入れると成るとはあるのですが、カメラをオブジェクトにアタッチしているためちょっと変則になるのか、そのほうこうを向いてくれません。
親にも0.0.0.0にしたりとか、試してみてるのですが。 2dと3dどっちでゲーム作成したらいい?
3dだとマリオ64程度のローポリでも大変? レベルを作成するよりも、ある程度素材を沢山作っておいてから、レベルを作成したほうがいいのですか? >>273
NullReferenceExceptionなら、何か設定抜けててnullになってる変数があるんじゃないかな?
最初のリンクのサンプルの「"http://www.my-server.com/image.png"」を表示したい画像リンクに変更して、
「Texture myTexture …」のあとに2行追加
GetComponent<UnityEngine.UI.RawImage>().material = new Material(Shader.Find("Unlit/Texture"));
GetComponent<UnityEngine.UI.RawImage>().material.mainTexture = myTexture;
とかでどうでしょう? このスレは建てた奴が放棄したので回答者が殆どいません
teratailならとりあえず回答は付くのでそちらを利用しましょう >>270
ちなみにどのページのを試したのでしょうか?
ここら辺
ttp://ndabecha.blogspot.com/2017/01/unity-gyro_6.html
のでいけるような気がするのですが・・・ >>277
ありがとうございます。
inverseが出てきました。これでとっかかりが一つ増えました。思考錯誤してみます。 >>277
ありがとうございました。
試行錯誤して、思い通りの動作を実装するとこができました。
これでようやく、ステージ作成ができます。 2019.1.4f1でNavMeshをベイクしてみるのですが、うまくいきません。
planeとcubeで簡単なステージを作ってstaticにしてからNavigationでBakeを押しても水色の移動範囲が出てきません。
ちなみにSceneウィンドウではShow NavMeshにチェックは入っています。
よろしくお願いします。 lightのintensityと電球マテリアルのEmissionを連動させたいのですが普通にスクリプトでやるものなんでしょうか
スマートな方法があったら教えて下しあ >>275
ありがとうございます。
色々試して、NullReferenceExceptionは消えたのですが、
相変わらずURLの画像を表示することができないです。
RawImageでTextureのところを普通に画像を選択すると表示はできてます >>282
>これらを参考にして作ったスクリプトをRawImageにアタッチして試したので
>相変わらずURLの画像を表示することができないです。
>273の最後のリンクのサンプルそのままで動きましたが、それじゃダメなのかな?
https://i.gyazo.com/f8617bbde4cd12700ae48bc421de3fd8.png
https://i.gyazo.com/76a77e55ee2598bb65393198671933cc.png
サンプルが動くのであればDLしようとしている画像に問題があるのでは? >>283
ありがとうございます。
このサンプルでそのままのURLでも表示されません。
このスクリプトをRawImageに貼るだけですよね。
ヒエラルキーの中のCntrlというのは何か意味があるのでしょうか? >>284
cntrlは単にスクリプトを張り付けているだけです
そのスクリプトの中に
[SerializeField] private RawImage _image;
があるのでヒエラルキーでRawImageを指定します
それをしないとエラーになります
https://i.gyazo.com/c51c153f3e5b2d0aad6c87dad682bb34.png >>285
なるほどそういうことだったんですね
なんとか表示できました
ありがとうございました お門違いかもしれんが、unityroomにアップできないんだが最近アップの形式変わった? 質問です
unityの3Dビュー上で視点の移動する操作で「フライスルーモード」って
あるじゃないですか
右クリックしながらWASDキーで視点を移動させるというあれです
その移動速度に不満があってもって速度を上げたいのですがそんな設定あるでしょうか? https://unity3d.com/jp/learn/tutorials/projects/2d-game-kit/creating-new-scene
Unityのチュートリアルの2Dgamekitをversion2019.1.7でインポートしたのですが、createで新しいシーンを作るとURLのようにプロジェクトルート内に作ったはずの新規Sceneが見つかりません。
(Scene画面に新規シーンは表示されてるのでどこかに保存されてるとは思うのですが)
試しに2018.3.14や2017.4.33で新しいプロジェクト立ち上げてインポートするとエラーが出てしまいます。
どうしたらよいでしょうか? >>288
ググるとこんなんあった
ttps://qiita.com/r-ngtm/items/1195514a7d7b9861a870
記事では遅くしてるから数値かえれば早くなるんでないかい >>291
ありがとうございます
でも非公開のクラスにアクセスするのは抵抗ありますね >>290
自己解決したときはどういう風に解決したか書くと、次に繋がるよ。 大きめのPNG画像を入れて作ったら
アプリのサイズが大きくなったので小さくしようと思い
拡張子をJPGに変えるとPNGのときよりサイズはだいぶ小さくなり、
このJPGで作り直したところ
PNGのときとアプリのサイズに変化がありません。
試しにPNGもJPGもなしで作ったときのアプリサイズと
JPGを入れて作ったときのアプリサイズの差は、
JPGのサイズ分より何倍も大きくなってしまいます。
こんなことってあるんですかね。
画像のファイル名が同じだからUnityが混乱しちゃったとか 元ファイルのサイズは関係なくて、テクスチャのインポート設定次第
サイズを小さくしたいならインポート設定の解像度やクオリティを下げるべし >>289>>290>>293
2DGamekit内のフォルダに保存されたのではなく、そのひとつ上のAssetsフォルダにSceneファイルが保存されていました。
一先ず2019でチュートリアル進めて行こうと思うんだけど、2018や2017のインポートエラーは結局解決してないので先行きが不安 Unityバージョン2018.3.0f2 Personalを使っています。
C#スクリプトをオブジェクトにアタッチしようとすると
"Can't add script behaviour AssemblyInfo.
The script needs to derive from MonoBehaviour!"
というエラーメッセージが出て失敗します。
ファイル名とクラス名が一致していることは確認しました。
コードエディタはVisual Studio Code 1.39.1です。
エディタが悪いのでしょうか、Visual Studio 2019でも同様の症状が出ます。
みなさんはどんなコードエディタを使っていらっしゃいますか? >>296
当方Unity2018.1.9f2の環境で2DGamekitインストしましたが正常にインポートされました
インポート途中でTextMeshProとCinemachineのエラーが出てましたがこれも
パッケージの追加が自動で起動されるので待っていたら正常終了しエラーは解除されました
ttps://i.gyazo.com/a50d8a0e3dbd78fca47b638f2464ad85.png
ちなみに2DgamekitのバージョンはAssetStoreで最新のをインスト
ver. 1.7.3 です。
sceneの作成やファイルの作成についてはProjectの上部Createボタンで行う場合、どこのフォルダが選ばれているかが重要で
分かりやすいのは、作りたいフォルダをミギクリして選ぶのがいいかと思います
ttps://i.gyazo.com/0e488fc9d8ca6b526c50228e47bbb9e6.png >>297
>Unityバージョン2018.3.0f2 Personal
当方、現在UnityHubでやってまして、そのバージョンをインストールして試そうかと思いましたが
図
ttps://i.gyazo.com/45396345497d240d11daf04ff3a79cb4.png
このように正式バージョンではないようなので無理でした
この機にHubに移行して正式バージョンで開発をするのがいいのかなと思います PNGでもJPGでも容量に影響ないってことですか?
ショックだわ >>300
Unityへの取り込み設定の話だよ
元画像がどう変わろうが、「高画質として取り込め」って設定ならUnityはそうする
と>>294は言っていると思われる メモリの解放について質問です。
Resourcesフォルダを使ってる場合は
Resources.UnloadUnusedAssetsが使えますが
Resourcesフォルダを使ってない場合、
例えば追加ロードしたシーンをアンロードしたときに
そのシーンで使ってるspriteやwebviewのデータなどは
完全に削除されてメモリは解放されるのでしょうか。
されない場合、どうしたらいいのでしょうか。
よろしくお願いします。 Progressive GPUでライトマップ焼こうとするとProgressive CPUに変わってしまうことがあるんですが、どういう条件でなるんでしょうか
unity2020.1.0a8 2019.1.7を使っているのですが、複数の画像をまとめたprefabのSpriteRendererコンポーネントがインスクペクター上に見つかりません。どこにあるのでしょうか? >>297
ビルドエラーを全部なくしてからだと、出来るかも。 すみません、C#って
string collarType = "Red";
if(collarType==("Red"||"Blue")){
Debug.Log("赤か青だよ");
}
って書けないんでしょうか?
orを使ったif文を書いたつもりですが。
エラーになったんです。
string collarType = "Red";
if(collarType=="Red"){
Debug.Log("赤だよ");
}
else if(collarType=="Blue"){
Debug.Log("青だよ");
}
これだと、エラーになりませんでした。
なぜでしょうか。 >>311
申し訳ないです。
わかりません、ご教授願います。。
ただ、
if(collarType=="Red"||collarType=="Blue")){
Debug.Log("赤か青だよ");
}
にしたところ、エラーにはなりませんでした。
if(collarType==("Red"||"Blue")){
Debug.Log("赤か青だよ");
}
これとどう違うのでしょうか、、、 >>307
正式リリース以外はどんな挙動あるか謎なのでとりあえず正式リリースバージョンでやってみよ
>>312
とりあえず
https://www.javadrive.jp/smarty/if/index2.html
読んでみればどうかな >>313
あ、わかりました。
勘違いしてました。
ありがとうございます >>299 弟子 ◆rZPPjYuxmQさま、ありがとうございます。
ご助言どおり、公式サイトからUnityHubをダウンロードして
Version 2019.2.9f1 Personalをインストールしました(^o^)丿
エラーはどうやら文法エラーだったみたいで私の見落としでした。 >>303
Resourcesフォルダを使ってない場合は
どうしたらいいのかよくわからないです
シーンをアンロードすれば勝手にメモリも解放してくれるので
テクスチャ使ってなければ何もする必要ないってことでしょうか? >>316
SceneManager.LoadScene(“シーン名”)関数を使って、次のシーンの遷移すると遷移前のシーンを削除することができます。その結果、前のシーンで確保していたメモリー解放してくれます。
但し
次のブログででかいと読み込みで落ちるからロードシーン挟もうねって書いてる AnimationEventを設定する際はAnimatorコンポーネントが付与されたオブジェクトに、
OnAnimationFinishなどの関数が記述されたスクリプトがオブジェクトにアタッチされていないと、インスペクター上AnimationEventが出てこない。
この認識であっていますか? >>318
ちょっと認識不足でしてレス明後日の方向でしたらすいません
Animeイベント自体はAnimation窓からAddEventをクリックすると指定したフレームに追加されます
https://i.gyazo.com/27fbeee22267415360df71904b79c3e9.png
インスペクタ自体もそのイベントをクリックするとFunctionの指定画面になります
Function自体はAnimeが貼り付いていないと選択に出てこないかとは思います
https://i.gyazo.com/07badf3828e197671d293d188aafeeff.png
尚public関数じゃなくても行けました >>319>>320
ありがとう。Unity公式の2DシューティングチュートリアルでOnAnimationFinishを使ってアニメの再生が終わったらオブジェクトをDestroyする箇所があったんだけど、
>>320のFunctionのタブがずっと(No Function Selected)のままで、OnAnimationFinish()が出てこない!なんで!? っていう状況にハマっていたんだけど、
いつの間にかOnAnimationFinish()が選べるようになっていて、これまたなんでや!っていう状況でした。
記述していたスクリプトの保存を途中に挟んだので、ひょっとしてFunctionにはAnimatorオブジェクトにアタッチしたスクリプトに記述したものしか選択肢に出てこないのだろうか…?という疑問です >>321
×ひょっとしてFunctionにはAnimatorオブジェクトにアタッチしたスクリプトに記述したものしか
○ひょっとしてFunctionにはAnimatorをアタッチしたオブジェクトにアタッチされたスクリプトに記述したものしか Mac上(unity.play押下)では影が表示されているのですが、アイフォーンで動かすと影が出ません。
3dオブジェクトでリアルタイムの影です。
アイフォーン4とかだと対応していないとは有りますが、7なので問題ないはずですが。
実機時の影出す出さない設定は一通り見たと思うのですが、怪しいと思うのがありましたら教えてください。 >>321
なるほどチュートリアルでしたか、OnAnimationFinishがカッコイイ関数名だったので
てっきり組み込みのシステム関数かなと思ってました
おっしゃる通りで
インスペクタにはアタッチしたスクリプトのしか選択できないようです
VSでスクリプト編集 → 保存 → UnityEditorに移動(アクティブ化)←ここでコンパイルされて認識されます >>324
やはりインスクペクター上に表示されるFunctionはアタッチされたスクリプトに記述されたものしか出てこないのですね。ありがとうございます。 Unityの話というより、Unityのウェブサイトの問題なのですが、2Dシューティングの公式チュートリアルにアクセスしようとするとUnitylearnにリダイレクトされて
今までのチュートリアルが見れなくなってしまいました。Unitylearn自体は英語しか対応していないのに今までのチュートリアルにアクセスできないって… >>323
クオリティセッティングあたりを見るんだ! >>327
回答ありがとうございます。
見てはいるのですが、モバイルマークの方の設定と同じチェックなのでそこではないかのかなぁと。
同じバージョンで、pcとモバイルで差が出るのはそこだけとは思うのですが…
もう一度見直してみます。 >>327
ありがとございました。
設定めっちゃいじって、見直したら緑チェックの意味が分かり動作するようになりました。
プレイはPCではないのですね、そこの勘違いが混乱を起こしていました。
無事出ました。
https://i.imgur.com/t9oyiQR.jpg >>326
もしかして ttps://learn.unity.com/ かな?
だとすると、ページの一番下に言語選択があるので日本語にするとわかるけど
ssのようなボタンがあるよ
(押すとどうなるか知らんけど)
ttps://i.gyazo.com/40fa48ddb6075ed65fcdccc8fa8ef873.png
ttps://i.gyazo.com/0879361721c17a11c9bc57a9dbf9a007.png ちょこっとだけ雑談
以前スクロールで真ん中に止めたいというのがあって、今自分もそういうの作成しているのだけど
ScrollRectのOnValueChangedがどうも最新のバージョンだと変わっていて位置がもらえないようです
ttps://i.gyazo.com/dfe2fe040f338da2ba7f078e801d1c85.png
右が2018.1.9f2
左が2019.2.6f1
困った困った
まぁAddListenerで一応対応は出来るんだけど・・・ >>330
WEBページ自体は日本語表示できるけど、日本語の講座がいくつか消えてるみたいなんですよね(つい昨日まで学習を進めていた2Dシューティングは探しても見つかりませんでした)
英語以外の言語はここをクリックのリンクを踏んでも無限ループするし、見切り発車でLearn統一した感が半端ない… そういうのはunityにお問い合わせしたほういいんじゃね? かかる時間は設定次第だけど、2020のプログレッシブGPUめっちゃ早い
プログレッシブCPUで2時間かかるのが3分で終わる >>336
そうですか、バージョンアップしようかしら。 うん取り敢えずピタッと止まるスクロールこんな感じかなぁ
色々と条件はあるけど、まぁブラッシュアップすりゃいいか
ttps://imgur.com/a/dynpwpx
ttps://i.gyazo.com/5ed4eb0bedd19efc7c38aa49efd51418.png
位置計算はどっかのブログから拝借
近似値取得も拝借してfloatに書き換え
ttps://i.gyazo.com/2503e7763fbec8f76e194fbd84ada501.png シーンをアンロードするとメモリは解放されるらしいですが
シーン中のcanvasにrawimageが入っていて
試しにシーンのアンロードと同時に
そのcanvasをdestroyしたところ、エラーが出ませんでした
もうすでに削除されていれば
「そんなのないのでdestroyできない」というエラーがでますよね
出なかったということはまだ残ってたということでしょうか? UnityのシェーダでMayaのLambertに1番近い感じのってどれですか?
あんまり似た感じのってないですか? >>341
あるって分かるなら、それは流石に教えてやれよ。
どうせ適当のバカだろうけどw アセットを探すことすら出来ないバカがゲーム作れるの?w >>339
直後って同じシーン内?
まずはシーンの破棄がどうなってるのかから考えてみれば >>344
同じシーン内です
どうやったら
ダウンロード画像を貼ったRawimageを消すときに
メモリの解放とキャッシュ?の削除を
確実にできるのでしょうか? >>345
アンロード通知でググってみて
で完全にアンロードされてからその破棄をやってみればいいんじゃないかな
シーンのロード、アンロードは非同期なので いままでは質問スレにしか現われなかったが、次の質問スレが立たないので、
虫けらが初心者質問スレに出てきたようだなwww >>24
>>27
>>29
>>34
>>37
>>42
汝は適切なアセットがあったら、質問者に紹介しなさい。
朕の見守るこのスレで、誉れと思って、汝のやるべきことをやりなさい。 >>49
>>78
>>82
>>101
>>305
>>341
>>346
汝は適切なアセットがあったら、質問者に紹介しなさい。
朕の見守るこのスレで、誉れと思って、汝のやるべきことをやりなさい。 >>348
質問スレ位建てろよ
えっ?まさか出来ないの? >>349
あとなここはお前が見守るスレじゃないから
見守りたいなら自分でスレ建てろやカス unreal engine 4のepic launcher見ていると
ストアにたくさんA級のゲームが並んでるけど
UNITYはどんなものが作られたのかな >>353,354
このスレは制作に関して技術的に困っている初心者のスレなのでそういう質問は
次のスレにどうぞ
【3Dゲームエンジン】Unity総合スレッド34
ttp://mevius.5ch.net/test/read.cgi/gamedev/1537359880/
【ゲームエンジン】Unityなんでも質問スレpart1
ttp://mevius.5ch.net/test/read.cgi/gamedev/1530167116/
【質問以外なんでもOK】Unity雑談スレッドその3
ttp://mevius.5ch.net/test/read.cgi/gamedev/1568370425/ >>354
ttps://www.youtube.com/watch?v=rb4Xkoek62c Unityの画像表示は1ピクセルよりも小さい単位ですよね
ということは、画像を読み込んだ後で
ピクセルの対応の設定を変更すると、
そのままよりも少ないメモリ消費で
画質を維持できるのでしょうか? Unityをビルドしたら440kbのアトラスpng画像がビルドすると8MBになったりして容量がとんでもないことになるんですが、元々のサイズの画像を使用する設定とかないのでしょうか? ちょっとぐぐった結果
ttps://www.google.com/amp/s/gamp.ameblo.jp/team369z/entry-12062027552.html アトラス化しなくても
ビルドすると元々の画像サイズ分より
容量の増加分が大きくなる
Unityの画像関連はほんと意味不明 テクスチャのインポート設定だと何度言えば
少し上で言ってたのと同じ人? >>366
画質を上げもせず下げもせず
そのままインポートさせるにはどうしたらいいんですか? >>367
圧縮なしにする
当然ファイルサイズは大きくなる すみません、少しさかのぼったらファイルサイズについてのレスが有ったんですね(294の人とは別人です)
PCのエクスプローラーから確認できる元々のpngサイズでUnity上で使うことは出来ないということでしょうか。
また、テクスチャの容量に関わる設定を調べているのですが、2D画像の場合
Max Siza, Resize Algorithm, Format, Compression, Use Crunch Compression
容量に関わる設定はこの項目で全てしょうか? >>369
多分見てるとは思うけど
ttps://teratail.com/questions/164185
この回答以降に新規項目がなければそれだけでしょ >>370
ありがとう。ここでやりくりするしかないっぽいですね
色々設定いじって最適解探してみます。 2Dイラストのアニメーションに効果音を入れたいのですが、どのような方法で出来るのでしょうか。
https://youtu.be/Nj1g0wsaiQY
これが効果音を入れたいアニメーションです。
https://dotup.org/uploda/dotup.org1983052.zip.html
プロジェクトファイルです
Unityの初心者用の書籍を買ってサンプルゲームをいくつか作成した程度で、
効果音の入れ方などは分かりませんでした。 Update()は、遅すぎることもあれば速すぎることもあり(10fpsだったり200fpsだったり)
FixUpdate()、遅すぎることはあっても速すぎることはない(10fpsはあっても速くても上限固定(60fpsとか))、という解釈であってますか? >>373
Fixedの単語意味を考えたらそういう解釈にはならないと思うんだけど、、、
固定なんだから自分で設定したフレームレートだよ
正確にはシングルスレッドだから1Updateの経過時間をfixedDeltaTimeで割った回数連続して呼んでそれっぽく振る舞ってるだけだけどね キャラクターは別の3DCGソフトで作ったのを持ってくると思うのですが、
地形やエフェクト(パーティクル)の場合は、
Unityに付いているモデリング機能やパーティクル機能を使って表現するのが普通ですか?
それともMayaやC4Dで地形やエフェクトを作ってそれをUnityに持ってくるのが普通なのでしょうか? >>373
ttps://docs.unity3d.com/ja/2017.4/Manual/TimeFrameManagement.html >>381
そういう意味で言うと、じゃMaya持ってるかどうか?
この板で素人がほぼ無課金で制作しようという中で聞いてどういう一般的なことが出てくるか?
まぁそう言うこと
人それぞれとしか言えないでしょ 作りたいものに合わせなされ。
マヤじゃなきゃ作れないものなら当然マヤいるし。
買うのが困難で、代用で妥協できるならそうする。
形から入る人はみんな最初そう聞くねw >>372
アニメーションイベントでトリガーする、
ステートマシンビヘイビアからトリガーする、
アニメーションの再生をスクリプトから指示しているなら、指示のついでに音を鳴らす指示も出す、
あたりかな。
いちばん簡単なのはたぶんアニメーションイベント。 >>372
アニメーションイベントが楽かな
ttps://i.gyazo.com/be693701dd21506d42fa0e838d860868.png
該当フレームの所でミギクリか左にあるイベントの+キーでイベント追加
スライムにはAudioSourceとスクリプトをアタッチ
アタッチしてから再度イベントをヒダリクリックすると
ttps://i.gyazo.com/ab682f01ed67fa1d58bdea609818f3a1.png
このようにファンクションが選べるのでそれを選択
詳細は
ttps://gametukurikata.com/se/bgmse#toc3 でも見て下し ぬしゃらよ、ぬしゃらあこれは最高の格闘ゲームかね?
eスポーツのネタとして取り上げられそうかね?
https://youtu.be/PFTj7vrNzzw
ふぉっふぉっふぉっふぉっ。 >>388
だからお前はここに来るなよ
自分で質問スレ建てろや
それくらい出来るだろ >>386
アニメーションイベントで作りたいと思います。どうもありがとうございます。
>>387
画像で分かりやすく教えてくださりどうもありがとうございます。
サウンドのスクリプトも記述していただいて本当に感謝します!
紹介して頂いた参考サイトを見て勉強したいと思います。 いやあ『エアリーユナの大冒険』って最高の格闘ゲームですよ!!
やべぇちょっと笑たwwww
てかこれよりまともなの作ってる奴この板にいるんだろうか
ちょっと疑問
>>384とか>>385とかよりよっぽどマシに見えてきたわ >>391
これよりまともかわかりませんが、ギャラクシアン作りましたw >>394
あ、それ前に別スレで見たよ
作者さんですか?
名前バレしてるし今後小手ハンにしてアドバイスとかいかがですか?
こんな初心者スレじゃ物足りないかもですが なんか64bit対応したら
画面がフリーズしたりすること多くなったんですけど
64bitにするとそんなにメモリ消費が増えるんですかね
描画方法とかが勝手にハイスペック用になったりしてるんなら
どこをいじればいいのか教えてください >>395
初心者レベルに毛の生えた程度なので…w ビルドするとOnTriggerEnterが機能しなくなるんですが
同じような問題抱えてる人いますか?エディタでは動くんですが。 >>400
「unity ontriggerenter 実行時 反応しない」でググっても何もないですね
最小限、オブジェクト2つにして単純にブツかるだけの新規プロジェクトで試してもそうなりますか?
てあればバグの可能性もあるのでバージョン書いてみて
試してみますよ >>401
レスありがとうございます。
フォーラムを探っていたら同じくOnTriggerEnterが動かないという話が出ていました。まだ最近の投稿です。
英語不確かなんですがUnityの最新版がPhysxに対応できていないのかなと。
https://forum.unity.com/threads/ontriggerenter-not-fired.719165/
とりあえずバージョン変えてやってみます。 FPSを表示してみたところ、変な挙動をしているようなので質問させてください
まず、家の背景モデルを制作して、それでは頂点数が高すぎたので1/5くらいまで減らしました
その他
面数約1/10
オブジェクト数1/10
マテリアル数1/3
FBX自体の総データ量1/100
これでFPSを表示してみたところ、何故か削減前の方が異常にFPSが高く表示されています
気になって、デフォルトキューブを追加して、これだけの表示に切り替えてみたところこちらの方がFPSが低いという結果になりました
修正前:240 修正後:125 キューブのみ:99
何度試しても大体同じ結果になります
テスト用に作成したプロジェクトなので、設置している物はMain Camera、Directional Light、各FBXオブジェクトのみ
その他一切のスクリプトやアセットもプロジェクトには含まれていません
FPSが正常に表示されない原因として、何が問題となりうるでしょうか?
Unity2017.4.15 64Bit版です
https://i.imgur.com/Zej2t27.png >>403
「unity fps おかしい」でググったけど次の様なのは見た上かな
https://teratail.com/questions/167839
とか
https://www.nobuhirosaijo.com/tech-gym2018/setting-framerate-in-unity
とかで固定にするとか
で最早その上のベータ版での質問やこう言うのは初心者レベルを越えると思うので通常の質問スレに行って下さい
無いからって言うなら建てなさい >>397これだれかよろしくお願いします。
ちなみにこのときUnityのバージョンも
2018から2019にあげました
スマホはAndroid9です >>406
「unity 64bit対応 重い」でググrと
ttps://t witter.com/ryuusin_nca/status/1038342202919796737
とか
ttp://fyama.h atenablog.com/entry/2017/07/08/223623
とか出てくるけど
見てるんだっけ
他はわからんですよここ初心者スレなので 64ビット化でいろいろメモリ量やら負荷か増えるんでしょうかね。
もともとハイエンドからローエンドの幅があるアンドロイドだと64ビット化は格差を増大する可能性は考えれそうです。
スイッチは、32ビットにするしかなさそうな… OnTriggerEnterのバグはバージョンを最新ベータ版の2019.3b9に変更したら直りました
このために1週間潰れましたが、他にも被害者出そうな気がしますね。
リリース版でトリガー使えないのは致命的では。 >>410
そこら辺は紹介のフォーラムに書いてあるけど
実際ベータ版で開発するってないと思うので被害はそんなにないでしょ
会社であれば安定した正式版で、リリースまでいきますし
最新にするにしてもリソースは別にするから
まさか会社でベータ版で開発してリリースしてるの?
それどんなタイトルかリークしてくれると凄い情報なんだけど
まぁ初心者スレでの話題ではないですね >>411
さすがにベータ版で開発するほど初心者ではないんですが
自分は2019、1&2リリース版で開発していてこのバグに遭遇しました。
それで11/1に出たベータ版でようやくバグ回避したという話です
フォーラムにも書いてありますがリリース版でこのバグに対応するのは2020ということなので致命的ではと思ったまでですね。 >>403
CPUの負荷があがってるのが気になるね
バッチもかなり効いてるからその違いじゃない? >>412
ちょっと気になったので試しました
当方 2019.2.5f1 と2019.2.6f1 の環境
2Dプロジェクトで両方テスト結果、問題なくOnTriggerEnter2Dは起動しました
3Dは2019.2.6f1のみテスト、結果これもOnTriggerEnterは問題ありませんでした
テストスクリプト
https://i.gyazo.com/0b6fcf7a85d02ae11d12b6f60ed35019.png
https://imgur.com/a/ViQWax5
もしかして何か他の要因があるのでしょうか・・・
まぁこの後はUnityさんへバグリポートですかね
こちらでは再現できないので、バグ再現する方のリポートで救われるかもしれませんし・・・
もしかしたら最新正式リリースの2019.2.11f1でなるのでしょうか・・・ うーんなんか色々見て見たら
PhysX 4.1SDKとか導入してるとエラーになるのかなぁ
まぁ初心者じゃこれはまず入れないから自分はエラーにならずに済んだのか
2019.1や2で普通にエラーになるなら大問題になってるハズだし・・・
どうなんだろ・・・ 助けて下さい…
Unity2019.2.8f1でAndroidアプリを作ったんですが
txtファイルへの書き込みができません(読み出しは可能)
調べると、player settingsのAndroid->Configのwrite permissionを
External(SD Card)にすれば書き込めたとの報告がいくつかあったので
その通りにしたんですが、結果は変わらず書き込めませんでした。
読み出しができているので、パスが間違っている事はないと思いましたが
念の為、取ったパスをtxtコンポーネントで可視化してみましたが、問題なく
その場所にファイルは存在しました
Unity Editorでは読み書きともに問題なくできているので、Android固有の問題
だと思いますが、write permissionの変更以外で何か方法があれば教えて頂きたいです。 >>416
アセットを買ってみましょう!
救われますよ! すいません書き忘れました
Androidバージョンは5.1.1と8.0で試しました
StreamWriter wf = new StreamWriter(filePath, true);
wf.WriteLine(stringData);
wf.Close();
書き込み処理は上記3行のみです >>418
パスはどう取得してます?
persistentDataPath使ってます?
だとするならダメみたいな記事がたくさんあるよ >>419
ありがとうございます。
https://i.imgur.com/mvYaYPP.jpg
ファイル名とファイルまでのパスはこれで取っています >>413
という事は、PCが自ら無理矢理FPSを上げているという事でしょうか!? >>420
Application.dataPathって最後はスラッシュ?
うーん関係ないか、、、 >>422
規制でURL貼れませんでしたが、この記述で読み込めますよと
書いてあったブログを複数見つけたので、その記述を流用させて頂きました。
今日も一日中やってましたが相変わらず解決しません…
既に完成していて、UnityEditorではエラーも出ず、ちゃんと読み書き共にできているので
あとはAndroid実機でtxtへアクセスできれば終わりなのですが…
どなたか分かる方いらっしゃいましたら、何卒アドバイスいただきたいです。 こうならないと行けないと思うので
Application.dataPath : /data/app/xxx.xxx.xxx.apk
Application.streamingAssetsPath : jar:file:///data/app/xxx.xxx.xxx.apk/!/assets
スラッシュが足りてない気がするんだけど 色々やってみましたがアプリ名の1文字目が大文字だったのを小文字にしたら
書き込みはできるようになりました(com.Axxというフォルダ名がcom.axxになったから?)
が、今度は2回目以降の読み込みができなくなりました
ttps://templa00.blogspot.com/2017/02/unityandroid.html
ここを見るとAndroidのファイルアクセスはかなり面倒くさいようで、
初回アクセスと2回目以降のアクセスでアクセス方法やパスを変えないといけないようです
ほぼ間違いなくこれが原因で2回目以降の読み書きができていないんだと思います
正直ちょっと難易度高くてどう書けばいいのか分からず… >>421
ここの表示はscene viewの更新分も含まれてる気がするから、game view だけ表示すれば少しだけ正確になると思う
簡易的でいいならUpdateの中で Debug.Log( 1.0f / Time.deltaTime ) で表示するといいよ >>425
ちょいと気になったんだが
>StreamWriter wf = new StreamWriter(filePath, true);
ここなんでTrueなの?
実はこのテストするのにTrueでやってたら追加書込みになって2回目のデータ取れねぇって
悩んだ
一応単純な書き込み、読込みのテストしたけど問題なかったです
確認はNoxPlayerと実機(Android7.0)
画面とソースです
ttps://i.gyazo.com/ba955e0fe888a4574956359ce5780071.png
ttps://i.gyazo.com/56bd2434f829ca8ec99668da6b63a476.png
そちらでもこのような単純なコードで問題なければ、他の原因かと・・・ まぁテキストファイルならplayerPrefs使うのでもいいかな >>414
OnTriggerEnterは2019.3b9でもまた動かなくなりました。
今は2019.2.11f1で作業中ですが、動かない条件としてはスタート時に
ResouceloadかAddressableでコライダ入りのプレファブをロードする仕様のゲームを
iphoneにビルドすると発生します。エディタ上ではこのバグが発生しません。
シーンに直置きしているコライダーの場合はビルドしても動きます。
タグの条件分岐もなしにして当たったコライダー全部拾えるスクリプトも作りましたがこれも反応がないですね。
フォーラムで語られてるバグとは別のバグに遭遇してるっぽいです。 一応ランタイムでのコライダオンオフとコライダーのコピーペーストも試しましたがダメですね。 void OnTriggerEnter (Collider other)
{
if (other.gameObject.name[0] == 'A')
{
}
}
タグ分岐じゃなくてオブジェクト名で分岐したら動くようになりました。
どうやら原因はタグだったよう…。 ほー
nameでオブジェクト名が取れるのかー
知らんかった
お前すごいな オブジェクト掴みたいんですが吹っ飛んでいきます
何かいい解決方法ありませんか? OnTriggerEnterでタグがつかめないという話は数年前からあるけどずっとバグが放置されてるっぽいね。
できるだけタグは使わん方が良いかも。 俺もタグは使ってないなー
nameプロパティか、レイヤーIDで判別してる >>435
も少し具体的に言ってくれんと全くわからんで
あなたの作ってるのがどんなのか誰も知らんので
何をやってどうしたいけど、こうならないと、書いて
出来ればソースも載せてね >>440
https://atl-hiroo.recruit-tech.co.jp/2018/01/unity_leap-motion/
のInteraction Engineを追加までしたのですが、オブジェクトが吹っ飛んでいきます
指とオブジェクトの位置関係からつかみ判定実装しないとだめですかね? >>441
その記事にもかいてあるけど
Core機能だけでは衝突判定がデリケート過ぎるために、Cubeがあらぬ方向に弾け飛んでいったりすると思います。そういう時にはLeap Motion Interaction Engineモジュールを追加してやるのですが、これは次回の記事で説明
次回の記事がないのでブログの人に聞いて見るしかないでしょ
流石にこの板でこういうレアな物使ってる人居ないと思うよ
通常の質問スレか総合スレなら或いは使ってる人居るかも知れないけど >>442
アドバイスありがとうございます
衝突判定切ったオブジェクトを別のオブジェクトに追従させる場合、transform.positionで位置上書きすればいいですかね?
オブジェクトのインスタンス指定の方法とかが分からず、、 >>443
オブジェクト 追従でググるとたくさん出てくるよ
ttps://gomafrontier.com/unity/2056
こんなのとかいいかと >>444
追従コライダースクリプトいいですね
挑戦してみます! >>433
それ比較するなら念のためupperケース入れた方が安心 DynamicBoneに関しての質問なのですがよろしくおねがいします。
https://twitter.com/muta_shinki/status/1027131752203005953
https://twitter.com/Shavarkoon/status/1162728909583945728
この2方のRadiusの値が大きく違っています。前者の方の数値で設定するとコライダー?球体がかなり大きくなっておかしくなってしまいました
なぜ数値と大きさが違うのでしょうか?
後者の方は新しい情報なのですが、ユニティの方で数値の基準が変更されたとかでしょうか?
https://twitter.com/5chan_nel (5ch newer account) スカートの大きさが違うだけでしょ
人のじゃなくて自分の玉の大きさを見て調整しなきゃ
そのために表示されてるんだから RPGなんかでキャラが動いていくと
その先のマップが自動で現れたりするのは
どうやってるのでしょうか
キャラの座標で条件づけ? >>449
それでいいと思うよ
まず思い付いたら試す
躓いたら「unity RPG map」等のワードでググる
ググって、あれこれ試してどうしても出来なかったら、やったことを列挙して再度ここで聞くといい >>449
アセットストアで マップで検索すると有料アセットが出ますよ アセットを使わずオブジェクトに色を塗ったりできますか?
例えば3Dに家に汚しを入れたり蔦を絡ませて廃墟っぽくするとか >>452
当たり前じゃ!!
壁に汚れの入った画像や、屏に蔦の絡まった画像をインポートしてオブジェクトに貼り付ければいいのじゃ、ぬしゃあ。
ふぉっふぉっふぉっふぉっ。 terrainでカーソルの位置の座標を知る方法ない?
山の中腹にぐるっと一周set height で平面道をつくりたいけどy座標がわからないのでsetできない 平均ペン先選択で、シフト押しながらクリックすると、そこの高さを取得 平均ペン先選択…ちょっと難しいようなので地道にやっていくます
もう一つ質問ごめん
山を作ってるときに一定の高さになるとドカンと最底辺まで穴が空く現象の対処法ある?
前はこんな現象なかったように思うんだけど急に山が作れなくなった。 >>458
terrainのところ、最初から勉強し直した方がいいと思うよ。読み返す程度で、数時間見たら?
なんか適当に触れた感しか感じない。 terrain設定の歯車のMesh Resolutionの高さをいじればとりえず限界値は上げられた(超えたらやっぱり穴が空く)
もともとこんな仕様だったかなぁ >>461
おっしゃるとおり。
ゲーム作りたいんじゃなくシムシティみたいに風景作って遊びたいって程度で始めたので勉強してない
このままじゃ質問止まらなそうなので質問控えて勉強してみるサンキュー windowsでiosのビルドするのが色々面倒すぎるので、iosのビルドのためだけにmac買おうと思ってるんですが、
旧型すぎてunity動かないビルドできないは話にならないし、新しすぎると無駄に高い買い物になるので
unityが動いてビルドできるmacで性能と価格のバランスのいいモデル教えて下さい
ちなみにiosアプリってandroidのapkみたいに、apple storeに並べなくても実機とUSB接続でインストールできますよね? winからmacへ毎度移動してコンパイル?
その方がめんどくさいと思ったけど…どうなん? ぬしゃらよ、ぬしゃらあ、
terrain
何と読むか知ってるか?
まさかテラインとかタレインとか読んでるやつはいないよな?まさかなw
トレインと読むんだよ。
ふぉっふぉっふぉっふぉっ。 iOSアプリ作ってみようと安いmac mini買ったら動作が重すぎてそれがストレスでやめちゃった >>469
> terrain
まずなこういう単語は分ける前半、後半に分ける
terとrain
すると前半は駅とかのターミナルterminalのターだ
後半は雨、つまり降る雨、冷たい雨のrain、レインコートやレインボーなどのレインだ
よって合わせてターレインと発音する
分かったかい
これで一つ賢くなったな Unityでゲーム再生中の動きをモーションデータ(アニメーションクリップ)として保存する方法はないですか? そらこそ、アセットで探すしかないか、自分でスクリプト組むしかないねぇ。 360度映像を自動で横回転するようにしたいんですが、どうすればいいですか?
スタンドアロンのDaydream使ってるのでキーボードとかは使えないです VR系を初心者スレで聞かれてもなぁ
とりま「daydream unity 開発」とかで検索した?
してるならフォーラムにあるサンプルのソースでも見てみて色々弄るしかないと思う
まだまだ前例が無さそうなので人柱になってください
んでunityVRスレ作るのがいいと思うよ ゲームパッドを無効化するコマンドラインってありますか? 半透明の物の重ね合わせってのは今も普通の手段だと有効な方法ないのかの?
OrderIndependentTransparecyとか用語が引っ掛かったけど。レンダリングパイプライン自分で実装してそれをうまく動くようにする必要がある? 質問する人へ
誰もがあなたの環境を知っている訳ではないのですよ
最低限、どういう環境でどのような事をしたく、どこぐぐってそのようにやったけど、何々がうまく行かないと言うように具体的に書いてね
無理なら次のスレで質問しよ
【ゲームエンジン】Unityなんでも質問スレpart1
http://mevius.5ch.net/test/read.cgi/gamedev/1530167116/ 最新verのunity
build settings で、Build and Run を実行すると、フルスクリーンで実行されますが
EscキーでもF11キーでもフルスクリーンが解除できないので、Ctrl+SHIFT+Escでexeファイルを停止させてます。
普通に止める方法はないのでしょうか?
Display Resolution Dialog を Enabled にしたら、今後将来的にこの機能は廃止されますと出るし、あまりいい方法ではないし・・・ https://www.cg-method.com/entry/unity-chara-run-jump-follow-camera/#i-4
ここの【アニメーションの設定】にある画像のチェックボックスが付いた項目をどうやって出現させるのか分かりません
Idle Changer、Face Updaete、Auto Blinkfor SD、Spring Manager、Random Wind、Ik Look Atです
嘘みたいですけどこれだけでもう7時間ほどパソコンとにらめっこしてます >>489
実際ににらめっこしてたわけじゃないんですがやはりそういうレスになっちゃいますよね
すいませんでした流してください >>488
恐らくスクリプトがエラーになってないですかね?
当方2019.2.6f1の環境で
https://i.gyazo.com/673db055b382f3efd998f307caef11ea.png
新規プロジェクトでSD_UnityChan-1.unitypackageをimportした「だけ」の状態だと
上記エラーが出ました
なのでとりあえず該当の行をコメントしたところ
//using System.Security.Policy;
エラーは回避しましてプレファブを配置
https://i.gyazo.com/00431ed88dd87bcad747ea3e4851502e.png
するとインスペクタ上にスクリプトが表示されます
この状態確認だけなのでスタンダードアセットのインストールはしてません
あしからず Maya上では、blendShape1というノードのパラメータを1ついじると、眉毛や肌、まつげなど複数のオブジェクトを1度に変形できますが、
Unity上ではオブジェクト毎にSkinMeshRendererのパラメータをイジらないと変形させられない感じですか? playmakerのみノンコードで作られてるゲームって何かあるんでしょうか? クラス名の頭文字は大文字
メソッド名の頭文字は大文字
メンバー変数名の頭文字は小文字
Vector3 みたいな UnityEngine のものを
メンバー変数のように使う場合って
頭文字は大文字?小文字? >>495
メンバー変数なら小文字でしょ
ゲッターセッター使えるし >>326
やっぱり公式チュートリアルサイト消滅したんすね…
どのサイトも触れてないから自分のググり方が悪いのかと
どっかで見れませんかね? System.Action を型としてメンバーに定義する場合
名前の頭文字は大文字?小文字? システムの事じゃないんだけど、カウントダウンしてゲームスタートさせたいとかしたい場合はシーン全体を管理するのを作った方がいいのかな?
0になるまではプレイヤー動かせなかったり敵は表示してるだけで勝手に動かなかったりするには すまない
読んだ上で聞きたいんだけど
C#だと
enum と
const と
System.Action を
型として定義したものの名前は
Pascal形式 Camel形式 全て大文字
どれで書けば良い? >>505
簡単に言うと「パラメータだけCamel形式、他は全部Pascal形式、短縮するよりわかりやすさを優先する」です。もうハンガリアン記法は使わないのですね。
型と表記を分離するという思想であれば、定数についても全部大文字ではなくてPascal形式にするのが正しそうです。誰かと協業するわけでもなく個人のツール作成に使うものなので、どうでも良いといえばどうでも良いのですが 大事なことなので
誰かと協業するわけでもなく個人のツール作成に使うものなので、どうでも良いといえばどうでも良い 綺麗なカジュアルゲーゲーム作れる奴が羨ましすぎて腹立つわ
絶対くいpはぐれないじゃん。 >>506
ハンガリアンもどっちのハンガリアンなのか >>510
ハンガリアン記法は使わないのですね。
ハンガリアン記法は使わないのですね。
ハンガリアン記法は使わないのですね。 >>508
アセットを買えば綺麗なゲームも簡単だと思います ランダムに数字を生成して出た数字で行いたい処理を決めたいのですが
if (Random.Range(1, 3) == 1)
{
「行いたい処理その1」
}
else
{
「行いたい処理その2」
}
とやって、1〜2の数字をランダムに生成して
1が出たら「行いたい処理その1」それ以外は「行いたい処理その2」と出来たのですが
生成する数字を1〜5にして
1が出たら「行いたい処理その1」
3が出たら「行いたい処理その3」
4が出たら「行いたい処理その4」
という風にしたい場合はどのように記述すればいいのでしょうか。 >>514
分岐が3つくらいまでなら乱数を変数に保存してifでもいいかもね switch 文でやってみたら出来ました!
ありがとうございます! ついでにint管理じゃなくてenum定義すると便利よ
1がどの処理で2がどの処理でって覚えなくて済む >>504
まだ実際に作ってないわ、頭の中でどっちがメモリとか追加機能で便利か考えてる中質問した >>519
じゃ作ってみてそれから考えるといい
メモリ管理とかそういうのは初心者が考えなくていいよ 5つのアニメーションクリップを作り、
初期状態のアニメーションクリップからランダムで4つ何れかのアニメーションクリップに遷移させたい場合、どうすれば実現できるでしょうか。
初期状態のアニメーションクリップの最後のフレームにAdd eventの+を設置してスクリプトで指示を出すのだと思うのですが、そのようなことができるでしょうか。
わかる方いたらヒントをください。よろしくお願いします。
https://youtu.be/2mymw7lxSvg
https://dotup.org/uploda/dotup.org2000038.rar >>521
anystate からそれぞれ遷移の線を引く
パラメーターintを作る
スクリプトでランダムに数値を取得
それを当てはめる 線を引いたらそれをクリックしてプラスキーでパラメーター指定できるから
そこで数値指定するのよ AnimatorのParametersからIntを設定するやり方はわかったのですが
State同士をつなぐ線の数だけIntを作るのでしょうか。
Intの右側にある数字を入力する窓枠も何を意味するのかよくわかりませんでした。
今の段階ではスクリプトも書けそうもないのでもう少し勉強してから改めて質問します。 int はひとつ、それをスクリプトで数値を変えられる
setinteger だったかな
ググると色々出てくるとおもうよ
左の枠のとこはエディタでテストするときに自分で入力して遷移を確認できる >>526-527
詳しい情報を載せてくれてどうもありがとうございます。
今日は完全にあきらめてUnityの初心者用の書籍(猫の表紙の本)を買ってきてC#の基礎を勉強していました。
基本的なことが分かっていないのでソースを見ても理解ができていない状態です。
ブログの記事のソースが読めるようになれば実現できると思います。
自分一人ではこのブログにたどり着けなかったと思うので助かりました。 >>528
アセットを買えばC#の本も要りませんよ すまない、本当に分からない
下の例文を正しく書きなおしてみてくれないか
それで分かる
助けてくれ
これと
public class Option : MonoBehaviour
{
static private System.Action OptionCallback = null;
} これと
public partial class Home : MonoBehaviour
{
private enum Menu
{
Title = 0,
StageSelect,
Stage1,
Stage2,
Stage3
}
} public partial class Home : MonoBehaviour
{
private enum Menu
{
Title = "TITLE",
StageSelect = "STAGE_SELECT",
Stage1 = "STAGE_1",
Stage2 = "STAGE_2",
Stage3 = "STAGE_3"
}
} これを頼む
public static class GlobalValue
{
public class Scene
{
public const string Home = "Home";
public const string Stage1 = "Stage1";
public const string Stage2 = "Stage2";
public const string Stage3 = "Stage3";
}
} unityからC#スクリプト作成しようとして、
visual studio立ち上げるとインテリセンス全然働かないんだけどなんで?
transform.Translate()
とか使おうとするとエラーでる・・・。 >>535
参照が外れてる
直すの面倒だからサイインスコ推進 下の例文を正しく書きなおしてみてくれないか
> それで分かる
> 助けてくれ
それでどうにか私でも解ると思います
どうかお助け下さい
宜しくお願いします >>536
ありがとうございます。
でも、なんかしょっちゅうこういうことが起きてるんですけど、
Unityってこんなに安定していないものなんでしょうか? >>541
そんな言葉使いは良くないな
そもそもプログラムを例文とは書いてないしな、文としては日本語の部分かと思ったから直したんだよ
人に聞くような文にな
でだ
そのプログラムを直すなら
>506にも書いてある通りどうでもいい
誰かと協業してるならそこのルールに従いなさい
一人で作ってるなら解れば問題ない
どこかのテスト問題ならそこの先生に聞け >>538
オブジェクトをインスペクターで貼り付けてあると、スクリプトの修正の仕方で、リンクエラーが出る時がある、それが、リンクリスト?に影響を与えて参照がおかしくなる。
問題のスクリプトを修正すると、全体に起きていたリンクエラーも直る floatとかdoubleはインテリセンスで表示されるんだけど、
Input.GetMouseButtonDown(0)
とかはインテリセンスで表示されないものなのでしょうか?
入力ミスのバグが多くなりそうでしんどい。 >>544
???
エラーが出てるときにVisual Studioでスクリプトをどこか修正して保存したら直るっていうことですか? エラーというか、赤線が大量に出てない?
そうじゃなきゃ、すまん、思い違いです。 >>545
floatとかdoubleはc#の基本機能なので出る
Input.GetMouseButtonDown こっちはUnityの機能なので出ない
という事で参照が外れてる
一応、ググル(unity c# インテリセンス)と修正方法書いてるとこあるけど
https://qiita.com/AM23Ti/items/b03d7d58ca92890c8d00
とか
https://qiita.com/junkeymonkeybaby/items/5ff56e34cd3e2260c80d
とか
でもこれってそのプロジェクトだけで他のプロジェクトをやるとまたでない事があって
自分がなった時は結局サイインスコが一番だと思った >>548
ありがとうございます。
でも、再インストールしてもやはりInputとかはでてきません・・・。 >>549
それってunity だよね?
VS 単体のサイインスコじゃいみないよ >>548
ありがとうございます。
2番めので解決しました。
これでようやっとまともにプログラミングできます。 >>550
ありがとうございます。
Unityの再インストールしていましたが、
VSは以前からUnity以前から使っていたので、関連付けがなされていなかったようです。 unityでプログラミングしてるけど動作が重い・・・。
2Dでもこんなに重いのか。
5年前のi5+SSD程度で開発するのが間違ってるのかな? スプライト1万w
いや、UnityからVS立ち上げたり、閉じたり、実行のためにコンパイルしたりで時間が・・・。
チョコチョコ動作確認しようとすると、上の作業を行うのに時間がかかります。
なんか上手い手はないのだろうか? コンパイルってまさかスクリプト変更して毎回ビルドしてないよね?
unityに移ると自動でコンパイルするけどそれが時間掛かってるってこと? あと毎回閉じる必要ないよエディタは立ち上げたままで 再生ボタンみたいなの押すと時間がかかるなと。
あー、VS閉じなくてもいいんですね。
そりゃそうか・・・。
これだけでも時間短縮できる。 >>527
おかげさまでようやくアニメーターの動きが作れました。
どうも有難うございました。 Unityでつくってbuildするものに、
使用期限を加えるプログラムって付け加えられますか?
例えば2020年の8月1日になったら立ち上がらなくなるとか。 >>560
unity IAP で出来そうだけど初心者向けではないので
【ゲームエンジン】Unityなんでも質問スレpart1
http://mevius.5ch.net/test/read.cgi/gamedev/1530167116/
へどうぞ >>561
ありがとうございます。そちらに行って聞いてみます。
マルチポストにならないようこの質問はここで終わります。 Unityって、プロジェクト名 や .apk 名に
スペースを入れると何かまずいことってある? わざわざそんなこと試すだけ時間の無駄だろ。なんでスペース入れようとか思うんだよ >>564
やってみた
とりあえず出来たけど、今後なんか問題ででくるのかなぁって
>>565
ゲームタイトルにスペースを入れたい >>470
自分も検討してたんですが、あれってそんなに遅いんですか。
一つの方法は、マルチプラットライブラリを使ったプログラミングして、
Androidなどでテストしておいて、時々 Mac+iOS端末 でもテストするという
方法だと思うんです。やはりiOS端末を買う必要がありそうですが。 こういうキットの難点は、自分で作った感が無いので作品の誇りをもてなく
なってしまうことです・・・。 超合金ロボットと、プラモデルでは後者の方が自分で作った感があるので
男の子に人気です。
それから、グラフィックモデルを作成するツールがあったとしても、
使いこなすのに「絵心」が必要であれば、それがないプログラムには
反って何もすることがなくてつまらなくなるでしょう・・・・。 >>571
誤:使いこなすのに「絵心」が必要であれば、それがないプログラムには
正:使いこなすのに「絵心」が必要であれば、それ(=絵心)がないプログラマには OSからチップまで全部1人で作りましたってやつ出てきても良さそうなのに出てこないな ウエハーゲットしてから完成まで
製造機器揃えるまで何百億円かかるし そういう問題じゃなく、余り色々なものが揃いすぎているとアマチュア
プログラマに大事であるところの技術アピールをすることが難しくなる。
若いプログラマがゲームを作る動機の一つは、技術アピールして良い
ゲーム会社や良いIT企業に就職できる選択肢を増やすことなんだかr。 雑談やら煽りは別スレで思う存分やってくれ
ここは俺が作ったスレなんでな、継のスレいけや
【質問以外なんでもOK】Unity雑談スレッドその3
http://mevius.5ch.net/test/read.cgi/gamedev/1568370425/ >>566
やってみて問題ないならそのままでいいし
不安ならスペース抜きで作ればいい
スペース有り無しがそのプロジェクトに取ってmustで重要ではないでしょ?
ならあまり、そこを考えても仕方ない >>566
ゲームタイトルにいれたい
と言うことは出来た実行ファイルを変えてもいいし
ゲーム開始のタイトルをそうしてもいいだけだと思うよ public class Test : MonoBehaviour
{
protected void Start() { Hello(); }
protected void Hello() { Debug.Log("Hello"); }
}
public class Test2 : Test
{
//new void Start() { Hello(); }
new void Hello() { Debug.Log("こんにちは"); }
}
StartメソッドをオーバーライドせずにTest2のHelloメソッドを呼びたいのですが、方法はあるのでしょうか
素直にStartを上書きすればいいとは思うんですが、もしできたら便利なので知りたいです >>581
ちょうど最近同じようなことやったのが次のすれに
製作途中で得たUnityのミニ知識を披露するスレ
http://mevius.5ch.net/test/read.cgi/gamedev/1511784235/
の51の記事に書いといたので見てみて >>565
初心者にとっては全ての経験が身になるし文字だけより経験することで理解が深まるから五分程度で出来ることは無駄ではないよ
初心者スレなのでやってみて、その上で解らない事を聞くようにしましょ >>583
いやファイル名から何から日本語とかスペースとか鬼門やん?なのになんでわざわざ地雷踏みに行くんだよと >>584
何時の時代?
unicode なら別に問題ないでしよ >>581
やりたいことは分かるが、その為にあるのがオーバーライドだぞ
親クラスのメソッドをprotected virtual void Hello()みたいに抽象化しておいて、子クラスでprotected override void Hello()と実装する
これで親クラスのStart()で呼ばれるHello()は自動的に子クラスで実装したHello()になる ちなみに、新規でプロジェクト作成する場合
下図のようにスペース入りでプロジェクト名が付くよ
https://i.gyazo.com/5076aa36a4400a17f8216df5b1b44e5d.png
不安ならスペースだけ半角にしてもいいんじゃない >>585
そう思うだろ?
いまだにファイル名とかで日本語入れたりなんかすると挙動おかしくなるソフトあるぞ >>588
アセットとか英語のだとなるね
そういうのは注意が必要
まぁアセット関連はこのスレでは対象外 const って定数名、全部大文字にするもの?
いままで大文字でやってたけど
大文字だと define で定義したものとダブる可能性があるから
Pascal形式で書くのが良いと聞いたけど実際どうなの? const って定数名、全部大文字にするもの?
いままで大文字でやってたけど
大文字だと define で定義したものとダブる可能性があるから
Pascal形式で書くのが良いと聞いたけど実際どうなの? >>591
このスレの>506前後見てみて
なるべく過去の見てから質問しよ
そんなに時間掛かるものでもないし
読んで理解するには多少の時間は必要なんだし >>590
constは使わないでstatic readonryを使う
今のUnityはdllを分ける機能があるからバグ避けのためにコンパイル定数は避けておくのが正しい
命名規則に関しては名前で定数かどうか判断できることに何の価値があるか考えて決めたら良い
俺は意味ないと断じて普通のプロパティと同じ扱いにしてる >>594
つまり
constName
みたいな初め小文字で、次の単語の初めは大文字ってことでOK?
>>593
>506にまともな回答なくね? 定数についても全部大文字ではなくてPascal形式にするのが正しそうです。誰かと協業するわけでもなく個人のツール作成に使うものなので、どうでも良いといえばどうでも良いのですが プロの現場でどうしてる?という質問ならスレチだよ
あくまでここは初心者が答えるスレ >>598
そういうのもスレチ
そもそも俺のスレだし 俺のスレとかしょうもない主張すんなよ鬱陶しい
初心者質問スレなんて主張するほど目新しいもんでもないだろ。どんだけ器ちっさいんだよ >>600
はぁ?
未だ質問スレも建たないんだぞ
初心者スレだってまったく建たなかったんだよ
まったく、スレも建てられず、質問の答えも書けないのによく吠えること
雑談スレにでも行ってね 弟子みたいな障害者まともに相手してたらキリがないぞ?w pngのドット絵をSceneに配置して再生すると、Game画面ではドットがつぶれてしまうのですが、どうすれば元画像のまま表示させることができるでしょうか。
http://s.kota2.net/1575534146.png なんでscale 5倍になってるん?
1倍で見てみて 右のInspecterのTransformのScaleに大きな数字を入れたらダメですか 2019.3 0f1にアプデしたら以下のエラーを喰らいました
>Library\PackageCache\com.unity.2d.ik@1.1.0-preview.2\Editor\IKEditorManager.cs(5,36): error CS0234:
>The type or namespace name 'Common' does not exist in the namespace 'UnityEngine.Experimental.U2D' (are you missing an assembly reference?)
調べたら同じエラーの解決方法を探している人がいてパッケージマネージャーの依存関係が上手くいってないので2D IK package to 1.3.0-preview.1にしろという回答を見つけました
https://forum.unity.com/threads/script-associated-with-unity-2d-ik-has-a-namespace-which-cannot-be-found.738098/
しかしパッケージマネージャーの最新版はプレビュー込みでも1.1.0-preview.2なので困っています
1.3.0-preview.1に上げるにはどうしたらいいでしょうか? 一応ここ見たらもっと上まであるみたいなんですがパッケージマネージャーの「+」コマンド使ってもエラーになって入れ方がわかんないです
https://bintray.com/unity/unity/com.unity.2d.ik 2Dやった事ないから、今すぐ試せないので、とりあえず、カメラの距離を近づけてみ? それでとりあえず調整できると思うけど、そんな作りなのかなあunity.
2D/3Dスイッチでパースを無くすだけ対応となってるならカメラの距離。でもそれだとw.h.はどうやって決めてるんだろう… >>614
ppuの値を小さくしてみて
実は自分の画像もサイズは960なんだけど、そのままの数値では表示おかしいの
恐らく透過部分を勝手に消して縮小しているぽいので
透過分をこ考慮して、例えば30位でやってみて
それで上手くいけば、作成する画像自体のサイズを変えてもいいし、スケール変えてもうまくいくはず カメラサイズを2.4にしてから、pixels per unitを50、pixels per unitの下にあるFilterModeをPoint(no filter)にすれば、実際のゲーム完成品と同じ大きさになるということが分かりました。
みなさんいろいろ助言を頂いてありがとうございました。 カメラを2.4にすると画面サイズを640*480にした場合
画面内に立て480横640ドット分の情報が表示されるようになるらしいです >>612
そのサイトにアクセスして、Filesを選択
com.unity.2d.ik/- をクリック
んで次「ー」クリックすると一覧出てくるので
https://i.gyazo.com/2d14f032ba67d481626b17b5673324ce.png
該当のファイルをDL
tgzファイルは一応Windows10なら解凍できると思うので解凍して
Unityの+キーでAddpackege…を選択し、解凍したjsonファイルを指定すれば行けるとおもう
https://i.gyazo.com/ba8f6e6aaa4f62b9b63eab5f8528f5f4.png >>620
丁寧に画像つきでレスありがとうございます
無事導入してエラーを消すことが出来ました
「+」の読む込みをする前にひとまずPackagesに入れたら勝手に読み込んだのでおおうってなりました Unityでは、スクリプトをオブジェクトのInspectorにアタッチした後
必ずVisualStudioを起動して「Unityにアタッチ」を押さないとスクリプトって機能しないんでしょうか?
「デバッグの停止」ボタンを押した状態だとスクリプトが動かないんですが、これは正常な状態ですか? >>623
再生ボタンを押しても、なぜかInspectorにドラッグ&ドロップしただけでは動いてくれないときがあって
スクリプトをVisualStudioで開いてわざわざ「Unityにアタッチ」ボタンを押した後に再生ボタンを押さないと動かないことがあるんですが
やっぱりこれは挙動がおかしいですよね? Unityって再生ボタンを押した後にGUIをタッチしてアクティブな状態にしてないと再生されないんだな
GUIを少し横にずらしてデスクトップを触ったりすると再生が止まるわ…原因これだ 古いバージョンでつくったプロジェクトファイルを新しいUnityにバージョンアップする時引っかかりすぎワロタ
Unity一度諦めて今再トライしているが
古い参考書のプロジェクトってほぼ今のバージョンで使えないな >>626
>220に書いてるけど、古いのでパッケージ化してから新しいパージョンで取り込みすると多少ましです
但しunity5とかそこらまで古いのは試したことないからどうなるかわからんとよ 質問です
Unity日本社の3Dモデルが公開されたという事で今更ですがダウンロードをしてみました
アセットストアからダウンロードしてインポートしてみたところ、すべてのオブジェクトがピンクで表示されておりhidden/internal error shaderとの表示が出ています
どうすれば直るのでしょうか? >>630
プロジェクトをHDRPにしてないんじゃない?
HDRPでインポートするやり方書いてあるブログあるから読んでみ PlayerPrefs.SetInt( "キー名" , 数字 );
のキー名になる文字列って大文字で付けるもの?
UnityマニュアルだとPascal形式で書いてるけど
いろんなサイトの解説だと、全部大文字が多い
どっちだろ? >>632
色んなスレで同じこと聴いて真性のだなこれは
どっちでも好きなのにしていいよ
全く問題ない、日本語でもいいぞ Animatorのparametersで作ったFloatやBoolの現状の値を
Debug.Log()で確認したいのですが記述方法がわからず困っております。
Animator _animator;
_animator = GetComponent<Animator>();
このあと、_animatorのparameterで作っているフラグのFloatやBoolを
Debug.Logで表示させるには
Debug.Log(_animator.GetFloat("Float名");
Debug.Log(_animator.GetBool("Bool名");
とかだと思ったんですが"利用できるクイックフィックスはありません"とエラーが出ます
どう記述すればいいでしょうか。
すみません教えてください。 >>634
別スレに書き込んだのは答えが返ってきてない PlayerPrefs.SetInt( "キー名" , 数字 );
のキー名になる文字列って大文字で付けるもの?
UnityマニュアルだとPascal形式で書いてるけど
いろんなサイトの解説だと、全部大文字が多い
どっちだろ? >>639
そんなもん好きに付ければいい
強いて言うならWindowsの場合はレジストリに書き込まれるから、レジストリのキー名に寄せておくといいかもしれん アセットおじ
天上太志
それに次ぐ どっちだろ? 嵐だな
これ何回も同じ質問してるので関わらないのがいいです
いくつものスレで同じ事やってます >>638
なんと、「Debug.Log」じゃなくて
「print」の方で出せば良いということですかね
ありがとうございます。 >>644
ではちょっとDebug.Logで記述してみて
同じような結果になるかやってもらっていいですか?
ちなみに自分はprintに変えたら表示できましたが
Debug.Logでは記述してもエラーが出たので。。 >>646
お恥ずかしい、、弟子さんのご指摘通り
カッコの数が違っていた様です。
経験則ですかね、自信を持った素晴らしいご指摘
ありがとうございました
以後注意しときます。 >>640
なるほど!
Android と iPhone のレジストリも大文字だっけ? >>631
なるほど!返信が遅れましたが解決しました
ありがとうございます! >>642
PlayerPrefsはデータの保護とかされてない状態でローカルに保存されるから
最悪データいじられても気にしないのであれば問題ない >>651
そう言うことですか了解しました、ありがとう
まぁこのスレ的には簡単に保存、読み込みが出来るので問題なしでしょう
暗号化等は別スレですねー上級者スレとかで >>652
アンドロイド、iphone 関連になるので次のスレで聞いてね
【iPhone/Android】ソシャゲ総合【スマホ】
http://mevius.5ch.net/test/read.cgi/gamedev/1411186985/ transform.rotateでオブジェクトをx軸に0度から90度まで往復するように動かしたいんだけど、クォータニオンってやつ使えばいいの? >>657
回転させるならアニメでやるのが簡単だ確実かなぁ いまいちFixedUpdate()とUpdate()の使いわけがわかりません。
そもそもひとつのオブジェクトで両方を使う必要ありますか?
Unity外ではUpdate()で更新はすべて賄っていたはずですし。
仮にFixedUpdate()がPC処理とは独立したフレームで
更新されて信用できる更新頻度とするなら
UnityではUpdate()を使わず、FixedUpdate()で更新はすべてまわせばよくないですか?
FixedUpdate()とUpdate()とを使い分ける意味を教えてください。
あと、2Dアクションゲームにおいての話ですが
FixedUpdate()とUpdate()とどういう処理はどちらに向いてる、とか
教えてもらえると勉強になります。 Unity外というのはUnityエンジン以外での
ゲーム制作環境のことです。 PlayerPrefs.SetInt( "キー名" , 数字 );
のキー名になる文字列って大文字で付けるもの?
UnityマニュアルだとPascal形式で書いてるけど
いろんなサイトの解説だと、全部大文字が多い
どっちだろ? Unityっていうか、C#の命名規約なんじゃないの >>659
とりあえずUpdate とFixedUpdateのドキュメント読もうや >>659
公式のは分かりにくいかもなので次の記事でもどうぞ
【Unity入門】Updateメソッドとは?FixedUpdateとの違いも徹底解説!
https://www.sejuku.net/blog/49382 >>652
そんなもん好きにしろ!
俺から言えることはそれだけだ! >>664
>Updateは毎フレーム呼ばれるのに対し、
>FixedUpdateは設定されている一定秒数ごとによばれるというものです。
要約すればこれだと思うのですが
なおさら、ゲーム制作ではUpdateだけでよくないですか?
経験値のある方、
こういう処理はFixedUpdateのほうが都合が良いよって
ケースを聞かせてほしいのです >>667
記事でも書いてるけど動きが変わってくるよ
特にラグなんかあったら顕著になる
よっくよんでね まぁ初心者的にはそんなに考えなくてupdate だけでいい
それ以上は上級者スレで聞いてください >>667
一定間隔で処理したいものはFixedの方がいいね
例えば物理演算は、その時点でのスナップショットで処理してるから、フレーム間隔が開きすぎると精度が怪しくなる
あとは通信とかでフレーム同期したいときにやり易いかもしれない
ただ非同期で動くものではないので、そこは間違えないように >>667
両方の比較してる記事とりあえず10こ読んでから戻ってこいや >>671
質問スレ建てられないからってこのスレでそういう煽りはしないでくれ
そういうのが初心者減らしに繋がってしまって技術の底上げもユーザー数もなくなり最終的には自分の首を絞めてるのに気付け 煽りたい人や初心者よりもっと込み入った質問は次のスレへ
【ゲームエンジン】Unityなんでも質問スレpart1
http://mevius.5ch.net/test/read.cgi/gamedev/1530167116/ >>667
違いがわかるまで、update使ってるがよろし。
違いがわかる頃には、fixedとの答えもきっと出ているだろう♪ Update FixedUpdate 使い分け で検索すると解説してるサイトがたくさん見つかるよ >>672
言い方はあれかもだけど検索すりゃいくらでも出てくること聞かれても感
その中でこう言ってるけどこれどうなのとかならまだわかるけど >>676
ちょっとでも引っかかる人は、このスレ見ない方がいいと思うよ。
教えたい気持ちは良い事だけど、相手の態度に左右される人はここで何か書けば、みんな不幸になる。 ググレカス的なことを書き続けてても誰が幸せになるのかの? まぁそれも読まないでくるからなぁ
質問スレが40で終わったのはそういうのがうざくって建てなかったんだろうな
弟子もこのスレ埋まったら建てるの止めるよ
別スレでゆっくり過ごす シーンを切り替えるボタンを作って
ボタンを押したら3秒後にシーンが切り替わるように
Invokeを使って作ることは出来るでしょうか? Invoke の仕様が指定した時間に動くのだから出来ると思う
やってみてちゃんと動かなかったのかな? そろそろ答えを出そうぜ!!
PlayerPrefs.SetInt( "キー名" , 数字 );
のキー名になる文字列って大文字で付けるもの?
UnityマニュアルだとPascal形式で書いてるけど
いろんなサイトの解説だと、全部大文字が多い
どっちだろ? Windowsで起動したいプロジェクトで、ジャイロセンサーを無効にする方法ってありますか? >>684
参考までに聞きたいのだけど、値を反映しないだけでいいと思うのだが、止めなくてはならない状況を教えてもらえるだろうか? private AsyncOperation async = null;
async = UnityEngine.SceneManagement.SceneManager.LoadSceneAsync( "NextScene" );
if( ! async.isDone ){
// ロード画面を消す処理
}
上記のような AsyncOperation を使って
シーン遷移時のロード時間を読み込んで、ロード画面を消してるんだが
async.isDone が true になってもまだ読み込みが足りないらしく、影の描画などが一瞬うまく表示されなかったりする
シーン遷移時のロード時間を正確に読み込むにはどうすれば良い? >>687
上記のコード通りにやってるならdoneの判定が逆じゃね? なあ?Unityでのゲーム開発者みんな知ってるであろうどっかの会社、入金滞ってねえ?
頼むから2019年最後に大事故とかやめてくれよ・・・・ http://imepic.jp/6Ds0DTnl
こんな感じの箱型のステージ?ってどうすれば作れますか? Unityとは直接関係ないのでふがUnityで作るうえで重要なことの質問いいでふか?(^^
ゲームの設計(ここをこうするとあとから付け足しやすい)とか(^^
そういう作り方を学ぶにはどこに行けばよいのでひょうか?(^^
正直僕の今の技術じゃスパコ化する未来しかないんでふよね(^^ >>693
こういう箱をモデラで作るだけだと思うが… >>694
基本的には拡張性を考慮した設計とかは、学ぶにしても数多く作る、またそれができる先生に教わりながら(結局作りながら)しか身につかないよ。
地頭があれば別だけど、ここで聞いているってことは、超エリートじゃないよね。 迷ったときはシンプルにするのが一番
1関数1機能で 結局、キー名は大文字小文字どっちが一般的なんだ?
なんでそれっぽい意見も出ないんだ? https://www.youtube.com/watch?v=r_VY9r0kvYs&t=94s
この動画の1:01〜あたりの、ボスにXマークがつくアニメーションがありますがこれどういう風に実装してるんでしょうか?
Xをつけるだけなら単純に画像貼り付けですが、アニメーションしてるし、太線から細線になるし、よくわからないです。 2枚絵を用意して、一つ目をたてfill、あとはかるね。 >>695
>>697
ありがとうございまんこ(^^ >>689
やってみたけど駄目だった
シーンの切り替えタイミングはバッチリなんだけど
問題はシーン切り替えた直後は、まだ切り替えたシーンの影の描写が間に合ってなくて
一瞬暗い画面が表示されるところだ >>706
そのローディング画面をいつ消せば良いのかって話
シーン読み込み後に、そのシーンの影が読み込めてないのに
読み込み完了となってしまう 読み込み完了ならアクセス出来る筈なので該当する影がヌルか判断するとか?
ヌルならインボークならコルーチンで待つでは? inspector上にある数値(大きさや位置など)をゲームプレイ中にスライダーを使っていじれるようにするにはどうすればいいですか? >>710
unity インスペクタ スライダー
これですぐ出てきたよ。
調べ方がわからないのかい? オブジェクト生成するときに、Instantiate(Bullet, this.transform);こうやってすると子ので生成させちゃうんだけどthis使ってる位置だからか? instantiateのパラメーターは第一だけでもいいと思うけど
まぁ戻り値がゲームオブジェクトなので戻り値指定して親消したり付けたり出来る >>705
乱暴かつやりたいこととちょっと違うけど、Canvasに最初真っ黒なImage出しといて適当にフェードアウトさせて誤魔化すとか >>717
演出でどうにかするしかないかぁ
unityで開発をした製品になってるゲームはどうやって対応しているのだろ? loadsceneasync ロード時間が足りない
で検索したら、ロード画面を作るとあったけどどうかな。(URLは禁止で弾かれた。ハルシオンブログとかいうところ) 初歩的すぎる質問で申し訳ありません。
[SerializeField]
Text textname;
void Start()
{
textname.text = "test";
}
このスクリプトをCanvasなどに貼り付けてインスペクターのtextnameの所にtextオブジェクトをドロップすると、実行した時にテキストの表示がtestに変わる事はわかったのですが、textname.textとはどういう意味なんでしょうか?
例えば
public int x = 1; は言葉にすると
アクセス修飾子 変数の型の種類 変数の名前 1をxに代入
の順番だと思うのですが、.textは言葉にすると何なんでしょうか?
ネットの解説やサンプルコード等を流用して使う事が出来ても意味がわかってないので身につきません・・・。
スキルは完全未経験でマイクロソフトのC#チュートリアルを終わらせたくらいです。
Unityのスクリプトリファレンスを読んでも意味は書いていないため困っています。
他にも沢山疑問があるのですが、そういうものだと思って覚えるしかないのでしょうか?
本人が理解していないため、UnityではなくC#の質問だったらごめんなさい。。 >>721
https://docs.unity3d.com/ja/2017.4/ScriptReference/UI.Text.html
Textはおっしゃる通り型
そしてtextnameは変数として定義
でText型なのでそこに直接代入するには同じ型が必要
文字列はその型がもっている変数textが保持しているのだ
だから文字列を設定するにはtextに入れるのだ
Text型、string型、int型、色々な型がありそれぞれ適した使い方をするのだ
な感じでわかる? >>721
ざっくり言うと、
Textクラスのtextnameが持ってる
textってプロパティ、って意味。
例えばゲームオブジェクトのインスペクタ見ると、transformがあって、その中にpositionがあるじゃん?それが
transform.position となる。 >>722,723
素早く丁寧な回答ありがとうございます!!
お二方のおかげで疑問に思っていた事がいくつも解決しそうです。
もっとリファレンスを読み込んで頑張ります! やべえマジで分からん‥‥
Unityでの3Dゲームはそれなりにあるわけだから
なにか解決法があるはずなんだよ 単に、
await UnityEngine.SceneManagement.SceneManager.LoadSceneAsync( "NextScene" );
ロード画面を消す処理();
だけだとうまくいかないの? >>727
うまくいかない
シーン読み込み → 影の処理
ってなってるみたいで
それだけだと、影の処理が終わってないのにシーンが切り替わってしまう
仮に影を一切使わないっていうのなら大丈夫だと思う >>727
ごめん
影というより光だわ
一瞬画面が暗くなって、その後明るくなる https://www.youtube.com/watch?v=0HwZQt94uHQ
英語のサイトだけどこれは?この動画だとコルーチンで自前実装してるけどそれこそ黒いImageにDoTweenで出来そうだけど。 >>729
ああ、質問内容の意味がよく分かってなかったわ
影が描画されてないのに、ロード画面を消しちゃったらみっともないところが見えちゃうわけね
単純に1フレーム待ってから消すのがいいんじゃん? >>732
Unityでまともにライティング触った事ないのバレてんぞエアプw 元の質問者もろくに分かってないだろ
ベイクされたものなのか、リアルタイムライトによるもなのか、もう少し自分で調べて問題切り分けしてこい >>734
建物ベイク 主人公&敵リアルタイム
それが分かったとしてどうなる?
解決につながるの? >>735
ロードが画面はuGUIの一枚絵だが
これはシーン読み込みに影響あるの? >>731
1フレしゃ足りないくさい
今は1秒余計に待つっていう、くそ情けないことしてお茶を濁してる・・・ シーン1→ロード画面→シーン2
でシーン2の読み込み完了したからロード画面消した、すると一瞬暗くなって明るくなる?
シーン2が問題あるんじゃね?
もしくはロード画面の消しかたか?
フェードアウトとかしてないとか? >>736
で、どっちが遅いのよ?あるいは両方なのか?
毎度言葉足らずなんだよキミ >>736
これたぶんめちゃくちゃ関係ある気がする
もし表示できてないのがベイクの方だとすると、テクスチャが読み込み終わってないんじゃないか説 ほんと質問者がバカだといつまでも終わらんな。1行のレスで理解してくれる人もいるのに。 >>744
数フレームの遅延でゲーム性に影響あるなら、そんなところにシーンロードいれた設計に問題あり。 >>740
処理が速いハードだったらロードに1秒もかかってないだろうし
最悪、処理が遅いハードだったら1秒たっても間に合わないかもしれない
>>741
悪い、どっちかっていうより
画面全体が暗い、そして徐々に明るくなっていく
>>742
調べてみる だからそういう煽りあいは普通の質問スレでやってくれ
まぁこのスレ埋まれば次建てないから
その時は自分で建てて好きにやってくれ >>748
747じゃないが、正解が欲しいなら再現できるプロジェクトの1つでも公開すべきじゃないか? レスのソースのまま書かれているなら読込完了を待たずにロード画面を消す処理が動いてるのが原因だろうとしか言えない
// 非同期処理はコルーチンを使う
IEnumerator Load(){
// フィールドで保持する必要はない
AsyncOperation async = SceneManager.LoadSceneAsync("NextScene");
// 読込が完了していない間ずっと繰り返す
while(async.isDone == false){
// 処理を次のフレームに持ち越す
yield return null;
}
// 読込完了したら上のループが終わってここに進める
// ここにシーン読込完了の処理を書く
}
そもそもLoadSceneAsyncの正しい使い方はこれだから強いていうなら何から何まで間違ってると思う
むしろよく動かせたな >>752
現在、それと全く同じで書いている。本当に同じ
それで読み込んだシーンの、ライト関係の処理が終わる前にシーンが切り替わってしまうから一瞬暗く表示されてしまう
今は yield return new WaitForSeconds( 1.0f ); で1秒待つっていうダサい処理をしてる
しっかりライト関係の処理をとれないものか? 再現するプロジェクトうpれっつってんだろ
バカなのか? コルーチンじゃダメじゃないか?
まずは、シーン読み込み終了でいつ遷移するか、順を追って確認し直しながらやりなされ。
裏で動くコルーチンははずしてな。 いまasync awaitじゃなくコルーチン使うべき理由って何あるんだっけ 恐らくシーンの問題かと
単独でどう起動してるのかそこらみる為にも再現する最小限のプロジェクト上げたほうが早い >>754
>>755
かまってほしくてわざと引き伸ばしてんだよわかってやれw プロジェクト上げさせたいガイジ多過ぎて草
プリミティブ置いてライトマップだけ焼いたプロジェクト上げてなんて言うか見てみたら?w
あとライトマップ読み込み完了に関するAPIとかリファレンス見ても無いから諦めた方がいい まぁ文字だけじゃ分からないのはしょうがない、本当に解決したいなら>>372みたいにするのがベストたけどね まいったなぁ
以前公式チュートリアルの質問見かけたんでちょっと気になってて
んで久しぶりに2dShootingのチュートしてみようかと思ったら
https://assetstore.unity.com/packages/essentials/tutorial-projects/space-shooter-tutorial-legacy-13866
こんなページになってて
翻訳したら、古くてもう無くなったからDLできないよ
以前DLした人は使ってもOK見たいな感じだった
そりゃ日本のHPからもなくなるわけだ・・・ >>760
こういう障害者に対する適切な対応がわからない… >プロジェクト上げさせたいガイジ
長期間問題解決しないんだから当たり前のことだろw 普通の提案だと思うが何をそんなにキレてんの?w そうだな、あとは解決したいと思う当人がアップするかしないかだけの話。
バカとかガイジとかおやめ。
マウント、とったどー ホントそれ
そういう醜い争いがうざくてもうスレが建たなくなるから結局遊び場が無くなるって事に気付かないのだな
まぁこのスレ無くしたいんだろうな
まいっか >>768
思うにもう解決してるor解決しなくていいんだろうけど、たくさん構ってもらえてるから辞められないんだろうなw もう見てないかもたけどやはりシーンの方かな
ライトの設定がどうなってるか、またいくつあるのか?
ここらも気になるなぁ
ttps://t-tutiya.はてなblog.com/entry/20181112/1542030522 結局ライトマップ読み込み完了のステータスは取れるのか
それが無けりゃハードウェア性能から割り出すしかないじゃん
無いなら無いで終わり
ライトマップ読み込み時に一瞬適用前のライティングが表示されるの自体は仕様だろ 読み込みでなくライトマップが更新されてるんじゃないの? >>773
いやだからライトマップのインポータント設定とか? (Window > Lighting > SettingにあるAuto Generateのチェックを外せってだけのことを何で誰も教えてやらないのか……) 質問する方も答えてる方も馬鹿ばかりだと収集もつかないな 書くアホォに見るアホォ
同じアホォなら書かなきゃ損損 ああなるほど
ライトマップ読み込みで暗くなるからライトマップ自体外せって言ってるアホが大量にいるのか
ライトマップのベイクとロードの違いも分かってない奴もいるっぽいし地獄すぎる >>783
LoadSceneが完了してから走るライト関連の処理なんてベイクしかないしな
読み込み終わってるのにロードが行われてると思ってるとかアホだわ だから、ここは初心者が答えるスレなんだっての
>1くらい読もうね
あと少しでこのスレも終わるからそしたら他で思う存分地獄すぎとか書いてね >>758
プロジェクト上げるのは勘弁してほしい
>>760
やっぱ、ライトマップ読み込み完了は無いのか
それじゃ製品として販売してる3Dゲームはどうしてるんだ?
>>777
もう試した
それじゃ解決しない 一回ビルドして実機で試せよ
そこでも同じ状態なら作り方に問題がある
何も無ければエディタの問題だからライティング設定見直せ 製品版はUnityProでライト拡張機能があるんだよ >>788
もう試してる
>>789
そういうことか
謎が解けたわ
要するに無料版だとこれが限界か ようやくガイジが去ってくれるか
平和なスレになりそうだw >>791,792
だからそういうのは他のスレでやってくら
何度も言わせんな
まぁあと少しで埋まるからとは言え平和に終わらせたい >>793
当然、うまくいかない
AutoGenerate を Off にしてみて
GenerateLighting なんて
ここに質問する前に試してる >>796
遷移後のシーンでも設定したか?
ライティング設定はシーン毎に存在するんだぞ 諸事情でoculusのコントローラー&ヘッドセットを用いた市販のゲームをプレイ中に、同じヘッドセットにunityプロジェクト内のカメラ映像(上記市販ゲームとは別)を表示させたいのですが、どちらかのウィンドウをアクティブにすると映像も切り替わってしまい困っています
何か良い方法はないでしょうか?
unity内のカメラは位置を固定する予定なのでoculusヘッドセットのトラッキング情報は使用しない予定です >>797
当然、全シーン設定した
でもだめだった 最初の質問がシーンの遷移についてで、そして影がどうたらこうたらで・・・
で、周りがエスパーして一生懸命考えると、それは当然やった!キリッ
だから最初からやった事全て言えばいいんだけど、そんなのは無理なのね
こういうのはまず原因を特定しないといけない、シーンの遷移なのか、ライティングなのか、
じゃそのシーンだけなら問題なく動くのか?
ホントにシーン遷移がちゃんとTrueになっているのか?
ライティングがいくつあるのか?DirectionalなのかSpotなのか?
そいう事が全然分からない状況で適切な答えを探す場合、最低限のオブジェクトで再現できるプロジェクトにしてみるしかない
問題切り分けと特定をするためにも一番は本プロジェクトがいいけど
事情があってあげられないなら再現する物を作る
オブジェクトもキューブだけにしてみるとかね
じゃないと何言っても、あ、それ試したで終わるだけ
試してどうなったのかすら書いてない
試した前と後で何か変化はあったのかきっと分からないのだと思う
せめて前後のSSとかあってもいいけどね、それすら上げないのではどうしようもない >>798
>1にも書いてるけどここは初心者向けであって以前にもVR関連の質問あったけど、ここでは煽りさえつかないから
他のUnityスレかVR関係を新設して質問した方がいいと思いますよ とりあえず原因がライトでないことだけは分かる
こんなところで訊いてる奴が原因特定できるわけがない 言うことコロコロ変わるから僕はもうこの子を諦めました
現場からは以上です Unityゲーム制作初心者の知り合いが
今時HDサイズのスマホゲー作ろうとしているから
フルHDにしろって注意してやったわ
フルHD当たり前でもうすぐ4Kの時代なのに何考えてるんだろ…
キャラとかソコソコ動くとか言ってたがそれでもHDは無いと思うw 私なんかだいぶ前からやべぇ奴だってわかってたのでスルーしてましたねw
まぁほとんどの人もわかってたみたいだけど 使い始めたばかりの初心者です。
ローポリUnityちゃんをVuforiaでマーカーの上に出して遊んぼうと思いましたが、iPhone7の実機では髪の毛が背中の方に水平になびいています。
なぜでしょうか?
ついでにHead controlで顔がカメラの方を向くようにしたら、首を曲げたときに髪の毛が前の方にねじれてきました。
Unity 2018のLTS版です。 >>798
オキュラ使ったことないから不確かだけど、カメラのビューポート設定を、xy0.5とかしてみて表示されるか?みてみて。 >>807
unityたゃんのデータ、サンプルプログラム古くない?
古い頃のデータを最新に入れたら角度が90度が曲がってる不具合を見たことあるので。(データは5の頃、当時の最新が2018) >>809
ありがとうございます。
モデルを新そうなoptimized SDとかいうのに入れ替えましたが、やはり挙動がおかしかったです。
ビルドしながら調べていて気がついたのですが、Rigidbodyが付いていないと重力が働かないという理解でもいいでしょうか?
もしかしたからそこが原因かもと思いました。 >>810
自己レスになります。
Rigidbodyを付けたらモデルが見えなくなりました。
無限遠の彼方に落ちていったようです。
PositionのY方向を固定したら表示されました。
首の傾げ方がおかしいのはHead Controlのミスかな…
まさか重力で俯いているとかないよね…
駄文失礼しました。 まずvuforiaの問題かunity ちゃんの問題かだよね
公式のvuforia のサンプルアセットは正常に動いてるのかな? >>802
>>808
回答ありがとうございます
ビューポート設定いじってみたのですがダメでした…
よく考えてみるとunityというよりハードウェア側の問題のような気もするので無理そうですね、諦めます… >>813
たぶんできると思うけど、まだそのレベルじゃないと保留にして先へ進むのも一つ。がんばれ。 Unityの最新バージョンがリリースされるたびに
いつもそれをインストールして置き換えていますか?
けっこう頻繁に更新されるのでめんどくさくて。 >>814
おすすめアセットの紹介くらいしないと、初心者にはわからないと思いますよ。
本当にいいアセットを紹介してくれるなら、買います。 >>816
むしろ長期サポを使ってます。
参考書と違う画面になるとついていけなくなるので。 >>818
助言くださってどうもありがとう。
バージョンのせいなのか、エラーが出てしまった。
スポットライトを追加したら
Realtime indirect bounce shadowing is not supported for Spot and Point lights.
だって。 >>812
公式のサンプルアセットってなんだろうというレベルなのですが、Vuforiaは問題ないみたいです。
Head controlは一旦諦めて、SD Unityちゃんに付属していたサンプルのモーションを付けたらマーカーの上でポーズをつけてくれました。
次はSDサイズのままCandy Rock Starでも踊らせてみようかな。 >>816
しない
バージョン移行すると基本的にエラーが出ると思った方がいい
実際の開発ではプロジェクト開始時点での安定版を使用してリリースまでそのバージョンを使い続ける
ソシャゲとかでアプデ必要な場合はプロジェクト移行を別環境で行うってバグを潰す予定と人員が組まれるレベル >>816
マイナーバージョンアップは都度最新にしてる
Unity Hub使ってないの?ぜんぜん面倒くさくないよ unity初心者です
ざっくりとした質問ですが失礼します
今unityとvision pose というシステムを連携して欲しいという依頼をされているのですが
連携の仕方等わかる方いらっしゃいますか?
もしくは説明しているサイト等教えて頂ければ幸いです…。 初心者板の話じゃないなw
iO調べて作るのがきみの仕事だろw
ここで聞くよりposeの会社のTECと直接話した方がいいよ。 >>821
うちは開始時点から中期までは極力最新版使ってるな
場合によってはβ版に手を出すこともある
運営中に古いバージョンからアップデートする場合、いろんなアセットが対応しなくなってたりして地獄だからな >>823
確かにここ初心者スレなんであなたがunity初心者としてもその話題はどうなのっていうね
公式みたら
>※Unityは今後ご提供予定
って書いてあったから待てばいいんじゃね
まさかそれやってるの?
なら依頼先間違えてるとしか >>816
インスコはハブ使っていろんなバージョン入れてる。
プロジェクトはバージョン上げて使いたい機能があるならあげるのにトライしてもいいけど結構破壊的変更も最近多いからがんがれ
まあフォルダごとコピーしてやれば失敗したところで痛くも痒くもないだろうし手間かかるだけだけど。 背景用に木を作ってるのですが以下の問題にあたり詰まってしまいした
初めにcreateでquadを出して木の画像を貼り付けました
次にterrain の place treeにてedit treeから上のquadを追加してterrianにブラシで設置するまではうまくいきました
しかし出来た木は半分が地面に埋まっていてしまっています これはどう直したらいいのでしょうか?
下の画像 左がプレハブ 右がブラシで設置したものです
https://dotup.org/uploda/dotup.org2025843.png >>828
なぜクワッドなのかあまり知らなくてすまない。
クワッドではなく、ブラシの設定時に直接木の画像指定してみて。
それでできる気がする。うちはそうしてる。 3dオブジェクトに画像貼り付けるやり方じゃないと指定自体が無理でしたちょうど良かったのがquadだったので使ったのです
画像だと指定できないのは私の環境のせいだと思います 無茶するなぁ、と思ったけどよく知らんからどうでしょう。
とりあえず起きてる事は、地面接地位置がクアッドの中心という気がしますので、その座標をコントロールしてやる必要があるかなぁと思います。 クアッドの中心に木の根元が来るような画像にしたり、クアッドのセンターをずらしたり。
この辺初心者ですまぬ。
知ってる人が現れるのをお待ちくだされ… いや申し訳ないです
画像自体いじったら目的は果たせたので解決ですありがとう 画像いじっても解決するだろうけど、素材なおすの面倒そうだから
1.CreateEmptyでGameObjectつくる
2.quadをGameObjectの子にする
3.GemeObjectをy=0に配置したときに木の根元が地面に合うようにquadのyを調整
この状態でGameObjectをprefabにすればいいんじゃないかな 質問失礼いたします。
スクリプト等をいじって保存後に再生ボタンを押して動作確認するとエラー等が出ていないのにうまく動かず、
何回か繰り返していると何も変更していないのにうまく動作する様になる事があるのですが、保存以外にも何か条件や方法あるのでしょうか?(ブラウザの更新ボタンみたいに全て読み込み直す等) >>836
どこか保存されてないなど自分の勘違いかもしれないのでもう少し様子を見て頻繁に再現する様なら再インストールも考えてみます。
ありがとうございました! 開発機 Windows 10 では XInput のゲームパッドを bluetooth接続で使用してて、
ビルド先の実機 Android 9 では同じゲームパッドを DirectInput モードで bluetooth接続してるんだけど、
XInput と DirectInput でボタン、軸がバラバラで途方にくれてる。
ゲームパッドは 8Bitdo N30 Pro 2
コードからは、Input.GetAxis("Vertical") == 1 とかで呼んでるけど、
なんかベストプラクティスとかあるのかな?
[プロジェクト設定]→[入力]で、ボタン、軸の違う XInput と DirectInput コンパチで設定する方法とか? >>838
InputManagerでのゲームパッド完全対応は既製品を網羅して決め打ちするしかないから皆途方に暮れた末にアセットに頼ってるのが現状だよ >>839 どうもありがとう。
なるほど、最終的にはキーコンフィグを自力実装か、アセット頼りになるのか。
Unity 側でOS判定は出来そうだから、開発中は Windows なら XInput で、Android なら DirectInput の
デフォルト設定をコード内で選択するようにするか。
でも、それだと InputManager をコードからいじることになるのか。
Input.GetAxis("Vertical") ← ここの "Vertical" をコードから指定する感じだよね。
結構めんどくさいね。
というか、Input.GetAxis には仮想軸の文字列しか渡せないの? オーバーロードも一つもない?
そんなバカな… 今、InputManager にかわる新しい入力システム InputSystem が出てたことを知った。
キーパッド入力部分のソースコード全部書き直せってか。
ぐぬぬ >>835
シーンに何も置いてない状態で起こるならエディタ側の問題
空のシーンだと正常に動くならライトやらスクリプトやらが悪さしてる >>841
大改修になるけど、今までキー入力のバッファリングが無くて不便だったのがやっと解決されるからアクションゲームとか作ってるなら乗り換えた方がいいよ Input Systemのドキュメント読んで来た
Xbox, PS4, Switchのコントローラーは公式対応で、
その他は汎用HIDを識別とあるがやっぱり自前のマッピングが必要っぽい
未知のコントローラーを検出したらジョイスティックを順番にぐりぐりさせて識別するオートコンフィグさえ実装したら実用レベルだな やはりアセットの方が楽そうだね。
500円とかなら間違いなく買うw >>843 ありがとう、さっそく InputManager から InputSystem に換装してみた。
ゲームパッドは 8Bitdo N30 Pro 2 で検証。
【結果】
// Dpad:十字キー
Gamepad.current.dpad.up.isPressed
Gamepad.current.dpad.down.isPressed
Gamepad.current.dpad.left.isPressed
Gamepad.current.dpad.right.isPressed
⇒ XInput と DirectInput で同じキーが取れる。
// ボタン
Gamepad.current.aButton.isPressed
Gamepad.current.bButton.isPressed
Gamepad.current.xButton.isPressed
Gamepad.current.yButton.isPressed
⇒ XInput :(※N30 Pro 2のボタン表記では取れない)
aButton → Bボタン
bButton → Aボタン
xButton → Yボタン
yButton → Xボタン
⇒ DirectInput :
aButton → Aボタン
bButton → Bボタン
xButton → Xボタン
yButton → Yボタン 【状況】
十字キーは XInput と DirectInput のコンパチが実装出来た。
ボタンは XInput では XBOXコンのボタン配置で取れた…
DirectInput では N30 Pro 2 の表記の任天堂配置で取れた。
InputSystem の XInput でも任天堂のボタン配置で取りたい。
どうにか出来ないものかな?
L、Rはまだ試していない。 >>848 申し訳ない、今回はアセットを購入しない方針で問題を解決したいんだ。 ※L、R は XInput と DirectInput のコンパチが実現してた。
Gamepad.current.leftShoulder.isPressed
Gamepad.current.leftTrigger.isPressed
Gamepad.current.rightShoulder.isPressed
Gamepad.current.rightTrigger.isPressed
⇒ XInput、DirectInput とも
leftShoulder → L1ボタン
leftTrigger → L2ボタン
rightShoulder → R1ボタン
rightTrigger → R2ボタン
で、結局、ボタンの数だけ ButtonControl 型のフィールドを作って、
OSを判定してボタンの参照を渡して解決した。
自分のコードの中では任天堂のボタン配置で入力処理を書いた。
多分、XInput で ABXYボタンがXBOX配置か、任天堂配置で問題が起こるのだろう。 InputSystem 良いね。でも、Unityの初心者向けサイトはまだ InputManager 使うやり方で
説明されてるので、これから Unity 始める人は InputSystem が使いやすいと思う。
さあ、ひとまず開発環境でのゲームパッド問題は解決した。教えてくれた人ありがとう。
次はフレームレートの問題だな。開発機の Windows 10 では普通に 60fpsで開発してたんだけど、
Android 9 の実機では 60fps では厳しくて、30fps にしようと思ったが、さらに古い Android 5 で
動かしたら、20fps 程度じゃないと安定しなかった。
作ってるのは、64マリオみたいな3Dアクションだけど、判定に Ray 投げまくりなので、
fpsが異なる設定の Android の実機で動かすとバグ出まくりだよ… あと ゲームパッドの振動だ。
XInput と DirectInput のコンパチでゲームパッドを振動させる方法があるのかな? というか、InputSystem なら
Gamepad.current.SetMotorSpeeds(1f, 1f);
とかで、開発環境 Windows 10 で XInputモードの 8Bitdo N30 Pro 2 は振動した。
InputSystem やるじゃん! 公式にゲームパッドの振動に対応したんだと思ったが、
デプロイ先 Android 9 で DirectInputモードの 8Bitdo N30 Pro 2 は振動しなかった…
Windows 版は振動対応だけど、Android 版は振動未対応って、ぐぬぬ いや、8Bitdo N30 Pro 2 自体が、DirectInputモードでは振動未対応って可能性もあるね。
誰か、InputSystem の SetMotorSpeeds で、DirectInputモードのゲームパッドを振動させることに
成功したら、教えてくだせえ。
振動ありとなしでは、ゲームの面白さが段違いだよ… というか公式に振動の解説あったわ。
https://docs.unity3d.com/Packages/com.unity.inputsystem@1.0/manual/Gamepad.html
> PS4, Xbox, and Switch controllers, when connected to their respective consoles.
> Only supported if you install console-specific input packages in your Project.
> PS4 controllers, when connected to Mac or Windows/UWP computers.
> Xbox controllers on Windows.
InputSystem の Rumble が Android に対応していない… >>851
そういうときのfixed updateだよ!
そしてそこでinput systemが活きてくる! >> 856
自分は Unity は初学者だけど、Unity の作法通り、FixedUpdate() で Rigidbody に対して処理書いてオブジェクトの動作させてる。
それでも、fps が変化すると、壁を上りきる時とかハシゴを降りる時とか、Ray 処理の微妙な判定で細かい動作バグが出てる現状…
※オブジェクトの動作は全て自前実装。
ゲームパッドのキー入力は Update() で取ってるけどね。 >>857
通常のupdate(描画)のフレームレートはいくら下げてもいいけど、fixed updateのフレームをさげちゃダメだよ InputSystemとMRTKのイベント周りは同じ思想になってる?InputSystemよく知らんのでわからんけど >>858
アドバイスありがとう、FPSは自前で計測するコード書いて表示させてたけど、
FixedUpdate のFPSを確認する発想はなかった。
ゲームのFPSは、設定で vSync を無効にして、コードで Application.targetFrameRate = 20;
とか設定して 20fps にしてた。
で、FixedUpdate のFPSも計測するコード書いて確認したら、50fpsだった。
あれ? FixedUpdate って 50fps なの?って思って調べたら、設定の固定タイムステップが
0.02 になってたんで、0.0167 にしたら、FixedUpdate のFPSも 60fps になってなるほどと思った。
あと、1GB RAM の非力な Android 5 タブレットでも、固定タイムステップ:0.02 で
FixedUpdate 50fps 出てたので、演算は出来てんだと思い、表示が間に合わないのかと推測した。
>>859
ごめん、MRTKのイベントという言葉自体が分からないので調べるわ。 2018くらいからデフォルトが0.0167になったはず fpsを変えると細かいバグが出る件は、Ray 判定の処理を Update から呼んじゃってるからだと気づいた。
物理処理が一定なのに、Ray 判定を 60fps で呼んだり 20fps で呼んだりしたらそりゃ豪快にバグるわな。
プレイヤーがブロックにめり込んだり、地形に埋まったりする。
でもここの処理を弄るのは、コードの根幹部分からの大改修でへこむは…
あとMRTKは複雑で今の自分には必要ないかな。 Unity でのゲーム開発において、Update でやるべきこと・やってはいけないこと、
FixedUpdate でやるべきこと・やってはいけないことを、本質から丁寧に解説してる参考サイトは
本当に少なくて、なおかつ自分のような初心者がテキトーにコードかいても、
ゲームとしてそれなりに動くから後で困る… ざっとネットをあさっても、やはり Raycast は Update に書いて着地判定するとかあるけど、
同じスクリプトで 60fps、20fps で Update で着地判定したらバグるよね? 物理演算は 50fps 固定と想定して。
上からモノ(オブジェクト)が落下してきてるけど、着地(衝突)判定が 20fps なら、着地判定が間に合わなくて、
地面をすり抜けるバグがある。
※アセットとキャラコントローラは使用しない方針
この辺が納得出来ないのは、まだ自分の理解が足りていないからだろうな。 >>864
アセットを買いましょう
時間の無駄です アセットおじさんをこのスレからDestroyするアセットが欲しい DestroyImmediate(キチガイ.アセットおじさん); >>864
たったあれだけの俺のレスでそこまで気づけたのはすごいね
物理挙動がシビアなものを扱うときはfixed updateで、そうじゃなければupdateでいいよ 明けましておめでとうございます!
今年も頑張ってアセット購入しましょう! Invokeで遅延かけてAudioSourse.PlayOnShot呼びたくて色々調べてたんだけどやっぱりどうしようもない?
コルーチン定義すると散らかって悔しいというだけの理由ではあるんだけど >>871
汎用コルーチン作ってAction使って呼び出せば散らからない >>869
アドバイスありがとう。
おかげでスクリプト改善して、致命的な個所は大体追い込めた。
今、3Dアクションゲームの水の面を作ってるんだけど、水中を判定する上手い方法はないかな?
複雑にしたくないので、水面オブジェクトはスタンダードアセットの "Water" で進めてる。
水面の判定はコライダーで出来たけど、水中の判定で良い方法はないかと悩んでた。
ざっくり思いついたのは、プレイヤーが上に Ray を投げて水面があり、かつ水面より自分が低ければ水中みたいな。 >>872
一応それがあるのかありがとう
結局コルーチンになりました >>874
水面って水平じゃないの?
水平なら単純にtransform.position.yでやる >>876
なるほど、とてもシンプルな解決策だと思う。
ありがとう自分では思いつかなかった。
Raycast で想定通り出来なくて困ってたとこだった。
本当にサンキュー おかげで良い感じに水中の挙動実装中だけど、
泳ぐアニメーションを適用したら、泳いでる時、プレイヤーがブロックや壁にめり込むようになった。
確認すると、アニメで3Dモデルは前傾してるのに、カプセルコライダーは立ってる時のままの位置だった。
これは、アニメで3Dモデルが傾いたら、カプセルコライダーも自前で傾ける感じ?
そもそもカプセルコライダーで衝突判定してるのが間違い?
でも、もういろいろ調整して面倒くさいので出来れば、プレイヤーモデルのコライダーの種類は変えたくないなあ。 >>878
腰ノードにカプセルコライダー付ければいいんでない? >>879
なるほど、3Dモデルは腰では分けてなかったので、体ノードにカプセルコライダーつけたら、水中の前傾でのめり込みが解消した。
でも、もともとの歩く時も傾斜しないカプセルコライダー基準で、オブジェクトを掴む判定や、上る・下りる判定をしてたので、
地上と水中でカプセルコライダーを切り替えることが必要かな。
ありがとう。自分では気づけない発想で本当に勉強になって助かる。 前々からちょっと気になってたので質問させてください。
オブジェクトAのクラスAにpublic GameObject objB
としてオブジェクトBをインスペクタ上からクラスAにアタッチした場合って
メモリの使用はBは参照してるって認識でいいんでしょうか?
例えばオブジェクトBのデータ量が100MBあったとして、
Aにアタッチしたらゲーム内で200MB使用してることにならないのかって意味です。 それアタッチじゃなくて参照じゃね?
ゲーム立ち上げてメモリーマネージャーとかで見ればよくね? 質問させて下さい。
update内で
if(enemy.hp == 0)
を条件にエネミーオブジェクトをデストロイして新しいエネミープレファブを生成する処理を書いたとすると、新しいエネミーが出現するまでの間コンソールにenemyがありません的な警告が出続けてしまいます。
この警告は無視しても良いのでしょうか?
それともhp == 0という条件を辞めて他の関数でhpが0になったらenemyAlive = falseなどのフラグをたてて管理すれば良いのでしょうか?
もっと良い方法もあるのでしょうか?
初歩的すぎる質問だと思いますが先輩方の知恵をお貸し頂きたいです。
よろしくお願いいたします。 珍しくまともに質問スレしてるな
3年ぶりくらいか? 書き忘れてしまいました。
作っているのはRPGの様なバトル画面でプレイヤーとエネミーの攻撃力を交互にHPから引くという動作をさせている物です。
今は1vs1で雛形作っていますが、完成後には敵を複数出現させたいと思っています。 >>883
無視しても影響は無いと思うけど、警告は意図しない使われ方だから出てるわけで、出来ればステータス管理用のクラスを別で作ってそれを持たせておいた方がいいね >>883
ありません的なじゃなくて正確な警告文書こうや >>886
回答ありがとうございます!
同じスクリプト内でいろいろ処理してしまってるので管理クラスを別にする方法もためしてみます!
>>887
本当にその通りだと思います、申し訳ありません、、
色々試行錯誤して警告が出なくなってから、もっと良い方法があったのかな?と書き込みしてしまったので警告内容がわかりませんでした。
(nullの文字があった事だけ覚えていたので曖昧な表現になってしまいました)
今後は気をつけます!
ありがとうございました! >>883
if(enemy != null)
とかで、エネミーが存在するときだけ処理すればいい if文は重いので可能な限り減らしましょう
最初のenemyが出てから呼ぶようにしましょう まぁぃまのパソコンやスマホでifの分岐なんかどうでもいい処理
gameobject.find ですら問題ない
結論、気にするな もっと良い処理は所謂オブジェクト思考
enemyさんのhpを減らしてる処理がどこかに在るわけさ、それはenemyさん自信が持ってる可能性あるので、そこで0になったら次のenemyさんを生成してあげるように管理者へ働きかければいいのさ
攻撃あたる→ダメージ分だけhp減らす
ってやってるはずだお 質問チンコ(^^
ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
と言われるのでふが(^^
御覧の通り特にマイナスは使ってないんでふよ(^^
Debug.Log("1枚目のシートの1番目 name=" + mobList.sheets[1].list[10].威力);
原因分かりまんこ?(^^
ちなみにテラシュールさんのスクリプト使ってまふ(^^ >>896
単純に配列のサイズより添字の方が大きいだけ 3Dアクションゲームの水の面を実装中。
開発機 Windows 10 にてPostProcessで水中のブラー表現とかして、良い感じと思ってたが、
デプロイ先 Android 10 でFPSが激落ち。水中で0.7fpsっておい。
また、水面を実装したとたんに、処理落ちで平均20fpsとかになってしまった。
水面はスタンダードアセットの "Water" だけど、そんなに処理食うものなの?
あと、モバイルではPostProcessは無理っぽい感じかな?
なんか昔の記事ではImageEffectとかあったらしいけど今のUnityにはない?
水面・水中実装は必須なので、なんとか処理負荷軽減しなくては。 >>898
いいアセットがありますから、ぜひ買ってください "Water" は設定を見直したら処理負荷が少なくなったので、おそらく問題ない。
問題は、PostProcess で、コレを切ったら、モバイルでFPSが激上がる。
動作リファレンスは Android 9 (Android One S3) ※上では書き間違えた
この機種は、ゲームするには低スペックなので、コレでサクサク動けば問題ないかなと。
もっと言えば、最近の RAM 3GB 程度の Android TV で30fpsで動くことが目標。
PostProcess モバイルでは全然使えんね。ただ画面に水中にいるように、
青緑のフィルターかけたいだけなのに… なら画面全面にimage を半透明で覆えばよくね? >>901, 902
アドバイスありがとう。
今回はひとまず Canvas に "画像" を追加して、青緑の半透明に設定し、
水中判定の時にON, OFFすることによって目的の機能が実装出来た。
が、FPSは、水中で27fpsとか微妙な数値になってしまうので、
もう少し水中動作時の処理負荷の原因を追う必要があるみたい。
でもサンキュー。 >>903
リアルタイムならon offで重さが変わるから、色味に影響のない透明度0.01ぐらいで置いて、処理時間をなるべく変化させないということもあるぎゃ。 RAM3GBとかどんなハイスペスマホだよww
そんなの持ってるやつ数パーセントもいないぞ Unityとは関係ないけどバトルゲームでのアニメーションの時間感覚がわからん
ボタン押す→予備動作→アクション→ヒット→戻るって遷移で
ボタン押してヒットまでの時間を0.33秒にしたら
見せた友人に早すぎてわからんと言われたし…
棒切れで人をポカリと殴るモーションなんだが >>904
ありがとう。今、Canvas に ”画像” 貼る解決法は保留にして、カメラに自作スクリプト付けようと試してた。
void OnRenderImage(RenderTexture src, RenderTexture dest) {
Graphics.Blit(src, dest, material);
}
とかで、試しにマテリアルに "water" のマテリアル渡したら効果が付いた。
よし、初めてシェーダー書くか! と思ったら記述言語 C# じゃない…
青緑半透明をオーバーレイするだけのシェーダーなんだけどね。調べるか。 >>905
RAM 3GBは個人的なアプリ動作の想定値だったけどこれから増えてくると思う。
数年前の RAM 1GB〜2GB時代には、モバイルでUnity制作の3Dゲームは厳しいだろうなと思ってたけど、
RAM 3GB〜4GBの時代になりつつある今、Unityで3Dゲーム開発だ!と思ってここに来たとこ。 >>909
日本人の後進性を舐めすぎ
3GBスマホなんか絶対普及しないから諦めろww 浦島太郎かよ
いまどきキャリアもMVNOも3GB以上しか売ってねーよ ID:UKiA3e/sのビルドターゲットってバージョン何? SIMフリーの低スペ機種とか年寄り専用スマホが3GB
3大キャリアが主力で売ってるのは4GBと6GBだからな 自己レスだけど、青緑透明シェーダー作ったが、普通のサーフェイスシェーダーだと
カメラに付けても半透明の視界が得られず、フラグメントシェーダで青緑透明シェーダーを作成した。
Windows 10 開発機でそこそこ動いて、Android 9 にビルド実行したら、激遅というかまともに動かなかった…
まあ、シェーダーの基本の "き" くらいは体験できたので面白かったけど。
自作シェーダーでも無理となるとキャンバス前面に "画像" 貼り付け? 明らかに処理遅くなるんだよな。 さぁ900越えて加速したね
完走まであと少し愚痴も雑談も歓迎!
頑張っていきましょう! >>917
ぽストプロセスでやるべき?詳しく知らんけど >>919
ありがとう。PostProcess は試したんだけど、モバイルでは激重で使えなかったんだ。
>>920
クライアントに30fpsは死守せよと命じられたからね。まあクライアントも開発者も自分だけど…
プロファイラみたら、結構スクリプトで処理食ってるんで UniRX で Update() と FixedUpdate() を
置き換えた。Start() に UpdateAsObservable とかで全部書くやつ。
結果、あんまり変わんない、自分の使い方が悪いのか… インスペクターにセットしないで他のクラスを使うスクリプトの記述方法ってあるのでしょうか? >>926
なるほど!早速試してみます!
継承というのは: MonoBehaviorの部分を好きなクラス名に変えれば良いんですよね?
継承するクラスは一つしか選べないのでしょうか? C# 継承 複数で検索したら一応解決しました!
調べればすぐ分かることを聞いてしまってごめんなさい。
ありがとうございました! 聞く方もわかっていなければ、答える方も分かっていない典型だな 質問失礼します
3人などの複数人で開発する場合に自分のみが有料アセットを所有しておりそれを使いたい場合のプロジェクトの管理方法はどうするのが一般的ですか? >>924
Updateの呼び出しじゃなくて中身が重たいんだと思われ
deep profile すれば具体的なメソッド名まで追えるから、まずはそれで負荷の高い処理を特定しましょう >>931
アドバイスありがとう。
詳細プロファイルみたら、どうやら処理の中身で gameObject.name.Contains("Hoge") とか
多用してるとこが処理コストが高いっぽい。
地道にプロファイラ見て、重そうな箇所をつぶしていくしかなさそうだね。
自分の使い方がこなれてないので、UniRX 自体は良さそうだと思った。 >>929
確かにわかっていないので今まで通りpublicかシリアライズでインスペクターに表示して他のクラスを貼り付けたオブジェクトを入れています。
なにかこの作業を省略出来る方法はあるのでしょうか?
継承について聞けて調べた事は今後活かせる事もありそうなので感謝しています! Updateの中でFindはさすがにStartでやってキャッシュしないとそりゃそうなるな…… Unityを触り始めた時、プレイヤーやエネミーなど、画面に表示するキャラクターは、GameObjectを継承した子クラスとして作るのかと思っていたのですが、そうではないですよね。
この様なプログラムに初めて触れるので今でも違和感があるのですが、何故この様な仕様になっているのでしょうか?
また、この様な実装方法は、デザインパターンで言うと、何パターンになるのでしょうか?
ご存知の方、いらっしゃいましたら、教えて頂けると嬉しいです。
お願い致します。 >>933
ゲットコンポーネントすればわざわざインスペクタで指定しなくていい
基本他のクラスファイルはそのまま使える
またネームスペース指定してるならusingで指定すれば使えるよ
>>935
ユニティはすべてコンポーネントからの継承
強いて言うならコンポーネントデザインだよ
それが分かった所でプログラム出来るようにはならないから無駄な質問はやめようね 継承が嫌ならインターフェース定義すればいいじゃない >>935
MonoBehaviour を継承して、Update() とか FixedUpdate() とか様々なフックハンドラを実装してく作法だよ。
しいて言えば、GoFのObserver パターンに近いんじゃない。Unity 内部の実装は違うらしけど。
GameObject を継承するんじゃなくて、GameObject に上記の MonoBehaviour 継承クラスを紐づけて動作をさせる。
この仕様だと、GameObject が "複数"の MonoBehaviour 継承クラスの動作を行うことが出来る。
C# は多重継承出来ないでしょ、Unity よく考えられてるシステムだよね。 自分も最初 Unity のスクリプトに違和感というか、なんだろうこれは? と思った。
Unity 以外の他言語経験者というか、自分も職業プログラマの端くれなんで、
Player クラスとか、Enemy クラスを定義するんだよな。とか勝手に思って最初そのように書こうとしてた。
でも、Unity には GameObject という規定クラスがあり、それらに対する作用を MonoBehaviour 継承クラスに
記述して GameObject にアタッチ(紐づけ)するという仕組みを理解してからは、腑に落ちたというか納得出来た。 書いてて思ったけど、GameObject に拡張メソッド書けば良くね? と思って調べたら、やっぱりそうしてる人いた。
処理コストとか気になるけど、静的 Utuil クラスとか書くより、 拡張メソッド書いたらスマートに記述出来る箇所が山ほどある。
>>935 サンキュー めちゃめちゃ良い気づきを頂いたわ。 なるほど。GameObject に MonoBehaviour 継承クラス"型" の変数を自由に設定出来ると。
その "型" を "Component" と言いますと。そして、GameObject.GetComponent<型> で自由に変数を取得出来ますと。
最初からそう教えてくれればいいのに。 Unity 良いね。ほんと好きになったわ。
元々 C# が超強力な言語なんで、とにかくプログラミングが楽しい。 >>942
まあ、みんな一度はそう思うんだけど、ゲームを作ってる以上、次はC#はもちろんUnityならではボトルネックの最適化でつまずくんだよなー そこでJobSystem,Burst,ECSですよ JOBSYSREMとかビジネス啓蒙系のサイトっぽい名前 boolの配列で中身の全てがtrueなら○○するという処理はどうやって書けばスマートですか?
今は配列の要素数が3しかないのでifを使った分岐で力技で動かせて居ますが数が増えたときの事を想像すると頭が痛いです。 if文を3つ書いてるということならforeach使おう 配列数が固定ならFlags付けたenumでビットフラグ使う
動的に増減するなら設計がおかしいんだがLINQのAllを使えば簡単に書ける for(int count = 0; count <= 2; count++)
{
if(配列[count]== true)
{
変数++;
}
}
if(変数 == 3)
{
処理
}
にしてみたのですが微妙ですか?
foreachとlinqはまだ使い方がわからないのですが調べてみます。 1つでもfalseならリターンすればいい
そうすりゃ無駄な変数いらんよ
あとfor で回す場合、<変数.lengthが使えるから増えても問題なし >>952
count <= 2 の 2の部分を変数.lengthにするという事でしょうか?思いつきませんでした!
もし宜しければ
一つでもfalseなら〜の書き方を教えて頂けませんか? false、trueを入れるときに、変数にして+1、-1しとけばいいやん。0以下なら全部true。
不安なら、たまに時間の許す処理の時にチェックサム。 >>955
ありがとうございます!
この短いコードの中に何故forとifの間に{が必要ないのか、(!b[i])が既にboolを表している等、普通に勉強してたら気付かない事ばかりで尊敬します。。
いつかこういうスマートで格好いいコードが書ける様に頑張ります! そこ省略すれば偉いってもんでもないから気をつけてな
コード長くなってくるとこういうとこはすっきり書いたほうが読みやすくはなるけど containsで行けるような
bool[] src = {true, true, false, true};
var list = new List<bool>();
list.AddRange(src);
bool item = false;
if (list.Contains(item)) { /////////////////////////////////////←これ
System.Console.WriteLine("{0}が見つかりました", item);
} else {
System.Console.WriteLine("{0}は見つかりませんでした", item);
} >>945, 946
サンキュー、そういうの教えてもらえるのは、本当に有意義だわ。
自分にはまだ早いので、しばらくベタで悪戦苦闘して経験値つんでからトライするわ。
現在、物理ゲームパッドで遊んでもらう想定で作ってるけど、一応スマホ画面操作に対応しようと思い、
新しい InputSystem で、Canvas の UI ボタンを使ってスマホ画面操作用のコントローラ作ったけど、
一つもコード書かずに物理ゲームパッド想定のゲームにマッピング出来た。InputSystem 凄い。
でもスマホ画面操作でBダッシュジャンプって超絶むずいね、物理コントローラーなら楽勝でBダッシュジャンプ出来るのに… >>963
LINQのメソッドに渡すデリゲートは取り扱いを間違えるとGC対象になるし
それに関してググって出てくる記事がほぼ全て検証も解釈も間違ってるから使うなというのは分かる そう言うことですか
ガベージ関連だと初心者が考えなくても
まぁ、このスレ的には問題なさそうですね だとすると「RINQ がゲームで悪手」というよりデリケート関連が全てのプログラムで悪手であって、メモリー関連の改善待ちとなるのかな?
c#のバージョンによる改善待ちになるのか
まぁ将来的な課題でしょうかね デリゲートがってよりも、Linqで色々繋げると色々コピーがされるしIEnum経由して列挙してくのがアレって話じゃないか? >>967
IEnumerableは一つずつ取り出して処理する為の機能だから、
複製はされないしチェーンの数だけループ発生したりもしないよ
もちろんToArray()で新規配列は生成されるしOrderBy()でも内部で別のループが生まれてしまうがそれはそういう関数だからな >>968
いやもし5段階に組まれてたら下から見るとMoveNext5回呼ばれる事でやっと元のコレクションなりにたどり着くやん
あれインタフェースになってて1番下でのMoveNextでもとのに辿り着くっけ? >>969
例えばこんなLINQがあるとするだろ
var seq = list.Where(A).Where(B).Where(C);
foreach(var n in seq) Console.WriteLine(n);
内部的にはこの処理と同じ
var tmp = list.GetEnumerator();
while(tmp.MoveNext()){
var n = tmp.Current;
if(!A(n)) continue;
if(!B(n)) continue;
if(!C(n)) continue;
Console.WriteLine(n);
}
取り出した要素をチェーンに繋いである関数に順番に渡してるだけ
要素一つにMoveNextを何回も呼んでるわけじゃない Linqを許可しておくとRDBMSみたいに組むやついるからな
ゲームでそんな使い方されたら激重だから、使わないで統一するのが正解かと >>957
これってプログラムするとどんなコードになるのかな?
いまいち浮かばないんだが 3dでPlatform does not support compute shadersこんなエラーが出たんだがよくわかんないんだけどどういうこと?
ユニティちゃんが原因みたいだけどそれ以上はわからなかった そのシェーダーを積んでないから描画できないぞゴルァ、かと。 >>970
そだっけ?その例だとWhereの第一引数に対してMoveNextすることでさらにその上のWhereが返すIEnumにアクセスってなるんじゃ?
Linqのコンパイラでそんな最適化しないでしょ >>976
遅延評価というものがあるし、そもそもWhereが返すのはIEnumでなく値そのものだからそこのところを誤解してる >>974
ダメだわこれ、unityちゃんの配布物全部がshaderエラーになるわ
どうなってるんだ急に Platformがなんちゃらっつってんだからそのへんじゃないの ビルドターゲットをWebGL辺りに変えたんだろ
あれはCompute Shaderが使えないからそんな感じのエラーが出る WhereがIEnum返さなかったら次の人どうやって列挙するの >>977
ついでに言うと遅延評価ってのはまさに後からMoveNextした時に評価されることを指すと思うぞこの場合 >>981-983
実行時の話な
var seq = list.Where(...)が返すのはIEnumだが、
実際にforeach(var n in seq)で遅延評価されるときには一つずつの値を返してるし、それが次のWhereに送られてる
ループの位置を見てみろ、配列は一回しか回ってないだろ? >>984
いやだからその展開式みたいに実行時コードがなるって話あったっけ?
こんぱいられべるでLINQ特化で最適化しないとそうはできないと思うけど、いや俺が知らないだけかもなのでこう最適化されるよーってソースあるなら教えてくれ コルーチンについて質問させてください。
void Start() {
StartCoroutine(A());
}
void Update()
{
Debug.Log("update");
}
IEnumerator A()
{
Debug.Log("A start");
for (int i = 0; i < 10; i++)
{
Debug.Log("A:"+i);
yield return null;
}
}
とやって動かすと、ログが
A Start
A:0
start end
update
update
A:1
になるんですが、最初のUpdateのあとにコルーチンが実行されないのはどうしてですか? とりあえず>>969と>>976から読み取ると、LINQで繋がれたメソッドは全部独立したIEnumerableを返してるような誤解をしてるんだと思う
実際は宣言時にチェーンの最後にあるメソッドが一つのIEnumerableを返すだけだし、間にある他のメソッドは最後のメソッドがデリゲートとして一括で実行する
だからMoveNextは一つの要素に一回ずつしか基本的に呼ばれず、従ってループも一回だけ
これで納得出来ないならもう5個チェーン繋げたら5回ループされてると思っても良いよ、別にそれでも実害は一切無い >>988
いやごめん、むしろお前がなんでそんな理解してるのか分からん。
それはイテレーターを書くためのシンタックスシュガーであって、結局はEnumeから列挙するためにMoveMextやら何やら呼ぶことになると思うが。
そもそもお前が言ってるようなループなんてコード上は展開されないだろ
あくまでもEnumeのMoveNextやらなんやらで列挙されてくだけで。つか自分があげたWhereのどこ見りゃ途中のものも全部前のが返すEnumeを第一引数として受け取りEnumeを返すってのが明らかだと思うが。
その上でWhereを続けた時などにC#上もしくはコンパイラ生成時に最適化がなされる事はあり得るかも?とは思うけどそう言うこと言いたいんじゃないよね >>987
>最初のUpdateのあとにコルーチンが実行されないのは
最初のUpdateはスタート直後に動くんだけど、Updateの間隔は不定なので、最初のスタートのオーバーヘッドがUpdateを遅延させてしまい2回ログが出力されたのかと思う
これを修正するには
Update を FixedUpdate にし
yield return null を yield return new WaitForFixedUpdate() にする事で解決は出来る
UpdateとFixedUpdate の動作の違いによる処理の仕様なのかな、一言で言うと >>989
率直に言ってお前は何を主張したいの?
まずそれ教えてくれ
そのレスを読むだけだとわざわざ実装のURLまで見せたのにソースも読めない子なんだぁとしか思えん >>991
最初はなんか最適化かなんか俺の知らないのあるの?って感じだったけど、今はなんか勘違いしてる人に諭してあげようかなと思ったけど無駄っぽいからもうどうでもいいかな
最後に言っとくけど、おまいのあげたイテレーターのソース、foreachが一つしか展開されないとか言ってるけど思いっっっっっきり勘違いしてると思うよ
Whereのイテレータ内で展開してるforeachはソースのイナミュレーターを回してるけどそれは前のWhereが返すイナミュラブルを回してて、それはまた別にforeach x展開してるイテレーターによるものだよ。
と言ってそれはシンタックスシュガーによるものだからforeachが何重になってると言うのともまた違う 敵に攻撃するとダメージが数字でポップアップされるという処理を
var pos = 対象の敵オブジェクト.GetComponent<Transform>()して、
ダメージのテキストをプレハブ化した物をInstantiate(プレハブ, pos)で生成したのですが
ダメージのプレハブが敵オブジェクトの子になっているので、敵オブジェクトのHPが0になってDestroyされた瞬間に一緒に消えてしまいます
生成するプレハブの位置を任意のゲームオブジェクトのtransformに重ねるが、子にはしないみたいな事はどうすれば出来るのでしょうか?
transformから位置(座標?)だけを取得する方法がわかれば応用が色々出来そうなのですが >>993
だろ、やっぱり入れ子になってると勘違いしてるよな?
サンプルソース書いてあげたから見てみな
IL_009aのループ一度しか無いし中身の取り出しも一回だけ
その後でLINQメソッドに渡されたデリゲートを適用してそのままループ内の処理に進んでる
https://imgur.com/a/E99qR2O >>995
ダメージテキストのオブジェクトに、新しいスクリプトをつける。
そのスクリプトのstartに、親を放棄させるメソッドを入れる。
ググリワード
transform.parent >>995
Instantiateする際に
GameObject obj =Instantiate(プレハブ, pos)
これでGameObject取得できるので、その後すぐに親を外す
obj.transform.paerent =null
これで敵の子として生成した後に独立する >>996
マジで大丈夫?
そりゃそこのforeachがループにされてるだけでそこにループがネストするなんて話はこれっぽっちもしてないんだが
>>993でもそう説明してるけど分からん?マジでシンタックスシュガーによるイテレーターの実装理解できてないだろお前 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 247日 22時間 41分 28秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。