unity 傅老师学习

辅助插件 I tweeen anmition

补充valueto       https://www.bilibili.com/read/cv103358

开关门 iTween event脚本  iTween.GetEvent(this.gameobjet,"door close").play();

http://wiki.unity3d.com/index.php/AlphaVertexLitZ   解决着色器半透明度问题

第三方粒子特效:

Elemental Free在這裡: https://share.weiyun.com/3569aa97a3d51bb8cde639c37f1260c7

来自 <https://www.bilibili.com/video/av14480171>

关卡创建插件:

Create Level Tool  根据地图快速创建关卡  修改下代码增加间距

人物插件:Unity chan  产生角色

Unity简单建模插件:

SabreCSG Level Design Tools   通过增减

export obj:

https://share.weiyun.com/5HhBlzw

来自 <https://www.bilibili.com/video/av14573701>

利用GIMP  high map   去饱和度  调整亮度和对比度  黑白明显  高度

xnormal   high map  to normal  map;  法线

放到 material  中

材质球中metallic环境光   smothness反射光   调整亮度

ctrl多选

Ctrl+shift+f

就是把物体transform同步成视口的

来自 <https://www.bilibili.com/video/av14573701>

Alt+左键  环视

Master cube   贴图拉伸

Poster Processing Stack

使用Fungus制作NPC对话

道具背包  inventory system

https://share.weiyun.com/48d8399639512ee42d38dcc9c1671868

来自 <https://www.bilibili.com/video/av15020512>

当计算时间播放动画时由于斜边应用勾股定理导致有根号2倍关系  速度变快

解决方法:论文:

https://arxiv.org/ftp/arxiv/papers/1509/1509.06344.pdf

解决·用trigger触发器jump时按两次jump有累加问题:

在状态机上加入behavior      FSMClearSignals;用数组存信号

用animator.ResetTrigger砍掉其他多余状态

动画 伴随代码

可以把它套接出去   例如 增加自己写的脚本 FSMOnEnter  用sendmessage

声明数组public string[] onEnterMessage;

在OnStateEnter方法中可以写:

Foreach(var msg in onEnterMessage)

Animator.gameObject.SendMessage(msg);//朝自己这个物体发送信息

Animator.gameObject.SendMessageUpwards(msg);//朝上发信息  母物件

然后在外面只需声明与发送的消息同名的函数即可进行操作

东西尽量不要塞到第二层或更多层

用ctrl+f整体替换

1.首先创建基础场景,做人物控制

声明public 变量会在界面显示出来,因此声明keyup,right,down,left

利用input.getkey函数获取输入 声明Dup,Dright,targetDup

,TargetDright获取差值,接着利用mathf.smoothdamp函数平滑变换到目标值

实现软开关,禁用模块

声明bool inputenabled=true

然后控制targetdup target的值为0

2.汇入素材

调整材质球的tiling控制贴图大小

人物可以放在一层空物件下 空handle 里面才是模型

调整碰撞器的center值

3.动画控制器

Idle walk run jump

Create-》animator controller

注意转出humanoid

一维混合状态树:create-from new blend tree,

重命名 然后会自动给一个变量控制混合的大小 自己修改名称

4.控制动画

AcorCOntroller

获取model animator playerinput组件

在awake函数里

playerinput模块加在player空物件上,

ActorController控制角色动画:

1.灌入模型 GameObject model

2.获得model上的actor组件:写在awake函数里

Anim=model.GetComponent<Animator>();

可以通过【SerializeField】使其可见

3.获取输入组件

PlayerInput Pi=GetCOmpoent《input》();

在update里

Anim.setfloat("forward")调变动画

原文地址:https://www.cnblogs.com/wtblogwt/p/10585113.html

时间: 2024-11-14 01:19:14

unity 傅老师学习的相关文章

【Unity 3D】学习笔记二十七:unity游戏脚本(七)

使用C#编写游戏脚本 在前面提到,unity支持三种语言编写脚本:js,C#,boo.入门的时候建议只用js,因为js比较简单易懂,语法也不是很严格.但后来晋级的时候推荐使用C#,因为它比较符合unity的编程思想,执行效率更高.下面总结下怎么使用C#编写脚本. 继承MonoBehaviour类 在unity中,任何一个脚本,包括上述三种语言都需要去继承MonoBehaviour这个类.为什么我们之前写JS代码的时候没有继承咧?因为在创建JS代码的时候,系统会将其类名与继承关系隐藏起来. 在pr

【Unity 3D】学习笔记三十五:游戏实例——摄像机切换镜头

摄像机切换镜头 在游戏中常常会切换摄像机来观察某一个游戏对象,能够说.在3D游戏开发中,摄像头的切换是不可或缺的. 这次我们学习总结下摄像机怎么切换镜头. 代码: private var Camera0: GameObject; private var Camera1: GameObject; private var Camera2: GameObject; private var Camera: GameObject; function Start() { //获取摄像机对象 Camera =

【Unity 3D】学习笔记二十八:unity工具类

unity为开发者提供了很多方便开发的工具,他们都是由系统封装的一些功能和方法.比如说:实现时间的time类,获取随机数的Random.Range( )方法等等. 时间类 time类,主要用来获取当前的系统时间. using UnityEngine; using System.Collections; public class Script_04_13 : MonoBehaviour { void OnGUI() { GUILayout.Label("当前游戏时间:" + Time.t

Unity的shader学习2

下面继续看基于surface的shader代码,基本与Vertex&Fragment shader差不多,只是不能写pass,然后只需要声明surface函数,就能处理所有的事情. 1 Shader "T1/Hero/Diffuse" { 2 Properties { 3 _MainTex ("Base (RGB)", 2D) = "white" {} 4 _Color ("Main Color", Color) =

【Unity 3D】学习笔记四十二:粒子特效

粒子特效 粒子特效的原理是将若干粒子无规则的组合在一起,来模拟火焰,爆炸,水滴,雾气等效果.要使用粒子特效首先要创建,在hierarchy视图中点击create--particle system即可 粒子发射器 粒子发射器是用于设定粒子的发射属性,比如说粒子的大小,数量和速度等.在创建完粒子对象后,在右侧inspector视图中便可以看到所有的粒子属性: emit:是否是使用粒子发射器. min size:粒子最小尺寸. max size:粒子最大尺寸. min energy:粒子的最小生命周期

【Unity 3D】学习笔记三十四:游戏元素——常用编辑器组件

常用编辑器组件 unity的特色之一就是编辑器可视化,很多常用的功能都可以在编辑器中完成.常用的编辑器可分为两种:原有组件和拓展组件.原有组件是编辑器原生的一些功能,拓展组件是编辑器智商通过脚本拓展的新功能. 摄像机 摄像机是unity最为核心组件之一,游戏界面中显示的一切内容都得需要摄像机来照射才能显示.摄像机组件的参数如下: clear flags:背景显示内容,默认的是skybox.前提是必须在render settings 中设置天空盒子材质. background:背景显示颜色,如果没

【Unity 3D】学习笔记二十六:unity游戏脚本(六)

在3D游戏世界中,任何一个游戏对象在创建的时候都会附带Transform(变换)组件,并且该组件是无法删除的,也不应该删除.在unity中,Transform面板一共有3个属性: Position  (位置) Rotation(旋转) Scale(缩放) 这三个值都是用来调整游戏对象在游戏界面中的位置,状态等相关参数. Position  (位置) 任何一个游戏对象的三维坐标都保存在Vector3容器中,该容器记录对象在X轴,Y轴,Z轴的坐标.一旦Vector33容器中的坐标发生变化,那么Sce

【Unity Shaders】学习笔记——SurfaceShader(十一)光照模型

[Unity Shaders]学习笔记——SurfaceShader(十一)光照模型 转载请注明出处:http://www.cnblogs.com/-867259206/p/5664792.html 如果你想从零开始学习Unity Shader,那么你可以看看本系列的文章入门,你只需要稍微有点编程的概念就可以. 水平有限,难免有谬误之处,望指出. LitSphere(Matcap) 发光球体光照模型就是将发光球体的纹理映射在球体上,来实现光照效果.这可以创造一些效果细腻的发光球体效果,但是它不受

【Unity Shaders】学习笔记——SurfaceShader(十)镜面反射

[Unity Shaders]学习笔记——SurfaceShader(十)镜面反射 如果你想从零开始学习Unity Shader,那么你可以看看本系列的文章入门,你只需要稍微有点编程的概念就可以. 水平有限,难免有谬误之处,望指出. Unity内置的高光函数 Unity内置了一种高光光照模型——BlinnPhone. 使用方法如下: Shader "Custom/BlinnPhong"{ Properties { _MainTex ("Base (RGB)", 2D