﻿<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3AJosef%2FManual%2FAnimation%2FEditors%2FGraph%2FFCurves</id>
	<title>利用者:Josef/Manual/Animation/Editors/Graph/FCurves - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.blender.jp/index.php?action=history&amp;feed=atom&amp;title=%E5%88%A9%E7%94%A8%E8%80%85%3AJosef%2FManual%2FAnimation%2FEditors%2FGraph%2FFCurves"/>
	<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Josef/Manual/Animation/Editors/Graph/FCurves&amp;action=history"/>
	<updated>2026-06-04T11:31:43Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.31.0</generator>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Josef/Manual/Animation/Editors/Graph/FCurves&amp;diff=133601&amp;oldid=prev</id>
		<title>Yamyam: 1版 をインポートしました</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Josef/Manual/Animation/Editors/Graph/FCurves&amp;diff=133601&amp;oldid=prev"/>
		<updated>2018-06-28T20:45:23Z</updated>

		<summary type="html">&lt;p&gt;1版 をインポートしました&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2018年6月28日 (木) 20:45時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Yamyam</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Josef/Manual/Animation/Editors/Graph/FCurves&amp;diff=133600&amp;oldid=prev</id>
		<title>wiki&gt;Josef: /* Snapping */</title>
		<link rel="alternate" type="text/html" href="https://wiki.blender.jp/index.php?title=%E5%88%A9%E7%94%A8%E8%80%85:Josef/Manual/Animation/Editors/Graph/FCurves&amp;diff=133600&amp;oldid=prev"/>
		<updated>2012-01-17T14:31:35Z</updated>

		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Snapping&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{WikiTask/Inprogress|30|good progresses}}&lt;br /&gt;
{{Page/Header|2.5|Doc:2.5/Manual/Animation/Graph Editor|Doc:2.5/Manual/Animation/FCurve_Modifiers}}&lt;br /&gt;
&lt;br /&gt;
= Working with F-Curves =&lt;br /&gt;
&lt;br /&gt;
Once you have created keyframes for something, you can edit their corresponding curves. In Blender 2.5, IPO Curves have been replaced by F-Curves, however, editing these curves is essentially still the same.&lt;br /&gt;
&lt;br /&gt;
== The concept of Interpolation ==&lt;br /&gt;
&lt;br /&gt;
When something is &amp;quot;animated,&amp;quot; it changes over time. In Blender, animating an object means changing one of its properties, such as its X location, or the Red channel value of its material diffuse color, and so on, during a certain amount of time.&lt;br /&gt;
&lt;br /&gt;
As mentioned, Blender's fundamental unit of time is the &amp;quot;frame&amp;quot;, which usually lasts just a fraction of a second, depending on the ''frame rate'' of the scene.&lt;br /&gt;
&lt;br /&gt;
As animation is composed of incremental changes spanning multiple frames, usually these properties ARE NOT manually modified ''frame by frame'', because:&lt;br /&gt;
* it would take ages!&lt;br /&gt;
* it would be very difficult to get smooth variations of the property (unless you compute mathematical functions and type a precise value for each frame, which would be crazy).&lt;br /&gt;
&lt;br /&gt;
This is why nearly all direct animation is done using '''interpolation'''.&lt;br /&gt;
&lt;br /&gt;
The idea is simple: you define a few Key Frames, which are multiple frames apart.&lt;br /&gt;
Between these keyframes, the properties' values are computed (interpolated) by Blender and filled in. Thus, the animators' workload is significantly reduced.&lt;br /&gt;
&lt;br /&gt;
[[File:Manual-Animation-F-Curves-Concept.png|thumb|200px|right|Example of interpolation]]&lt;br /&gt;
&lt;br /&gt;
For example, if you have:&lt;br /&gt;
* a control point of value '''0''' at frame '''0''',&lt;br /&gt;
* another one of value '''10''' at frame '''25''',&lt;br /&gt;
* linear interpolation,&lt;br /&gt;
then, at frame '''5''' we get a value of '''2'''.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The same goes for all intermediate frames: with just two points, you get a smooth growth from '''0''' to '''10''' along the '''25 frames'''.&lt;br /&gt;
Obviously, if you’d like the frame '''15''' to have a value of '''9''', you’d have to add another control point (or keyframe)…&lt;br /&gt;
{{clr}}&lt;br /&gt;
&lt;br /&gt;
== Types of Interpolation ==&lt;br /&gt;
&lt;br /&gt;
Despite of the name “curve”, it might be a set a linear segments, or even a set of discrete values (materialized as a “stairway curve”), depending on the interpolation mode chosen.&lt;br /&gt;
&lt;br /&gt;
== Direction of time ==&lt;br /&gt;
&lt;br /&gt;
Although F-curves are very similar to [[Doc:2.5/Manual/Modeling/Curves#Béziers|Bézier curves]], there are some important differences.&lt;br /&gt;
&lt;br /&gt;
For obvious reasons, '''a property represented by a Curve cannot have more than one value at a given time''', hence:&lt;br /&gt;
&lt;br /&gt;
* when you move a control point ahead of a control point that was previously ahead of the point that you are moving, the two control points switch their order in the edited curve, to avoid that the curve goes back in time&lt;br /&gt;
* for the above reason, it's impossible to have a closed Ipo curve&lt;br /&gt;
&lt;br /&gt;
{| align=right&lt;br /&gt;
|+ '''Two control points switching: the curve can't go back in time!'''&lt;br /&gt;
|-&lt;br /&gt;
|[[File:Manual-Animation-F-Curves-Moving-1.png|frame|Before moving the second keyframe]]&lt;br /&gt;
|[[File:Manual-Animation-F-Curves-Moving-2.png|frame|After moving the second keyframe]]&lt;br /&gt;
|}&lt;br /&gt;
{{clr}}&lt;br /&gt;
&lt;br /&gt;
= Curve Selection =&lt;br /&gt;
By default, when you add keyframes to a channel, the Graph Editor displays them in Edit Mode. Just like in the 3D View, you can toggle the editability of a channel by pressing {{Shortcut|Tab}}. In the Channel Box, the lock icon also toggles between edit and &amp;quot;non-edit&amp;quot; mode.&lt;br /&gt;
&lt;br /&gt;
== Selection Tools ==&lt;br /&gt;
You can select curve handles clicking {{Shortcut|lmb}} (or {{Shortcut|shift|lmb}} for multiple. You can select an entire key by selecting the center point, or just select one the handles&lt;br /&gt;
&lt;br /&gt;
You can also (de)select all visible curves with {{Shortcut|A}} (or {{Menu|Select|Select/Deselect All}}), and do a border-selection with {{Shortcut|B}} (or {{Menu|Select|Border Select}}) – simple {{Shortcut|lmb}} click-and-drag to add to the selection, and {{Shortcut|rmb}} (or {{Shortcut|ctrl|alt|lmb}}) to remove from the selection.&lt;br /&gt;
&lt;br /&gt;
;'''{{Literal|Select All}}''' {{Shortcut|A}}&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Invert Selection}}''' {{Shortcut|Ctrl|I}}&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Border Select}}''' {{Shortcut|B}}&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Border Axis Range}}''' {{Shortcut|Alt|B}}&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Border (include Handles}}''' {{Shortcut|Ctrl|B}}&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Columns on Selected Keys}}''' {{Shortcut|K}}&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Column on current Frame}}''' {{Shortcut|Ctrl|K}}&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Columns on selected Markers}}''' {{Shortcut|Shift|K}}&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Between Selected Markers}}''' {{Shortcut|Alt|K}}&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Before Current Frame}}''' {{Shortcut|[}}&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|After Current Frame}}''' {{Shortcut|]}}&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Select More}}''' {{Shortcut|ctrl|pad+}}&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Select Less}}''' {{Shortcut|ctrl|pad-}}&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Select Linked}}''' {{Shortcut|L}}&lt;br /&gt;
:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Editing Curves =&lt;br /&gt;
&lt;br /&gt;
== Transformations ==&lt;br /&gt;
You can grab ({{Shortcut|G}}), rotate ({{Shortcut|R}}) and scale ({{Shortcut|S}}) the ''selected'' curves (those visible, with white control points/keyframes) – operations also available from the {{Menu|Curve|Transform}} sub-menu.&lt;br /&gt;
&lt;br /&gt;
Additionally, for translation and scaling, you can lock the transformation along the X (time) or Y (value) axis, as usual by hitting {{Shortcut|X}} or {{Shortcut|Y}} during transformation.&lt;br /&gt;
&lt;br /&gt;
You also have the classic “transform snapping” features: holding {{Shortcut|ctrl}} while transforming will snap it to one-frame/one-value steps, while holding {{Shortcut|shift}} will slow down the movement, increasing its precision. Note however that using {{Shortcut|shift|ctrl}} just slows down the movement, without reducing the snapping steps.&lt;br /&gt;
&lt;br /&gt;
== Copying ==&lt;br /&gt;
You can copy one or more keyframes into a buffer, and then paste them into ''the same'' curves. This is done through two header buttons:&lt;br /&gt;
&lt;br /&gt;
*The “copy” {{Shortcut|Ctrl|C}} button (down arrow) copies the ''selected and visible'' curves into the buffer.&lt;br /&gt;
*The “paste” {{Shortcut|Ctrl|V}} button (up arrow) pastes the buffer content into the corresponding ''visible'' curves of the current channel.&lt;br /&gt;
&lt;br /&gt;
Note that this tool is not working (even though available) in “keyframe” mode. And in edit mode, only the selected points are copied/pasted (not the whole curve…).&lt;br /&gt;
&lt;br /&gt;
You can also '''{{Literal|Duplicate}}''' keys through the Key menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Deleting ==&lt;br /&gt;
To delete a keyframe, select it (in “default” mode), and hit {{Shortcut|X}} (or use {{Menu|Curve|Delete}}).&lt;br /&gt;
&lt;br /&gt;
== Snapping ==&lt;br /&gt;
You have some “snap to” options ({{Shortcut|shift|S}} or {{Menu|Key|Snap}}):&lt;br /&gt;
&lt;br /&gt;
*{{Literal|Current Frame}} - This option will move all selected keyframes to the currently active frame.&lt;br /&gt;
*{{Literal|Cursor Value}} – This option will move the selected keyframes to the current position of your 2d cursor in the graph editor.&lt;br /&gt;
*{{Literal|Nearest Frame}} – This will horizontally (timely) move all keyframes of the selected curves to their nearest frame (e.g. a keyframe defined at frame '''23.2''' will be moved at frame '''23''').&lt;br /&gt;
*{{Literal|Nearest Second}} – This will horizontally (timely) move all slected keyframes of the selected curves to their nearest full second (e.g. a keyframe between '''00:02''' and '''00:03''' seconds will move to either '''00:02''' or '''00:03''' depending on which is nearer).&lt;br /&gt;
*{{Literal|Nearest Marker}} – This will horizontally (timely) move all keyframes of the selected curves to the marker nearest to them (see also [[Doc:2.6/Manual/Animation/Markers|Markers]]).&lt;br /&gt;
:{|align=right&lt;br /&gt;
  |+'''“Flatten Handles” snapping example.'''&lt;br /&gt;
  |[[File:Manual-Animation-F-Curves-Flatten-Handles-1.png|thumb|200px|Before {{Literal|Flatten Handles}}.]]&lt;br /&gt;
  |[[File:Manual-Animation-F-Curves-Flatten-Handles-2.png|thumb|200px|After {{Literal|Flatten Handles}}.]]&lt;br /&gt;
  |}&lt;br /&gt;
*{{Literal|Flatten Handles}} – This is only useful with the default F-curves: it will rotate all control points of the selected curves to set them horizontal.&lt;br /&gt;
{{clr}}&lt;br /&gt;
&lt;br /&gt;
== Mirror ==&lt;br /&gt;
You can mirror the selected curves ({{Shortcut|shift|M}} or {{Menu|Curve|Mirror}}), either {{Literal|Over Current Frame}} (i.e. the green cursor), {{Literal|Over Vertical Axis}} (i.e. frame '''0'''), or {{Literal|Over Horizontal Axis}} (i.e. value '''0.0''').&lt;br /&gt;
&lt;br /&gt;
{|align=right&lt;br /&gt;
 |+'''Cleaning and Smoothing examples.'''&lt;br /&gt;
 |[[File:ManAnimationEditorsIpoCurveCleanEx01.png|thumb|200px|An unclean curve (note the two close points at the cursor).]]&lt;br /&gt;
 |[[File:ManAnimationEditorsIpoCurveCleanEx02.png|thumb|200px|Cleaning it (note the quite high threshold).]]&lt;br /&gt;
 |-&lt;br /&gt;
 |[[File:ManAnimationEditorsIpoCurveCleanEx03.png|thumb|200px|Now that our curve is clean…]]&lt;br /&gt;
 |[[File:ManAnimationEditorsIpoCurveSmoothEx01.png|thumb|200px|…We can smooth it!]]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
== Cleaning and Smoothing ==&lt;br /&gt;
You can clean your selected Ipo curves, i.e. remove control points that are very close both in time and value. Hit {{Shortcut|O}} (or use the {{Menu|Curve|Clean Keyframes}} menu entry), set the threshold you like in the dialog that pops-up, and click on {{Literal|OK}}.&lt;br /&gt;
&lt;br /&gt;
There is also an option to smooth the selected curves ({{Shortcut|Alt|O}} or {{Menu|Curve|Smooth Keys}}), but beware: its algorithm seems to be to divide by two the distance between each keyframe and the average linear value of the curve, without any setting, which gives quite a strong smoothing! Note that the first and last keys seem to be never modified by this tool.&lt;br /&gt;
{{clr}}&lt;br /&gt;
&lt;br /&gt;
[[File:ManAnimationEditorsIpoDefaultModeTransformPropertiesPanel.png|thumb|200px|The {{Literal|Transform Properties}} panel of curves in “default” mode.]]&lt;br /&gt;
;{{Literal|Transform Properties}} panel&lt;br /&gt;
:Yes, as in the 3D views – and also shown/hidden with {{Shortcut|N}} (or {{Menu|View|Channel Properties}})! In “default” mode, it’s not much useful, as it only shows (and can edit) the X/Y minima/maxima of visible curves as a whole, hence allowing to scale up/down these curves all together.&lt;br /&gt;
{{clr}}&lt;br /&gt;
&lt;br /&gt;
;'''{{Literal|Sample Keyframes}}''' {{Shortcut|Shift|O}}&lt;br /&gt;
Sampling a set a keyframes replaces interpolated values with a new keyframe for each frame.&lt;br /&gt;
;'''{{Literal|Bake Curves}}'''  {{Shortcut|Alt|C}}&lt;br /&gt;
Baking a curve replaces it with a set of sampled points, and removes the ability to edit the curve. &lt;br /&gt;
&lt;br /&gt;
= Interpolation and Extrapolation =&lt;br /&gt;
F-curves have three additional properties, which control the interpolation between points, extension behavior, and the type of handles.&lt;br /&gt;
&lt;br /&gt;
== Interpolation ==&lt;br /&gt;
:You have three choices ({{Shortcut|T}}, or {{Menu|Curve|Interpolation Mode}}):&lt;br /&gt;
:*{{Literal|Constant}} – There is no interpolation at all. The curveconstantly have the value of its last keyframe, giving a discrete (stairway) “curve”. Very seldom useful.&lt;br /&gt;
:*{{Literal|Linear}} – This simple interpolation creates a straight segment between each neighbor keyframes, giving a broken line. It can be useful when using only two keyframes and the {{Literal|Extrapolation}} extend mode, to easily get an infinite straight line (i.e. a linear curve).&lt;br /&gt;
:*{{Literal|Bezier}} – The more powerful and useful interpolation, and the default one. It gives nicely smoothed curves, i.e. smooth animations!&lt;br /&gt;
:Remember that some Ipo curves can only take discrete values, in which case they are always shown as if constant interpolated, whatever option you chose.&lt;br /&gt;
{|align=center&lt;br /&gt;
 |+'''The three interpolations available for curves.'''&lt;br /&gt;
 |[[File:ManAnimationEditorsIpoInterpolationConstant.png|thumb|200px|Constant.]]&lt;br /&gt;
 |[[File:ManAnimationEditorsIpoInterpolationLinear.png|thumb|200px|Linear.]]&lt;br /&gt;
 |[[File:ManAnimationEditorsIpoCurveExBase.png|thumb|200px|Bézier.]]&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Extrapolation ==&lt;br /&gt;
Extrapolation defines the behavior of a curve before the first and after the last keyframes.&lt;br /&gt;
&lt;br /&gt;
There are two basic extrapolation modes, ({{Shortcut|Shift|E}}, or {{Menu|Channel|Extrapolation Mode}}):&lt;br /&gt;
&lt;br /&gt;
;'''{{Literal|Constant}}'''&lt;br /&gt;
:The default one, curves before their first keyframe and after their last one have a constant value (the one of these first and last keyframes).&lt;br /&gt;
;'''{{Literal|Linear}}'''&lt;br /&gt;
:Curves ends are straight lines (linear), as defined by their first two keyframes (respectively their last two keyframes).&lt;br /&gt;
{{clr}}&lt;br /&gt;
{|align=Center&lt;br /&gt;
|+'''The two extensions available for Ipo curves.'''&lt;br /&gt;
|-&lt;br /&gt;
|[[File:ManAnimationEditorsIpoExtendConstant.png|thumb|150px|Constant.]]&lt;br /&gt;
|[[File:ManAnimationEditorsIpoExtendExtrapolation.png|thumb|150px|Extrapolation.]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{clr}}&lt;br /&gt;
Additional extrapolation tools are located in the [[Doc:2.6/Manual/Animation/Editors/FModifiers|F-Curve Modifiers]]&lt;br /&gt;
&lt;br /&gt;
== Handle Types ==&lt;br /&gt;
There is another curve option quite useful for Bézier-interpolated curves.&lt;br /&gt;
You can set the type of handle to use for the curve points {{Shortcut|V}}&lt;br /&gt;
&lt;br /&gt;
;'''{{Literal|Automatic}}'''&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Vector}}'''&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Aligned}}'''&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Free}}'''&lt;br /&gt;
:&lt;br /&gt;
;'''{{Literal|Auto Clamped}}'''&lt;br /&gt;
:&lt;br /&gt;
{{clr}}&lt;br /&gt;
&lt;br /&gt;
{|align=Center&lt;br /&gt;
|[[File:ManAnimationEditorsIpoCurveBezierUnclampedHandles02.png|thumb|200px|Unclamped]]&lt;br /&gt;
|[[File:ManAnimationEditorsIpoCurveBezierClampedHandles02.png|thumb|200px|Clamped]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{clr}}&lt;br /&gt;
{{Page/Footer|Doc:2.5/Manual/Animation/Graph Editor|Doc:2.5/Manual/Animation/FCurve_Modifiers}}&lt;/div&gt;</summary>
		<author><name>wiki&gt;Josef</name></author>
		
	</entry>
</feed>