77675人加入学习
(316人评价)
【旧版】零基础入门Unity - 古迹探险(Unity2017)

更新于2017-11-18

价格 免费

我用unity2020,贴图效果与老师讲的完全不同,效果不明显

[展开全文]

资源商店AssetStore下载资源,导入import。

Preference-General-Show Asset Store search hits.

[展开全文]

计算摄像机跟hero 的位置

相机组件中创建脚本

public class FollowTager : MonoBehaviour {
	
	public Transform hero;//获取hero的位置

	private Vector3 offset;//偏移

	// Use this for initialization
	void Start () {
		//获取初始偏移
		offset = transform.position - hero.position;//初始位置-偏移位置
	}
	
	// Update is called once per frame
	void Update () {
		transform.position = offset + hero.position;
	}
}

将目标指定给脚本

 

[展开全文]

导航网格  烘培

windows下的navigation

确定navigation Static是勾选上的

确定(地形,石头,树,火堆)物体没有办法穿透

navigation   中的back选项框,进行烘培

 

靠近障碍物的话,就将agent radius的范围变小点

 

先选择物体

不想上石头上NavigationArea  设置为Not Walkable

 

 

添加nav Mesh Agent组件

设置radius,height高矮胖瘦

判断游戏物体是否可以穿过洞穴。。

 

[展开全文]

给灯光添加闪烁 的效果

通过控制Light中的Intensity改变光的强度

 

 

[展开全文]

粒子系统

灯光塔选择右键Effects   particle System

 

Shapa修改形状

start lifetime生命变小0.76左右与火焰贯通

start Speed速度  此时应该是随机的Random between Two Constants

 

找到火花的粒子

创建火花对应的材质

shader-particles/additive

放入材质切图

 

指定粒子系统

Renderer

Material

 

设置粒子动画的播放

Texture sheer animation

4*4

 

start size  火焰大小

Emission粒子数量

rate over time 10个

 

慢慢变小

Size over lifetime

将曲线设置为慢慢变小

 

 

 

[展开全文]

光源

Directional Light直射光

Light组件

Intensity默认是1

当旋转平行光的时候太阳的位置 会发生改变

 

新建光源(右键Light)

Point light点光源

(灯泡)四周发散光源

Range控制范围

Intensity控制强度

 

Spotlight

(手电筒)

Area Light区域光

(烘培使用)

 

 

 

 

 

[展开全文]

传入的参数collision中的属性

collision.collider碰撞器发生碰撞的游戏物体

collision.collider.name名字

collision.collider.tag标签

 

Tip:

两个物体必须都有collider

其中必须一个物体存在刚体Rigidbody,否则没有办法发生碰撞

 

技术文档在

Physics物理

Physics Overview下的coliders

 

 

 

 

 

 

[展开全文]

碰撞检测

每次碰撞只会发生一次

OnCollisionEnter(Collision collision)碰撞开始

OnCollisionExit(Collision collision)碰撞结束

OnCollisionStay(Collision collision) 碰撞中

 

[展开全文]

动画

动画状态机

Animations-新建controller

打开状态机Ctrl+6

使用参数判断状态

 

Has Exit Time取消等待时间

 

在脚本中设置速度的大小

    public Animator anim;//获得动画组件

 

将动画组件拖进脚本中

         anim.SetFloat("speed", agent.velocity.magnitude);

 

 

零基础模仿

抱着不求甚解的心态(认识世界)

 

 

[展开全文]

碰撞检测collision:其中一个设置成为刚体,不会穿过物体;

 

 

触发检测collider:可以穿过物体

将collider中的is Trigger勾选上就是一个触发器

 

将Mesh Renderer   、 Cube (Mesh Filter)移除,就可以隐藏这个碰撞体,但是功能还是存在的(肉眼看不到外观)

 

开始碰撞

OnTriggerEnter(Collider other){

   print("OnTriggerEnter"+other);

   print("OnTriggerEnter"+other.name);

   print("OnTriggerEnter 触发器所在游戏物体的标签"+other.tag);

}

结束碰撞

OnTriggerExit(Collider other){

   print("OnTriggerExit"+other);

   print("OnTriggerEnter"+other.name);

   print("OnTriggerEnter"+other.tag);

}

持续碰撞

OnTriggerStay(Collider other){

   print("OnTriggerStay"+other);

   print("OnTriggerEnter"+other.name);

   print("OnTriggerEnter"+other.tag);

}

 

 

[展开全文]

当前物体与相机保持一致

Main Camera-->

GameObject -->

Align with view (ctrl+shift+f )

 

[展开全文]

在box collider中勾选上 is trigger box collider碰撞器变为触发器

[展开全文]
37.25 · 2020-08-09 · 21-触发检测 1

OnTriggerEnter(Collider other) //开始接触

 

OnTriggerStay(Collider other)  //持续接触

 

OnTriggerExit(COllider other) //停止接触

 

 

[展开全文]

利用ctrl 单位移动  在edit里面snap settings修改单位

v

[展开全文]

f键聚焦,alt+鼠标左键围绕物体观察

 

[展开全文]

授课教师

SiKi学院老师

课程特色

图文(1)
下载资料(1)
视频(32)