Unity2019.4
Fanstasic
这个作者很懒,什么都没留下…
展开
-
Unity 有限状态机
using System.Collections;using System.Collections.Generic;using UnityEngine;public class IdleState : IState{ private FSM manager; private Parameter parameter; private float timer; public IdleState(FSM manager) { this.manag.原创 2022-05-26 16:44:20 · 932 阅读 · 0 评论 -
unity 相机鼠标控制移动旋转缩放
using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class CameraCtrl02 : MonoBehaviour{ private Vector3 newPos; private Vector3 newZoom; private Quaternion newRota; [SerializeField] privat.原创 2022-05-19 16:10:50 · 1232 阅读 · 1 评论 -
Unity MeshAnimator 2.0.16 ShaderMode
1、模型材质shader需全部修改为MeshAinmator内置shader否则会导致动画无法播放2、材质开启GPUInstancing,mesh animator2.0支持网格动画的GPUInstancing3、点击底部bake按钮对动画和材质进行烘焙4、烘焙完成后可得以下资源...原创 2021-10-09 16:07:37 · 2130 阅读 · 1 评论 -
Unity shader 圆形进度条
Shader "Custom/CircularProgressBarShader"{ Properties { _BGTex("Background Texture",2D) = "white"{} //[PerRendererData] _MaskTex("Mask Texture", 2D) = "white" {} _Color("Tint", Color) = (1,1,1,1) _Rate("Ra.原创 2021-09-26 16:09:42 · 712 阅读 · 0 评论 -
Unity 通过接口实现接口的广播
public interface IEndGameObserver{ void EndNotify();}using System.Collections;using System.Collections.Generic;using UnityEngine;public class GameManager : Singleton<GameManager>{ protected override void Awake() { base..原创 2021-09-07 17:16:12 · 275 阅读 · 0 评论 -
Unity 泛型单例
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Singleton<T> : MonoBehaviour where T : Singleton<T>{ private static T instance; public static T Instance { get { return instance;.原创 2021-09-07 16:24:27 · 649 阅读 · 0 评论 -
Unity Editor Script 创建自定义窗口
using System.Collections;using System.Collections.Generic;using UnityEditor;using UnityEngine;public class MyWindow : EditorWindow{ [MenuItem("Window/ShowMyWindow")] static void ShowMyWindow() { MyWindow window = EditorWindow.Get.原创 2021-08-24 18:15:14 · 285 阅读 · 0 评论 -
Unity Editor Script 创建对话框
[MenuItem("Tools/CreateWizard")] static void CreateWizard() { ScriptableWizard.DisplayWizard<EnemyChange>("统一修改敌人"); }using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEditor;publ...原创 2021-08-24 17:03:21 · 623 阅读 · 0 评论 -
Unity ContextMenuItem 和 ContextMenu的使用
using System.Collections;using System.Collections.Generic;using UnityEngine;public class PlayerHealth : MonoBehaviour{ [ContextMenuItem("AddHp","AddHp")]//属性右键新增调用方法 public int startingHealth; public Color flashColor; void AddHp() .原创 2021-08-24 16:50:40 · 793 阅读 · 0 评论 -
Unity Editor Script 新增按钮实现右键删除GameObject
[MenuItem("GameObject/MyDelete", false, 11)] static void MyDelete() { foreach (Object o in Selection.objects) { //GameObject.DestroyImmediate(o);//不可撤回操作 Undo.DestroyObjectImmediate(o);//可撤回操作 }...原创 2021-08-24 16:20:11 · 395 阅读 · 0 评论 -
Unity Editor Script 指定组件右键添加功能按钮
//在指定脚本中右键添加按钮 CONTEXT/组件名/按钮名 [MenuItem("CONTEXT/PlayerHealth/InitHealthAndSpeed")] //MenuCommand : 当前右键点击的组件 static void InitHealthAndSpeed(MenuCommand cmd) { PlayerHealth health = cmd.context as PlayerHealth; health...原创 2021-08-24 16:03:00 · 1478 阅读 · 0 评论 -
Unity Editor Script 创建菜单栏按钮
using UnityEditor;using UnityEngine;public class Tools{ //在unity软件菜单栏上新增Tools //优先级默认为1000 每11个优先级为1组 [MenuItem("Tools/Test/test", false, 1)] static void Test() { Debug.Log("Test"); }}...原创 2021-08-24 15:15:45 · 394 阅读 · 0 评论 -
Unity 设置物体坐标并使用欧拉角设置transform四元数旋转
using System.Collections;using System.Collections.Generic;using UnityEngine;public class TransformTest : MonoBehaviour{ void Start() { SetPosAnRotation(new Vector3(10, 10, 10), new Vector3(10, 10, 10), transform); } //使用欧拉角设置物.原创 2021-08-16 11:07:49 · 555 阅读 · 0 评论 -
Unity 使用HasState判断Animator中是否存在动画
this._animator = transform.GetComponent<Animator>(); int stateid = Animator.StringToHash("wait"); bool hasAction = this._animator.HasState(0, stateid); if (hasAction) { //单一动作重复调用时需要使用Play...原创 2021-07-16 19:51:42 · 2291 阅读 · 2 评论 -
Unity UI拖拽By EventTrigger
UI对象添加EventTrigger组件以及脚本实现拖拽功能using UnityEngine;public class DragByEvent : MonoBehaviour{ private Vector3 startPos; private void Start() { startPos = transform.position; } public void DragMethod() { transform..原创 2021-06-01 21:46:23 · 277 阅读 · 0 评论 -
Unity Lua 实现贝塞尔曲线
--二次贝塞尔function BulletSkill:GetBezierPoint(t, p0, p1, p2) local p0p1 = p0 * (1 - t) + p1 * t local p1p2 = p1 * (1 - t) + p2 * t local result = p0p1 * (1 - t) + p1p2 * t return resultend--三次贝塞尔function BulletSkill:GetTwoBezierPoint(t, p.原创 2021-04-17 18:29:53 · 980 阅读 · 0 评论 -
Unity 对象坐标点自动转换问题
使用预制体创建实例对象后添加父节点,预制体坐标会自动转换为与未添加父节点前的相对坐标,此时添加父节点后应当更改其局部坐标using System.Collections;using System.Collections.Generic;using UnityEngine;public class NewBehaviourScript : MonoBehaviour{ public GameObject tempObject; public GameObject CubeObj原创 2020-11-01 14:07:45 · 422 阅读 · 0 评论 -
Unity3D Tolua Update与定时器的使用
1、Update的使用方法--主入口函数。从这里开始lua逻辑function Main() print("logic start") //tolua框架提供了UpdateBeat,FixedUpdateBeat,LaterUpdateBeat用来做刷新 UpdateBeat:Add(Update,self)end--场景切换通知function OnLevelWasLoaded(level) -- LLoading.start() collectg原创 2020-09-24 15:59:39 · 899 阅读 · 0 评论 -
Unity3d ToLua 设置对象属性
function LLoading:start() print("start start start start") cubeObj = UnityEngine.GameObject.FindGameObjectWithTag("Player"); cubeObj.transform:SetParent(UnityEngine.GameObject.Find("CubeParent").transform) cubeObj.name = "123" cubeObj..原创 2020-09-23 21:16:23 · 299 阅读 · 0 评论 -
Unity3D ToLua插件的使用
插件GitHub下载链接:https://github.com/topameng/tolua1、把插件导入至unity项目中2、把LuaClient脚本挂在场景中,unity控制台输出"logicstart"3、详细请看:https://blog.csdn.net/m0_37556834/article/details/89212926原创 2020-09-23 20:47:12 · 474 阅读 · 0 评论 -
Unity3D 鼠标拖动摄像机左右移动
开发环境:Unity2019.4将脚本挂在Camera上即可using System.Collections;using System.Collections.Generic;using UnityEngine;public class CameraController : MonoBehaviour{ public Vector2 Margin, Smoothing; private Vector2 first = Vector2.zero;//鼠标第一次落下点原创 2020-09-22 19:49:34 · 2843 阅读 · 0 评论