質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Q&A

解決済

2回答

2359閲覧

3d game kit 内のエフェクトの実装の仕組みがりたい。modelをエフェクトに使ってるとうのは?

退会済みユーザー

退会済みユーザー

総合スコア0

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

0グッド

0クリップ

投稿2020/02/08 06:45

編集2020/03/27 02:30

Unity3D game kit lite です。アセットだけを新しい空のプロジェクトに移動して自分でコードを書きエディタを触ってみたくてこうしてます。

質問内容

質問ですが、どうすれば提示画像の4枚目のような武器を振るときの残像のようなエフェクトを実装できるのでしょうか?参考サイト下記のものを見たり色々調べましたが同じようなことする方法がわかりません**。※取りえず武器を持たせることは後回しにしています。**

またアセットを見ているとmodel にテクスチャーを入れていてスクリプトを見ると動いておわずその場にパッって表示しているだけのような気がします。がそうなのでしょうか?

知っていること

Prafabを作りそれをスクリプトで実装するということは理解しました。

リンクと画像

参考サイト1: https://docs.unity3d.com/ja/2018.4/Manual/comp-Effects.html
参考サイト2: https://qiita.com/UnagiHuman/items/ca1007535241c1c4a958

参考動画3: https://www.youtube.com/watch?v=l-NcDKoHWEw&t=362s

スクリプト

using System.Collections; using System.Collections.Generic; using UnityEngine; namespace Gamekit3D { public class TimeEffect : MonoBehaviour { public Light staffLight; Animation m_Animation; void Awake() { m_Animation = GetComponent<Animation>(); gameObject.SetActive(false); } public void Activate() { gameObject.SetActive(true); staffLight.enabled = true; if (m_Animation) m_Animation.Play(); StartCoroutine(DisableAtEndOfAnimation()); } IEnumerator DisableAtEndOfAnimation() { yield return new WaitForSeconds(m_Animation.clip.length); gameObject.SetActive(false); staffLight.enabled = false; } } }

イメージ説明
イメージ説明
イメージ説明

イメージ説明
イメージ説明
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

参考にされているサイトに書いてあるとおりShaderで実装しています
Swishというシェーダのはずなので、それを見ながら中身で何をやっているのかを把握してみてください。

https://qiita.com/UnagiHuman/items/ca1007535241c1c4a958

cs

1Shader "Unlit/Swish" 2{ 3 Properties 4 { 5 _MainTex ("Texture", 2D) = "white" {} 6 [HDR]_Color ("Color", Color) = (1,1,1,1) 7 } 8 SubShader 9 { 10 11 Tags {"Queue" = "Transparent" "RenderType"="Transparent" } 12 ZWrite Off 13 Cull Off 14 Blend SrcAlpha One 15 16 17 Pass 18 { 19 CGPROGRAM 20 #pragma vertex vert 21 #pragma fragment frag 22 // make fog work 23 #pragma multi_compile_fog 24 25 #include "UnityCG.cginc" 26 27 struct appdata 28 { 29 float4 vertex : POSITION; 30 float3 normal : NORMAL; 31 float2 uv : TEXCOORD0; 32 }; 33 34 struct v2f 35 { 36 float2 uv : TEXCOORD0; 37 float4 uv2 : TEXCOORD2; 38 UNITY_FOG_COORDS(1) 39 float4 vertex : SV_POSITION; 40 }; 41 42 sampler2D _MainTex; 43 float4 _MainTex_ST; 44 float4 _Color; 45 46 v2f vert (appdata v) 47 { 48 v2f o; 49 50 o.vertex = UnityObjectToClipPos(v.vertex); 51 o.uv = TRANSFORM_TEX(v.uv, _MainTex); 52 o.uv2 = float4(v.uv, 0 ,0); 53 float4 vertData = tex2Dlod(_MainTex, float4(o.uv, 0, 0)).rrrr; 54 v.vertex.xyz -= v.normal * 0.02; 55 v.vertex.xyz += vertData * v.normal * 0.1; 56 o.vertex = UnityObjectToClipPos(float4(v.vertex.xyz, 1)); 57 UNITY_TRANSFER_FOG(o,o.vertex); 58 return o; 59 } 60 61 fixed4 frag (v2f i) : SV_Target 62 { 63 // sample the texture 64 fixed4 tex = tex2D(_MainTex, i.uv2); 65 fixed4 col = tex2D(_MainTex, i.uv).r * _Color * tex.g * tex.b; 66 // apply fog 67 UNITY_APPLY_FOG(i.fogCoord, col); 68 return col; 69 } 70 ENDCG 71 } 72 } 73}

投稿2020/03/27 02:34

hogefugapiyo

総合スコア3302

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/03/27 06:22

質問ですがシェーダープログラムは何をしてら実行してくれるのでしょうか?インスタンスを生成しましたがシェーダが動いていないたか?動く演出をしてくれません。
guest

0

軌跡をつける方法として簡単な方法としてUnity標準のParticle systemを使うかTrailRendererを使うと簡単に出来ますよ!
Particle System
https://docs.unity3d.com/jp/current/ScriptReference/ParticleSystem.html

Trail Renderer
https://docs.unity3d.com/ja/current/ScriptReference/TrailRenderer.html

TrailRenderer軌跡などで検索すると色々記事が出てきますよ

投稿2020/02/25 11:01

swift_beginner

総合スコア21

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問