导图社区 unity入门
本导图介绍了unity3D游戏开发引擎的入门知识,包含unity的基本功能和常用方法,学习之后可以独立开发出简单的游戏程序,适合对游戏开发、虚拟现实、增强现实技术感兴趣的朋友和unity引擎初学者使用。
编辑于2022-10-16 19:46:39 北京市一步步教你构建一个股票模糊搜索框,涉及JavaScript学习、前端设计与编程、股票数据处理、Django网站搭建等各个方面的知识。强烈推荐计算机编程初学者参考尝试,有助于快速提高编程能力。
来自名牌大学博士生的书单推荐。涉及计算机科学、数学、复杂性科学、心理学、社会心理、生物学等等各个学科,帮助大家拓宽眼界,开拓视野,积累知识,走向成功人生。
本模板介绍了计算机学科学术论文检索与阅读的方法,非常适合希望提高学术能力的本科生和研究生学习。模板介绍了论文的相关名词解释、搜索工具、基本结构、阅读方法和原则等内容,有助于提高学生的学术科研能力。
社区模板帮助中心,点此进入>>
一步步教你构建一个股票模糊搜索框,涉及JavaScript学习、前端设计与编程、股票数据处理、Django网站搭建等各个方面的知识。强烈推荐计算机编程初学者参考尝试,有助于快速提高编程能力。
来自名牌大学博士生的书单推荐。涉及计算机科学、数学、复杂性科学、心理学、社会心理、生物学等等各个学科,帮助大家拓宽眼界,开拓视野,积累知识,走向成功人生。
本模板介绍了计算机学科学术论文检索与阅读的方法,非常适合希望提高学术能力的本科生和研究生学习。模板介绍了论文的相关名词解释、搜索工具、基本结构、阅读方法和原则等内容,有助于提高学生的学术科研能力。
unity
unity基础
工作视图
Project
Hierarchy
Scene
Game
Inspector
Console
项目架构
项目
场景A
对象1
组件
对象2
组件
组件
场景B
对象1
组件
对象2
组件
对象3
组件
组件
组件
常用组件
Rigidbody
Collider
Renderer
Particle System
AudioSource
Animation
Animator
Scripts
Prefabs
反复使用的游戏对象
unity脚本程序
常用方法
Awake
脚本初始化
Start
对象或场景初始化
Update
每帧更新
FixedUpdate
每物理时间间隔更新
LateUpdate
每帧更新,在Update之后
OnGUI
用于绘制交互界面,每帧多次调用 布局->重绘->事件
OnDestroy
脚本销毁时调用
规则
unity中任何脚本都继承自MonoBehaviour
类名与文件名相同
避免编写构造函数,用Awake和Start初始化
只有序列化成员能显示在属性查看器中
协同程序语法规则
协程返回值为Enumerator
协程的参数不能加关键字ref或out
C#脚本内必须通过StartCoroutine启动协程
yield语句用yield return代替
在函数Update和FixedUpdate中不能使用yield,但可启动协程
脚本API
Vector3类
三维向量
Input类
获取键盘鼠标输入
Transform组件
控制对象位置、旋转、大小
Time类
与时间相关
Mathf类
处理数学问题
虚拟现实交互场景
光照
光照类型
Directional Light
远距离大光源
Point Light
点光源
Spotlight
类似手电筒
Area Light
均匀发光的矩形
光照模式
Realtime
Mixed
Baked
阴影
Hard
Soft
摄像机
双玩家
切换
天空盒
分类
六面天空盒
反射天空盒
系统天空盒
使用
绑定摄像机
绑定场景
地形
音效
音频组件
Audio Listener
Audio Source
图形界面系统
UGUI
Sprite
图片设置为精灵
图片分割为精灵
Canvas
Canvas组件
三种渲染模式
Screen Space-Overlay
Screen Space-Camera
World Space
Canvas Scaler组件
Constan Pixel Size
Scale With Screen Size
Constant Physical Size
UGUI控件
Image
非交互图像
Raw Image
原始图片
Panel
面板
Text
文本
Button
InputField
Toggle
开关控件
Slider
滑动条
ScrollBar
滚动条
Rect Transform组件
Pivot
轴心点
Anchors
锚点
三种情况
点
线
面
Shuriken粒子系统
粒子系统参数
Initial模块
初始化
持续时间(Duration):粒子系统发射粒子的持续时间
循环(Looping):粒子系统是否循环
预热(Prewarm):当looping开启时,才能启动预热(Prewarm),游戏开始时粒子已经发射了一个周期。
初始延迟(Start Delay):粒子系统发射粒子之前的延迟。注意在prewarm(预热)启用下不能使用此项。
初始生命(Start Lifetime)以秒为单位,粒子存活数量。
初始速度(Start Speed):粒子发射时的速度。
初始大小(Start Size):粒子发射时的大小
初始旋转(Start Rotation):粒子发射时的旋转值。
初始颜色(Start Color):粒子发射时的颜色
重力修改器(Gravity Modifier):粒子在发射时受到的重力影响。
继承速度(Inherit Velocity):---控制粒子速率的因素将继承自粒子系统的移动(对于移动中的粒子系统)。
模拟空间(Simulation Space):粒子系统在自身坐标系还是世界坐标系。
唤醒时播放(Play On Awake):如果启用粒子系统当在创建时,自动开始播放。
最大粒子数(Max Particles):粒子发射的最大数量
Emission模块
发射
Rate发射速率
Bursts粒子爆发
Shape模块
Sphere
Hemisphere
Cone
Box
Mesh
Circle
Edge
Velocity over Lifetime模块
生命周期速度
Limit Velocity over Lifetime模块
生命周期速度限制
Force over Lifetime模块
生命周期作用力
Color over Lifetime模块
生命周期颜色
Color by Speed模块
颜色速度控制
Size over Lifetime模块
生命周期粒子大小
Size by Speed模块
粒子大小的速度控制
Rotation over Lifetime模块
生命周期旋转速度控制
Rotation by Speed
旋转速度控制
External Forces
外部作用力
Collision
碰撞
Triggers
触发
Sub Emitters
子发射器
Texture Sheet Animation
序列帧动画纹理
Renderer
粒子渲染器
物理引擎
刚体
注意事项
父子级关系
动画
脚本
AddForce
AddTorque
属性
Mass表示物体的质量,数值类型为float,默认值为1。大部分物体的质量属性接近于0.1才符合日常生活感官感受,超过10 ,则失去了仿真效果。
Drag表示平移阻力,其数值类型为float,初始值为0,用来表示物体因受阻力而速度衰减的状态。
Angular Drag 旋转阻力,其数值类型为float,初始值为0.05,用于模拟物体因旋转而受到的各方面的影响的现象。
Use Gravity使用重力,表示物体是否受到重力影响,其数据类型是boolean ,初始值为true,该属性设置为false时用来模拟失重现象。
Is Kinematic是否遵循运动学,该属性表示对象是否遵循牛顿运动学物理定理,其数据类型是boolean ,初始值为false。如果该属性设置为true表示该物体运动状态不受外力,碰撞和关节的影响,而只受到动画以及附加在物体上的脚本影响,但是该物体仍然能改变其他物体运动状态,例如游戏中倒下的敌人始终不动 ,就是利用这个属性 。
Interpolate 插值,还属性表示的是该物体运动的插值模式,默认状态下是被禁用的。选择该模式时,在此模式下物理引擎会在物体的运动帧之间进行插值,使得运动更加自然。另外插值导致了物理模拟和渲染的不同步,进而产生物体轻微抖动现象,建议可以对主要角色使用插值,而其他的则禁用此功能,以达到折中的效果。None表示没有插值,Interpolate表示根据上一桢的位置来做平滑插值,Extrapolate表示根据预测的下一桢的位置来做平滑插值
Freeze Rotation冻结旋转,该属性表示的是该物体的旋转是否受到物理定理的约束。默认状态下任意轴的旋转是受物理定律控制的,该属性的值是修改在每个轴上的旋转属性来实现的。例如在第一人称射击游戏中,通过去除该属性的控制,可以使玩家完全控制视角旋转。
Collision Detection碰撞检测模式,默认状态时Discrete。在没有发生碰撞检测的情况下,碰撞物体会穿过对方,产生所谓 穿透现象。碰撞模式有不连续模式(Discrete),连续模式(Continuous)和动态连续模式(ContinuousDynamic),动态连续模式适用于高速运动的物体,连续模式仅仅可以用于球体,胶囊和盒子碰撞者的刚体,而且会严重影响物体的运动表现,因此大部分采用不连续模式。
方法
AddForce
AddTorque
AddForceAtPosition
AddExplosionForce
MovePosition
MoveRotation
碰撞器
Box Collider
盒碰撞器
Sphere Collider
球形碰撞器
Capsule Collider
胶囊碰撞器
Mesh Collider
网格碰撞器
Wheel Collider
车轮碰撞器
Terrain Collider
地形碰撞器
碰撞事件
碰撞条件
两个物体必须有Collider组件
至少有一个物体带有刚体
必须有相对运动
碰撞事件函数
OnCollisionEnter
开始碰撞
OnCollisionExit
结束碰撞
OnCollisionStay
碰撞的每一帧
触发器
触发事件函数
OnTriggerEnter
进入触发器区域时调用
OnTriggerExit
OnTriggerStay
物理材质
反弹系数
摩擦系数
射线
两个类
Ray射线类
RaycastHit射线投射碰撞信息类
collider
与射线碰撞的碰撞器
distance
起点到碰撞点距离
normal
射入平面的法向量
point
与碰撞器交点的Vector3坐标
方法
Ray Camera.main.ScreenPointToRay(Vector3 position)
Ray Camera.main.ViewPointToRay(Vector3 position)
向屏幕一点发射射线